i965: Pass brw_context and assembly separately to brw_dump_compile.
authorMatt Turner <mattst88@gmail.com>
Fri, 9 May 2014 23:15:30 +0000 (16:15 -0700)
committerMatt Turner <mattst88@gmail.com>
Thu, 15 May 2014 22:45:40 +0000 (15:45 -0700)
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@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
src/mesa/drivers/dri/i965/brw_eu.c
src/mesa/drivers/dri/i965/brw_eu.h
src/mesa/drivers/dri/i965/brw_eu_compact.c
src/mesa/drivers/dri/i965/brw_fs_generator.cpp
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp

index 9f0f5148d7b7093f75318bb2915703a34e1e094e..2bb08de447ee7ee77958c30895b3e346abcf0f83 100644 (file)
@@ -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");
    }
 
index d8a35435a7e40a335125085a86dce8bfca429ca2..90e84f866cd24c17b8d6352f6841313590e72f0c 100644 (file)
@@ -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);
    }
 }
index 805c35b3937e4b02979742258811924ba8db6756..75ceec2fcb1a912615627a75047da9eb28d51b34 100644 (file)
@@ -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);
index 54b29fdcd16026a43b0daf4db37a71538b48f4d2..2667ca60c50c23971dc1be5a9a76af1853068a61 100644 (file)
@@ -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;) {
index a9a16ee6ba3eb30d551b2d4945746c47926899c3..f8819da68f584253b7f0f99441e0682dfd2c69b2 100644 (file)
@@ -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);
    }
 }
 
index 305a94c96fca83d5e51eee604d03916e7815a214..cd9c562e708dc357769f741f685acc11566d200a 100644 (file)
@@ -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);
    }
 }