<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>