OSDN Git Service

i965/blorp: Add INTEL_DEBUG=blorp flag.
authorPaul Berry <stereotype441@gmail.com>
Sat, 16 Mar 2013 17:32:21 +0000 (10:32 -0700)
committerPaul Berry <stereotype441@gmail.com>
Mon, 18 Mar 2013 16:27:25 +0000 (09:27 -0700)
This debug flag prints out the native GEN assembly for a blitting
shader produced using BLORP.  Hopefully this should be useful in
developing additional BLORP features.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_context.h

index 37524ad..d4b1fda 100644 (file)
@@ -834,6 +834,12 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
     * terminate the thread.
     */
    render_target_write();
+
+   if (unlikely(INTEL_DEBUG & DEBUG_BLORP)) {
+      printf("Native code for BLORP blit:\n");
+      brw_dump_compile(&func, stdout, 0, func.next_insn_offset);
+      printf("\n");
+   }
    return brw_get_program(&func, program_size);
 }
 
index 7651b46..2df70b7 100644 (file)
@@ -490,6 +490,7 @@ static const struct dri_debug_control debug_control[] = {
    { "aub",   DEBUG_AUB },
    { "shader_time", DEBUG_SHADER_TIME },
    { "no16",  DEBUG_NO16 },
+   { "blorp", DEBUG_BLORP },
    { NULL,    0 }
 };
 
index 5a49603..2df15d4 100644 (file)
@@ -438,6 +438,7 @@ extern int INTEL_DEBUG;
 #define DEBUG_CLIP      0x2000000
 #define DEBUG_AUB       0x4000000
 #define DEBUG_SHADER_TIME 0x8000000
+#define DEBUG_BLORP     0x10000000
 #define DEBUG_NO16      0x20000000
 
 #ifdef HAVE_ANDROID_PLATFORM