[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