From f3489af02844336bc85d12fe4c3adcc2e3e76b2f Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 10 Dec 2025 10:26:38 +0100 Subject: [PATCH] radv: only include executable size when capturing shaders with RGP This might help RGP to not try to disassemble past s_endpgm and crashes on unknown instructions. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14419 Signed-off-by: Samuel Pitoiset Part-of: (cherry picked from commit 31a24caad9aa8a8631fefb8be15af9c37c3a2378) --- .pick_status.json | 2 +- src/amd/vulkan/layers/radv_sqtt_layer.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 09d05378047..c156f15ff76 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1404,7 +1404,7 @@ "description": "radv: only include executable size when capturing shaders with RGP", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index dc93b930097..55d70a1f214 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -1389,7 +1389,8 @@ radv_fill_code_object_record(struct radv_device *device, struct rgp_shader_data memset(shader_data->rt_shader_name, 0, sizeof(shader_data->rt_shader_name)); shader_data->hash[0] = (uint64_t)(uintptr_t)shader; shader_data->hash[1] = (uint64_t)(uintptr_t)shader >> 32; - shader_data->code_size = shader->code_size; + shader_data->code_size = + shader->exec_size; /* Only include executable size so RGP doesn't try to disassemble constant data. */ shader_data->code = shader->code; shader_data->vgpr_count = shader->config.num_vgprs; shader_data->sgpr_count = shader->config.num_sgprs;