From dfa8ef723be11e6a893c9d26008e79daee211734 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Thu, 16 Sep 2021 15:02:20 +0100 Subject: [PATCH] radv: fix pipeline caching with robust buffer access Signed-off-by: Rhys Perry Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_pipeline.c | 4 ++++ src/amd/vulkan/radv_private.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 5e24050b4e6..59772f77bc5 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -235,6 +235,10 @@ get_hash_flags(const struct radv_device *device, bool stats) hash_flags |= RADV_HASH_SHADER_FORCE_VRS_2x1; if (device->force_vrs != RADV_FORCE_VRS_1x2) hash_flags |= RADV_HASH_SHADER_FORCE_VRS_1x2; + if (device->robust_buffer_access) /* forces per-attribute vertex descriptors */ + hash_flags |= RADV_HASH_SHADER_ROBUST_BUFFER_ACCESS; + if (device->robust_buffer_access2) /* affects load/store vectorizer */ + hash_flags |= RADV_HASH_SHADER_ROBUST_BUFFER_ACCESS2; return hash_flags; } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index bddba22e840..b548b81dce2 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1677,6 +1677,8 @@ struct radv_event { #define RADV_HASH_SHADER_FORCE_VRS_2x1 (1 << 10) #define RADV_HASH_SHADER_FORCE_VRS_1x2 (1 << 11) #define RADV_HASH_SHADER_FORCE_NGG_CULLING (1 << 13) +#define RADV_HASH_SHADER_ROBUST_BUFFER_ACCESS (1 << 14) +#define RADV_HASH_SHADER_ROBUST_BUFFER_ACCESS2 (1 << 15) void radv_hash_shaders(unsigned char *hash, const VkPipelineShaderStageCreateInfo **stages, const struct radv_pipeline_layout *layout,