summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2016-05-26 21:28:45 -0700
committerFrancisco Jerez <[email protected]>2016-05-27 23:29:06 -0700
commit46ce93ed22891455dbe3eb4c69f5eddd2a7dcf00 (patch)
treecbc8c8e90f03f060910baa54f471e81c569ffcad /src
parent864737ce6cd5bae030079e749b8b18774a62d073 (diff)
i965: Add do32 debug option.
The do32 INTEL_DEBUG option causes the back-end to try to generate a SIMD32 program when compiling a compute shader regardless of the specified compute shader workgroup size, which will be useful for testing SIMD32 code generation in the most common case in which the workgroup size doesn't exceed the SIMD16 limit so SIMD32 codegen wouldn't be automatically enabled. Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/intel_debug.c1
-rw-r--r--src/mesa/drivers/dri/i965/intel_debug.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 8f657e67641..f5add6ec676 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -6528,7 +6528,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
NULL, /* Never used in core profile */
shader, 32, shader_time_index);
if (!fail_msg && v8.max_dispatch_width >= 32 &&
- simd_required > 16) {
+ (simd_required > 16 || (INTEL_DEBUG & DEBUG_DO32))) {
/* Try a SIMD32 compile */
if (simd_required <= 8)
v32.import_uniforms(&v8);
diff --git a/src/mesa/drivers/dri/i965/intel_debug.c b/src/mesa/drivers/dri/i965/intel_debug.c
index e08c2969e06..2589c43ab5e 100644
--- a/src/mesa/drivers/dri/i965/intel_debug.c
+++ b/src/mesa/drivers/dri/i965/intel_debug.c
@@ -79,6 +79,7 @@ static const struct debug_control debug_control[] = {
{ "ds", DEBUG_TES },
{ "tes", DEBUG_TES },
{ "l3", DEBUG_L3 },
+ { "do32", DEBUG_DO32 },
{ NULL, 0 }
};
diff --git a/src/mesa/drivers/dri/i965/intel_debug.h b/src/mesa/drivers/dri/i965/intel_debug.h
index b7b51112d92..22ad83480da 100644
--- a/src/mesa/drivers/dri/i965/intel_debug.h
+++ b/src/mesa/drivers/dri/i965/intel_debug.h
@@ -72,6 +72,7 @@ extern uint64_t INTEL_DEBUG;
#define DEBUG_TCS (1ull << 36)
#define DEBUG_TES (1ull << 37)
#define DEBUG_L3 (1ull << 38)
+#define DEBUG_DO32 (1ull << 39)
#ifdef HAVE_ANDROID_PLATFORM
#define LOG_TAG "INTEL-MESA"