Mesa (master): i965/blorp: allow unit tests to compile and dump assembly

Topi Pohjolainen tpohjola at kemper.freedesktop.org
Fri Dec 27 10:01:18 UTC 2013


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

Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Thu Dec  5 17:59:29 2013 +0200

i965/blorp: allow unit tests to compile and dump assembly

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp |   19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 51a3bef..112a307 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -631,7 +631,8 @@ public:
                           const brw_blorp_blit_prog_key *key);
    ~brw_blorp_blit_program();
 
-   const GLuint *compile(struct brw_context *brw, GLuint *program_size);
+   const GLuint *compile(struct brw_context *brw, GLuint *program_size,
+                         FILE *dump_file = stdout);
 
    brw_blorp_prog_data prog_data;
 
@@ -753,7 +754,8 @@ brw_blorp_blit_program::~brw_blorp_blit_program()
 
 const GLuint *
 brw_blorp_blit_program::compile(struct brw_context *brw,
-                                GLuint *program_size)
+                                GLuint *program_size,
+                                FILE *dump_file)
 {
    /* Sanity checks */
    if (key->dst_tiled_w && key->rt_samples > 0) {
@@ -910,7 +912,7 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
 
    if (unlikely(INTEL_DEBUG & DEBUG_BLORP)) {
       printf("Native code for BLORP blit:\n");
-      brw_dump_compile(&func, stdout, 0, func.next_insn_offset);
+      brw_dump_compile(&func, dump_file, 0, func.next_insn_offset);
       printf("\n");
    }
    return brw_get_program(&func, program_size);
@@ -2368,3 +2370,14 @@ brw_blorp_blit_params::get_wm_prog(struct brw_context *brw,
    }
    return prog_offset;
 }
+
+void
+brw_blorp_blit_test_compile(struct brw_context *brw,
+                            const brw_blorp_blit_prog_key *key,
+                            FILE *out)
+{
+   GLuint program_size;
+   brw_blorp_blit_program prog(brw, key);
+   INTEL_DEBUG |= DEBUG_BLORP;
+   prog.compile(brw, &program_size, out);
+}




More information about the mesa-commit mailing list