Mesa (master): i965: Pass brw_context and assembly separately to brw_dump_compile.

Matt Turner mattst88 at kemper.freedesktop.org
Thu May 15 22:43:23 UTC 2014


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

Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri May  9 16:15:30 2014 -0700

i965: Pass brw_context and assembly separately to brw_dump_compile.

brw_dump_compile will be called indirectly by code common used by
generations before and after the gen8 instruction format change.

Acked-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp    |    2 +-
 src/mesa/drivers/dri/i965/brw_eu.c               |    8 +++-----
 src/mesa/drivers/dri/i965/brw_eu.h               |    3 ++-
 src/mesa/drivers/dri/i965/brw_eu_compact.c       |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp   |    5 ++---
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp |    6 +++---
 6 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
index 9f0f514..2bb08de 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
@@ -486,7 +486,7 @@ brw_blorp_const_color_program::compile(struct brw_context *brw,
 
    if (unlikely(INTEL_DEBUG & DEBUG_BLORP)) {
       fprintf(stderr, "Native code for BLORP clear:\n");
-      brw_dump_compile(&func, stderr, 0, func.next_insn_offset);
+      brw_dump_compile(brw, &func.store, 0, func.next_insn_offset, stderr);
       fprintf(stderr, "\n");
    }
 
diff --git a/src/mesa/drivers/dri/i965/brw_eu.c b/src/mesa/drivers/dri/i965/brw_eu.c
index d8a3543..90e84f8 100644
--- a/src/mesa/drivers/dri/i965/brw_eu.c
+++ b/src/mesa/drivers/dri/i965/brw_eu.c
@@ -254,14 +254,12 @@ const unsigned *brw_get_program( struct brw_compile *p,
 }
 
 void
-brw_dump_compile(struct brw_compile *p, FILE *out, int start, int end)
+brw_dump_compile(struct brw_context *brw, void *assembly, int start, int end, FILE *out)
 {
-   struct brw_context *brw = p->brw;
-   void *store = p->store;
    bool dump_hex = false;
 
    for (int offset = start; offset < end;) {
-      struct brw_instruction *insn = store + offset;
+      struct brw_instruction *insn = assembly + offset;
       struct brw_instruction uncompacted;
       bool compacted = insn->header.cmpt_control;
       fprintf(out, "0x%08x: ", offset);
@@ -288,6 +286,6 @@ brw_dump_compile(struct brw_compile *p, FILE *out, int start, int end)
 	 offset += 16;
       }
 
-      brw_disasm(out, insn, p->brw->gen, compacted);
+      brw_disasm(out, insn, brw->gen, compacted);
    }
 }
diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h
index 805c35b..75ceec2 100644
--- a/src/mesa/drivers/dri/i965/brw_eu.h
+++ b/src/mesa/drivers/dri/i965/brw_eu.h
@@ -105,7 +105,8 @@ void brw_set_acc_write_control(struct brw_compile *p, unsigned value);
 
 void brw_init_compile(struct brw_context *, struct brw_compile *p,
 		      void *mem_ctx);
-void brw_dump_compile(struct brw_compile *p, FILE *out, int start, int end);
+void brw_dump_compile(struct brw_context *brw, void *assembly,
+                      int start,int end, FILE *out);
 const unsigned *brw_get_program( struct brw_compile *p, unsigned *sz );
 
 struct brw_instruction *brw_next_insn(struct brw_compile *p, unsigned opcode);
diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c b/src/mesa/drivers/dri/i965/brw_eu_compact.c
index 54b29fd..2667ca6 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
@@ -786,7 +786,7 @@ brw_compact_instructions(struct brw_compile *p)
 
    if (0) {
       fprintf(stderr, "dumping compacted program\n");
-      brw_dump_compile(p, stderr, 0, p->next_insn_offset);
+      brw_dump_compile(brw, p->store, 0, p->next_insn_offset, stderr);
 
       int cmp = 0;
       for (offset = 0; offset < p->next_insn_offset;) {
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index a9a16ee..f8819da 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -1802,8 +1802,7 @@ fs_generator::generate_code(exec_list *instructions, FILE *dump_file)
       }
 
       if (unlikely(INTEL_DEBUG & DEBUG_WM)) {
-	 brw_dump_compile(p, stderr,
-			  last_native_insn_offset, p->next_insn_offset);
+	 brw_dump_compile(brw, p->store, last_native_insn_offset, p->next_insn_offset, stderr);
 
 	 foreach_list(node, &cfg->block_list) {
 	    bblock_link *link = (bblock_link *)node;
@@ -1837,7 +1836,7 @@ fs_generator::generate_code(exec_list *instructions, FILE *dump_file)
     * case you're doing that.
     */
    if (dump_file) {
-      brw_dump_compile(p, dump_file, 0, p->next_insn_offset);
+      brw_dump_compile(brw, p->store, 0, p->next_insn_offset, dump_file);
    }
 }
 
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 305a94c..cd9c562 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
@@ -1334,8 +1334,8 @@ vec4_generator::generate_code(exec_list *instructions)
       }
 
       if (unlikely(debug_flag)) {
-	 brw_dump_compile(p, stderr,
-			  last_native_insn_offset, p->next_insn_offset);
+	 brw_dump_compile(brw, p->store,
+			  last_native_insn_offset, p->next_insn_offset, stderr);
       }
 
       last_native_insn_offset = p->next_insn_offset;
@@ -1353,7 +1353,7 @@ vec4_generator::generate_code(exec_list *instructions)
     * case you're doing that.
     */
    if (0 && unlikely(debug_flag)) {
-      brw_dump_compile(p, stderr, 0, p->next_insn_offset);
+      brw_dump_compile(brw, p->store, 0, p->next_insn_offset, stderr);
    }
 }
 




More information about the mesa-commit mailing list