Module: Mesa
Branch: master
Commit: e3e8d13ada6c855e2f87be82c33d20ef9d43a875
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3e8d13ada6c855e2f87be82c33d20ef9d43a875

Author: Samuel Pitoiset <[email protected]>
Date:   Thu Oct  8 13:14:21 2020 +0200

radv: move compiler statistics to ACO

They are really specific to ACO.

Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7061>

---

 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 <iostream>
 #include <sstream>
 
-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;
 };

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to