From 830aef216ccc1754c9d789e869dc0785db371d54 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 4 Feb 2026 14:15:46 +0100 Subject: [PATCH] radv/meta: fix the key for DCC decompress on compute This could return the graphics DCC pipeline if it was created before, and crash or potentially hang the GPU. Found this while working on in-progress VKCTS coverage. Cc: mesa-stable Signed-off-by: Samuel Pitoiset (cherry picked from commit ad7151f4bf635123b526876f1112fd9a7414b117) Part-of: --- .pick_status.json | 2 +- src/amd/vulkan/meta/radv_meta.h | 1 + src/amd/vulkan/meta/radv_meta_fast_clear.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 634ba708a00..64a54a23581 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -184,7 +184,7 @@ "description": "radv/meta: fix the key for DCC decompress on compute", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/meta/radv_meta.h b/src/amd/vulkan/meta/radv_meta.h index 4401ff72c6c..399c3a1b1da 100644 --- a/src/amd/vulkan/meta/radv_meta.h +++ b/src/amd/vulkan/meta/radv_meta.h @@ -96,6 +96,7 @@ enum radv_meta_object_key_type { RADV_META_OBJECT_KEY_CLEAR_HIZ, RADV_META_OBJECT_KEY_FAST_CLEAR_ELIMINATE, RADV_META_OBJECT_KEY_DCC_DECOMPRESS, + RADV_META_OBJECT_KEY_DCC_DECOMPRESS_CS, RADV_META_OBJECT_KEY_DCC_RETILE, RADV_META_OBJECT_KEY_HTILE_EXPAND_GFX, RADV_META_OBJECT_KEY_HTILE_EXPAND_CS, diff --git a/src/amd/vulkan/meta/radv_meta_fast_clear.c b/src/amd/vulkan/meta/radv_meta_fast_clear.c index 2e873cad239..ba64c2efc4e 100644 --- a/src/amd/vulkan/meta/radv_meta_fast_clear.c +++ b/src/amd/vulkan/meta/radv_meta_fast_clear.c @@ -19,7 +19,7 @@ enum radv_color_op { static VkResult get_dcc_decompress_compute_pipeline(struct radv_device *device, VkPipeline *pipeline_out, VkPipelineLayout *layout_out) { - enum radv_meta_object_key_type key = RADV_META_OBJECT_KEY_DCC_DECOMPRESS; + enum radv_meta_object_key_type key = RADV_META_OBJECT_KEY_DCC_DECOMPRESS_CS; VkResult result; const VkDescriptorSetLayoutBinding bindings[] = {