diff --git a/.pick_status.json b/.pick_status.json index aac6ce28eba..51b73c4e918 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5188,7 +5188,7 @@ "description": "radv: fix shader caching with discard->demote workaround", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "bdd7587414441920743fe476270560722b6beb18" }, diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 997b76261d3..d374bc3e5cf 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -219,6 +219,8 @@ static uint32_t get_hash_flags(struct radv_device *device) hash_flags |= RADV_HASH_SHADER_GE_WAVE32; if (device->physical_device->use_llvm) hash_flags |= RADV_HASH_SHADER_LLVM; + if (device->instance->debug_flags & RADV_DEBUG_DISCARD_TO_DEMOTE) + hash_flags |= RADV_HASH_SHADER_DISCARD_TO_DEMOTE; return hash_flags; } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index c0315fc7aab..fe8de8fac27 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1589,6 +1589,7 @@ struct radv_shader_module; #define RADV_HASH_SHADER_PS_WAVE32 (1 << 2) #define RADV_HASH_SHADER_GE_WAVE32 (1 << 3) #define RADV_HASH_SHADER_LLVM (1 << 4) +#define RADV_HASH_SHADER_DISCARD_TO_DEMOTE (1 << 5) void radv_hash_shaders(unsigned char *hash,