vulkan/pipeline_cache: replace raw data objects on cache insertion of real objects
authorDaniel Schürmann <daniel@schuermann.dev>
Thu, 27 Apr 2023 13:13:51 +0000 (15:13 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 2 May 2023 14:33:56 +0000 (14:33 +0000)
commitcbab396f549fa7c1a948d469fe6b4df18a81adc9
treef1bf3e57b2558eafc021c23efcd5f01082ee3580
parentedfc9d9d966f3bd273cc21fd6dc20d9844f42bcc
vulkan/pipeline_cache: replace raw data objects on cache insertion of real objects

It might happen that a raw data object (from pipeline cache creation)
was never looked up, and thus never deserialized, before it gets
inserted again into the cache. In this case, the deserialized object
got replaced by the raw data object.
Instead, replace the raw data object with the real object in the cache.

Fixes: 8b13ee75ba9f27ceac6b6180ca05d321caa13612 ('vulkan: Fall back to raw data objects when deserializing if ops == NULL')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22735>
src/vulkan/runtime/vk_pipeline_cache.c