From 1cd9525b18ddcb0f4edc304db2b5ea748e38dc16 Mon Sep 17 00:00:00 2001 From: Friedrich Vock Date: Thu, 10 Aug 2023 13:53:18 +0200 Subject: [PATCH] radv/sqtt: Write LDS size metadata in code objects Part-of: --- src/amd/vulkan/layers/radv_sqtt_layer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index 17045bef4bc..cfcd49f26c5 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -1105,6 +1105,11 @@ static void radv_fill_code_object_record(struct radv_device *device, struct rgp_shader_data *shader_data, struct radv_shader *shader, uint64_t va) { + struct radv_physical_device *pdevice = device->physical_device; + unsigned lds_increment = pdevice->rad_info.gfx_level >= GFX11 && shader->info.stage == MESA_SHADER_FRAGMENT + ? 1024 + : pdevice->rad_info.lds_encode_granularity; + 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; @@ -1112,7 +1117,7 @@ radv_fill_code_object_record(struct radv_device *device, struct rgp_shader_data shader_data->vgpr_count = shader->config.num_vgprs; shader_data->sgpr_count = shader->config.num_sgprs; shader_data->scratch_memory_size = shader->config.scratch_bytes_per_wave; - shader_data->lds_size = 0; + shader_data->lds_size = shader->config.lds_size * lds_increment; shader_data->wavefront_size = shader->info.wave_size; shader_data->base_address = va & 0xffffffffffff; shader_data->elf_symbol_offset = 0;