From e3e8d13ada6c855e2f87be82c33d20ef9d43a875 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 8 Oct 2020 13:14:21 +0200 Subject: [PATCH] radv: move compiler statistics to ACO They are really specific to ACO. Signed-off-by: Samuel Pitoiset Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_interface.cpp | 6 +++--- src/amd/compiler/aco_interface.h | 11 +++++++++++ src/amd/vulkan/radv_pipeline.c | 2 +- src/amd/vulkan/radv_shader.c | 2 -- src/amd/vulkan/radv_shader.h | 15 +++------------ 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/amd/compiler/aco_interface.cpp b/src/amd/compiler/aco_interface.cpp index 0edecbcff80..9b3f88e8a26 100644 --- a/src/amd/compiler/aco_interface.cpp +++ b/src/amd/compiler/aco_interface.cpp @@ -29,7 +29,7 @@ #include #include -static radv_compiler_statistic_info statistic_infos[] = { +static aco_compiler_statistic_info statistic_infos[] = { [aco::statistic_hash] = {"Hash", "CRC32 hash of code and constant data"}, [aco::statistic_instructions] = {"Instructions", "Instruction count"}, [aco::statistic_copies] = {"Copies", "Copy instructions created for pseudo-instructions"}, @@ -185,7 +185,7 @@ void aco_compile_shader(unsigned shader_count, size_t stats_size = 0; if (program->collect_statistics) - stats_size = sizeof(radv_compiler_statistics) + aco::num_statistics * sizeof(uint32_t); + stats_size = sizeof(aco_compiler_statistics) + aco::num_statistics * sizeof(uint32_t); size += stats_size; size += code.size() * sizeof(uint32_t) + sizeof(radv_shader_binary_legacy); @@ -201,7 +201,7 @@ void aco_compile_shader(unsigned shader_count, legacy_binary->base.total_size = size; if (program->collect_statistics) { - radv_compiler_statistics *statistics = (radv_compiler_statistics *)legacy_binary->data; + aco_compiler_statistics *statistics = (aco_compiler_statistics *)legacy_binary->data; statistics->count = aco::num_statistics; statistics->infos = statistic_infos; memcpy(statistics->values, program->statistics, aco::num_statistics * sizeof(uint32_t)); diff --git a/src/amd/compiler/aco_interface.h b/src/amd/compiler/aco_interface.h index 12139378feb..ed396b63497 100644 --- a/src/amd/compiler/aco_interface.h +++ b/src/amd/compiler/aco_interface.h @@ -32,6 +32,17 @@ extern "C" { struct ac_shader_config; +struct aco_compiler_statistic_info { + char name[32]; + char desc[64]; +}; + +struct aco_compiler_statistics { + unsigned count; + struct aco_compiler_statistic_info *infos; + uint32_t values[]; +}; + void aco_compile_shader(unsigned shader_count, struct nir_shader *const *shaders, struct radv_shader_binary** binary, diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index f818bd7ac0e..1061225d543 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -5527,7 +5527,7 @@ VkResult radv_GetPipelineExecutableStatisticsKHR( if (shader->statistics) { for (unsigned i = 0; i < shader->statistics->count; i++) { - struct radv_compiler_statistic_info *info = &shader->statistics->infos[i]; + struct aco_compiler_statistic_info *info = &shader->statistics->infos[i]; uint32_t value = shader->statistics->values[i]; if (s < end) { desc_copy(s->name, info->name); diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 7ac93f1a3ad..0c328d8a0df 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -45,8 +45,6 @@ #include "util/debug.h" #include "ac_exp_param.h" -#include "aco_interface.h" - static const struct nir_shader_compiler_options nir_options = { .vertex_id_zero_based = true, .lower_scmp = true, diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index 0e024cf2cdf..9d9491d4361 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -38,6 +38,8 @@ #include "vulkan/vulkan.h" #include "vulkan/util/vk_object.h" +#include "aco_interface.h" + #define RADV_VERT_ATTRIB_MAX MAX2(VERT_ATTRIB_MAX, VERT_ATTRIB_GENERIC0 + MAX_VERTEX_ATTRIBS) struct radv_device; @@ -386,17 +388,6 @@ struct radv_shader_binary_rtld { uint8_t data[0]; }; -struct radv_compiler_statistic_info { - char name[32]; - char desc[64]; -}; - -struct radv_compiler_statistics { - unsigned count; - struct radv_compiler_statistic_info *infos; - uint32_t values[]; -}; - struct radv_shader_variant { uint32_t ref_count; @@ -413,7 +404,7 @@ struct radv_shader_variant { char *nir_string; char *disasm_string; char *ir_string; - struct radv_compiler_statistics *statistics; + struct aco_compiler_statistics *statistics; struct list_head slab_list; };