[Mesa-dev] [PATCH] i965: Add an INTEL_DEBUG=no16 option.

Kenneth Graunke kenneth at whitecape.org
Fri Jan 11 14:11:43 PST 2013


Often when debugging, I don't want to see SIMD16 shaders.  It makes
INTEL_DEBUG=vs/fs output much easier to read, especially when a program
dumps many shaders.  Plus, I also want to verify that SIMD8 works before
even considering SIMD16.
---
 src/mesa/drivers/dri/i965/brw_fs.cpp       | 3 ++-
 src/mesa/drivers/dri/intel/intel_context.c | 1 +
 src/mesa/drivers/dri/intel/intel_context.h | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 27726f9..36bc765 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2571,7 +2571,8 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c,
 
    exec_list *simd16_instructions = NULL;
    fs_visitor v2(brw, c, prog, fp, 16);
-   if (intel->gen >= 5 && c->prog_data.nr_pull_params == 0) {
+   bool no16 = INTEL_DEBUG & DEBUG_NO16;
+   if (intel->gen >= 5 && c->prog_data.nr_pull_params == 0 && unlikely(!no16)) {
       v2.import_uniforms(&v);
       if (!v2.run()) {
          perf_debug("16-wide shader failed to compile, falling back to "
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index a9cf454..2d0200b 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -519,6 +519,7 @@ static const struct dri_debug_control debug_control[] = {
    { "clip",  DEBUG_CLIP },
    { "aub",   DEBUG_AUB },
    { "shader_time", DEBUG_SHADER_TIME },
+   { "no16",  DEBUG_NO16 },
    { NULL,    0 }
 };
 
diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h
index 8d544dc..09795e4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -457,6 +457,7 @@ extern int INTEL_DEBUG;
 #define DEBUG_CLIP      0x2000000
 #define DEBUG_AUB       0x4000000
 #define DEBUG_SHADER_TIME 0x8000000
+#define DEBUG_NO16      0x20000000
 
 #ifdef HAVE_ANDROID_PLATFORM
 #define LOG_TAG "INTEL-MESA"
-- 
1.8.1



More information about the mesa-dev mailing list