[Mesa-dev] [PATCH 4/4] i965/gen8: Print number of instructions directly.
Matt Turner
mattst88 at gmail.com
Mon Jun 2 11:06:05 PDT 2014
---
src/mesa/drivers/dri/i965/gen8_fs_generator.cpp | 6 ++++++
src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp | 3 +++
2 files changed, 9 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
index 3703368..6d455a3 100644
--- a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
@@ -886,6 +886,8 @@ gen8_fs_generator::generate_untyped_surface_read(fs_inst *ir,
void
gen8_fs_generator::generate_code(exec_list *instructions)
{
+ int start_offset = next_inst_offset;
+
struct annotation_info annotation;
memset(&annotation, 0, sizeof(annotation));
@@ -1250,6 +1252,8 @@ gen8_fs_generator::generate_code(exec_list *instructions)
patch_jump_targets();
annotation_finalize(&annotation, next_inst_offset);
+ int before_size = next_inst_offset - start_offset;
+
if (unlikely(INTEL_DEBUG & DEBUG_WM)) {
if (prog) {
fprintf(stderr,
@@ -1264,6 +1268,8 @@ gen8_fs_generator::generate_code(exec_list *instructions)
fprintf(stderr, "Native code for blorp program (SIMD%d dispatch):\n",
dispatch_width);
}
+ fprintf(stderr, "SIMD%d shader: %d instructions.\n",
+ dispatch_width, before_size / 16);
dump_assembly(store, annotation.ann_count, annotation.ann, brw, prog,
gen8_disassemble);
diff --git a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp
index c319ed5..14070cd 100644
--- a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp
+++ b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp
@@ -886,6 +886,8 @@ gen8_vec4_generator::generate_code(exec_list *instructions)
patch_jump_targets();
annotation_finalize(&annotation, next_inst_offset);
+ int before_size = next_inst_offset;
+
if (unlikely(debug_flag)) {
if (shader_prog) {
fprintf(stderr, "Native code for %s vertex shader %d:\n",
@@ -894,6 +896,7 @@ gen8_vec4_generator::generate_code(exec_list *instructions)
} else {
fprintf(stderr, "Native code for vertex program %d:\n", prog->Id);
}
+ fprintf(stderr, "vec4 shader: %d instructions.\n", before_size / 16);
dump_assembly(store, annotation.ann_count, annotation.ann,
brw, prog, gen8_disassemble);
--
1.8.3.2
More information about the mesa-dev
mailing list