<div dir="ltr">I don't think this is needed if we make no8 and no16 work properly.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 26, 2016 at 8:46 PM, Francisco Jerez <span dir="ltr"><<a href="mailto:currojerez@riseup.net" target="_blank">currojerez@riseup.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The do32 INTEL_DEBUG option causes the back-end to try to generate a<br>
SIMD32 program when compiling a compute shader regardless of the<br>
specified compute shader workgroup size, which will be useful for<br>
testing SIMD32 code generation in the most common case in which the<br>
workgroup size doesn't exceed the SIMD16 limit so SIMD32 codegen<br>
wouldn't be automatically enabled.<br>
---<br>
 src/mesa/drivers/dri/i965/brw_fs.cpp    | 2 +-<br>
 src/mesa/drivers/dri/i965/intel_debug.c | 1 +<br>
 src/mesa/drivers/dri/i965/intel_debug.h | 1 +<br>
 3 files changed, 3 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
index 7002346..1b180ec 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
@@ -6551,7 +6551,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,<br>
                  NULL, /* Never used in core profile */<br>
                  shader, 32, shader_time_index);<br>
    if (!fail_msg && v8.max_dispatch_width >= 32 &&<br>
-       simd_required == 32) {<br>
+       (simd_required == 32 || (INTEL_DEBUG & DEBUG_DO32))) {<br>
       /* Try a SIMD32 compile */<br>
       if (simd_required <= 8)<br>
          v32.import_uniforms(&v8);<br>
diff --git a/src/mesa/drivers/dri/i965/intel_debug.c b/src/mesa/drivers/dri/i965/intel_debug.c<br>
index e08c296..2589c43 100644<br>
--- a/src/mesa/drivers/dri/i965/intel_debug.c<br>
+++ b/src/mesa/drivers/dri/i965/intel_debug.c<br>
@@ -79,6 +79,7 @@ static const struct debug_control debug_control[] = {<br>
    { "ds",          DEBUG_TES },<br>
    { "tes",         DEBUG_TES },<br>
    { "l3",          DEBUG_L3 },<br>
+   { "do32",        DEBUG_DO32 },<br>
    { NULL,    0 }<br>
 };<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/intel_debug.h b/src/mesa/drivers/dri/i965/intel_debug.h<br>
index b7b5111..22ad834 100644<br>
--- a/src/mesa/drivers/dri/i965/intel_debug.h<br>
+++ b/src/mesa/drivers/dri/i965/intel_debug.h<br>
@@ -72,6 +72,7 @@ extern uint64_t INTEL_DEBUG;<br>
 #define DEBUG_TCS                 (1ull << 36)<br>
 #define DEBUG_TES                 (1ull << 37)<br>
 #define DEBUG_L3                  (1ull << 38)<br>
+#define DEBUG_DO32                (1ull << 39)<br>
<br>
 #ifdef HAVE_ANDROID_PLATFORM<br>
 #define LOG_TAG "INTEL-MESA"<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.7.3<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>