diff options
author | Matt Turner <mattst88@gmail.com> | 2022-03-03 15:30:37 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2022-05-09 12:43:36 -0400 |
commit | bb738a5db37f5a5f3472519075001b682c19a4ba (patch) | |
tree | 51359746344fc53180d381f745b943aa5c5b2f5f | |
parent | 2ebf4b15907448db6a768ae57017bc06ce648caf (diff) |
intel/perf: Destination array calculation into function
Cuts 119 KiB from iris_dri.so and libvulkan_intel.so.
text data bss dec hex filename
917511 0 0 917511 e0007 meson-generated_.._intel_perf_metrics.c.o (before)
796986 0 0 796986 c293a meson-generated_.._intel_perf_metrics.c.o (after)
text data bss dec hex filename
14130948 365708 210004 14706660 e067e4 iris_dri.so (before)
14009332 365708 210004 14585044 de8cd4 iris_dri.so (after)
text data bss dec hex filename
8124225 214264 22820 8361309 7f955d libvulkan_intel.so (before)
8002609 214264 22820 8239693 7dba4d libvulkan_intel.so (after)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit 8860ff33105bc756b077a3fefaced892cd867dc8)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16405>
-rw-r--r-- | src/intel/perf/gen_perf.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/intel/perf/gen_perf.py b/src/intel/perf/gen_perf.py index 0666f629163..bdd1de27f1b 100644 --- a/src/intel/perf/gen_perf.py +++ b/src/intel/perf/gen_perf.py @@ -466,8 +466,7 @@ def output_counter_report(set, counter, counter_to_idx, current_offset): current_offset = pot_align(current_offset, sizeof(c_type)) - c("counter = &query->counters[query->n_counters++];\n") - c("intel_perf_query_add_counter(counter, " + idx + ", " + + c("intel_perf_query_add_counter(query, " + idx + ", " + str(current_offset) + ", " + set.max_values[counter.get('symbol_name')] + ", (oa_counter_read_func)" + set.read_funcs[counter.get('symbol_name')] + ");\n") @@ -812,10 +811,11 @@ def main(): const struct intel_perf_query_info *query, const struct intel_perf_query_result *results); static void ATTRIBUTE_NOINLINE - intel_perf_query_add_counter(struct intel_perf_query_counter *dest, + intel_perf_query_add_counter(struct intel_perf_query_info *query, int counter_idx, size_t offset, uint64_t raw_max, oa_counter_read_func oa_counter_read_uint64) { + struct intel_perf_query_counter *dest = &query->counters[query->n_counters++]; const struct intel_perf_query_counter_data *counter = &counters[counter_idx]; dest->name = &name[counter->name_idx]; @@ -870,7 +870,8 @@ def main(): offset = output_counter_report(set, counter, counter_to_idx, offset) - c("\nquery->data_size = counter->offset + intel_perf_query_counter_get_size(counter);\n") + c("\ncounter = &query->counters[query->n_counters - 1];\n") + c("query->data_size = counter->offset + intel_perf_query_counter_get_size(counter);\n") c_outdent(3) c("}"); |