From 5773c7bda62ea2be81415c4aaf08310ed8a09cea 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 9242577a705..06ae55ab9a7 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1674,7 +1674,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 e65cc38a9a0..644c083c59e 100644 --- a/src/amd/vulkan/meta/radv_meta.h +++ b/src/amd/vulkan/meta/radv_meta.h @@ -97,6 +97,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 b4462fa2f7c..b5fadeb5dc3 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[] = {