summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFriedrich Vock <friedrich.vock@gmx.de>2023-07-28 18:13:48 +0200
committerMarge Bot <emma+marge@anholt.net>2023-08-22 11:33:11 +0000
commit0c4e92bf3ec585a6cd6eb5eb67ca31e309df109c (patch)
treed7a3043e2015c899007c3b6d3aaadf780ae719a8 /src
parentbe0e3e8e09c143e9d1c49ba01f1aea1256de94cc (diff)
ac/rgp: Write lds_size metadata
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24371>
Diffstat (limited to 'src')
-rw-r--r--src/amd/common/ac_rgp.h1
-rw-r--r--src/amd/common/ac_rgp_elf_object_pack.c5
-rw-r--r--src/amd/vulkan/layers/radv_sqtt_layer.c1
3 files changed, 6 insertions, 1 deletions
diff --git a/src/amd/common/ac_rgp.h b/src/amd/common/ac_rgp.h
index aef658a3940..205e06e9a4f 100644
--- a/src/amd/common/ac_rgp.h
+++ b/src/amd/common/ac_rgp.h
@@ -36,6 +36,7 @@ struct rgp_shader_data {
uint32_t vgpr_count;
uint32_t sgpr_count;
uint32_t scratch_memory_size;
+ uint32_t lds_size;
uint32_t wavefront_size;
uint64_t base_address;
uint32_t elf_symbol_offset;
diff --git a/src/amd/common/ac_rgp_elf_object_pack.c b/src/amd/common/ac_rgp_elf_object_pack.c
index c396866b094..f55fd6b1e50 100644
--- a/src/amd/common/ac_rgp_elf_object_pack.c
+++ b/src/amd/common/ac_rgp_elf_object_pack.c
@@ -132,7 +132,7 @@ ac_rgp_write_msgpack(FILE *output,
ac_msgpack_add_fixstr(&msgpack, hw_stage_string[
record->shader_data[i].hw_stage]);
- ac_msgpack_add_fixmap_op(&msgpack, 5);
+ ac_msgpack_add_fixmap_op(&msgpack, 6);
ac_msgpack_add_fixstr(&msgpack, ".entry_point");
ac_msgpack_add_fixstr(&msgpack, hw_stage_symbol_string[
record->shader_data[i].hw_stage]);
@@ -152,6 +152,9 @@ ac_rgp_write_msgpack(FILE *output,
ac_msgpack_add_fixstr(&msgpack, ".wavefront_size");
ac_msgpack_add_uint(&msgpack,
record->shader_data[i].wavefront_size);
+
+ ac_msgpack_add_fixstr(&msgpack, ".lds_size");
+ ac_msgpack_add_uint(&msgpack, record->shader_data[i].lds_size);
}
/* 5 */
diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c
index 77ea3665fb1..02b2f70b03f 100644
--- a/src/amd/vulkan/layers/radv_sqtt_layer.c
+++ b/src/amd/vulkan/layers/radv_sqtt_layer.c
@@ -1135,6 +1135,7 @@ radv_add_code_object(struct radv_device *device, struct radv_pipeline *pipeline)
record->shader_data[i].vgpr_count = shader->config.num_vgprs;
record->shader_data[i].sgpr_count = shader->config.num_sgprs;
record->shader_data[i].scratch_memory_size = shader->config.scratch_bytes_per_wave;
+ record->shader_data[i].lds_size = 0;
record->shader_data[i].wavefront_size = shader->info.wave_size;
record->shader_data[i].base_address = va & 0xffffffffffff;
record->shader_data[i].elf_symbol_offset = 0;