Giovanni Mascellani (@giomasce) commented about libs/vkd3d/vkd3d_private.h:
#define VKD3D_SHADER_CACHE_OBJ_VERSION 1ull #define VKD3D_SHADER_CACHE_VKD3D_VERSION 1u
+struct vkd3d_render_pass_key +{
- unsigned int attachment_count;
- bool depth_enable;
- bool stencil_enable;
- bool depth_stencil_write;
- bool padding;
- unsigned int sample_count;
- VkFormat vk_formats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT + 1];
+};
Shouldn't we either mark structures used as keys as packed, or at least statically assert that their size is what we expect? I don't think it's happening here, but were we to (here or elsewhere) introduce some padding hashing might become unreliable.