Giovanni Mascellani (@giomasce) commented about libs/vkd3d/state.c:
if (ret) ERR("papa!\n");
- *root_signature = object;
- d3d12_root_signature_AddRef(&object->ID3D12RootSignature_iface);
- /* Why the hash as key and d3d root signature description as value? Because we store
* the root signature hash in pipelines and need a way to look up the root signature
* when we recreate the pipelines.
*
* Alternatively we could use bytecode as key here and store a hash -> bytecode lookup
* at runtime in device->root_signature_cache. I am unsure for now. */
Why not storing the whole root signature bytecode in the pipeline cache, so you don't have to keep another map for resolving root signature hashes?