Skip to content

radv: introduce a per physical device cache key and fix shader binaries compatibility with ESO

Samuel Pitoiset requested to merge hakzsam/mesa:radv_pdevice_cache_key into main

The Vulkan spec says: "Guaranteed compatibility of shader binaries is expressed through a combination of the shaderBinaryUUID and shaderBinaryVersion members of the VkPhysicalDeviceShaderObjectPropertiesEXT structure queried from a physical device. Binary shaders retrieved from a physical device with a certain shaderBinaryUUID are guaranteed to be compatible with all other physical devices reporting the same shaderBinaryUUID and the same or higher shaderBinaryVersion.".

That means the driver has to compile shaders in the worst scenario and all features that affect shaders might be implicitly enabled. Having a per physical device cache key make this more robust.

Fixes dEQP-VK.shader_object.binary.device_features.* on GFX10+ because primitives generated query can affect shaders.

Merge request reports

Loading