[Mesa-dev] [PATCH] i965: Add an INTEL_DEBUG=reemit option.
Kenneth Graunke
kenneth at whitecape.org
Sat Sep 16 01:37:41 UTC 2017
Jason and I use this for debugging all the time. Recompiling the driver
to enable it is kind of annoying. It's a great thing to try along with
always_flush_batch=true and always_flush_cache=true to detect a class of
problems - namely, atoms listening to an insufficient set of dirty bits.
---
docs/envvars.html | 1 +
src/intel/common/gen_debug.c | 1 +
src/intel/common/gen_debug.h | 1 +
src/mesa/drivers/dri/i965/brw_state_upload.c | 2 +-
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/docs/envvars.html b/docs/envvars.html
index 6c2bdab1554..ea42a50779b 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -192,6 +192,7 @@ See the <a href="xlibdriver.html">Xlib software driver page</a> for details.
<li>perfmon - emit messages about AMD_performance_monitor</li>
<li>pix - emit messages about pixel operations</li>
<li>prim - emit messages about drawing primitives</li>
+ <li>reemit - mark all state dirty on each draw call</li>
<li>sf - emit messages about the strips & fans unit (for old gens, includes the SF program)</li>
<li>shader_time - record how much GPU time is spent in each shader</li>
<li>spill_fs - force spilling of all registers in the scalar backend (useful to debug spilling code)</li>
diff --git a/src/intel/common/gen_debug.c b/src/intel/common/gen_debug.c
index 4677bfd582b..f58c593c44c 100644
--- a/src/intel/common/gen_debug.c
+++ b/src/intel/common/gen_debug.c
@@ -83,6 +83,7 @@ static const struct debug_control debug_control[] = {
{ "norbc", DEBUG_NO_RBC },
{ "nohiz", DEBUG_NO_HIZ },
{ "color", DEBUG_COLOR },
+ { "reemit", DEBUG_REEMIT },
{ NULL, 0 }
};
diff --git a/src/intel/common/gen_debug.h b/src/intel/common/gen_debug.h
index da98f852a4b..e418e3fb166 100644
--- a/src/intel/common/gen_debug.h
+++ b/src/intel/common/gen_debug.h
@@ -82,6 +82,7 @@ extern uint64_t INTEL_DEBUG;
#define DEBUG_NO_RBC (1ull << 38)
#define DEBUG_NO_HIZ (1ull << 39)
#define DEBUG_COLOR (1ull << 40)
+#define DEBUG_REEMIT (1ull << 41)
#ifdef HAVE_ANDROID_PLATFORM
#define LOG_TAG "INTEL-MESA"
diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
index 7b31aad170a..2834cca6392 100644
--- a/src/mesa/drivers/dri/i965/brw_state_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
@@ -480,7 +480,7 @@ brw_upload_pipeline_state(struct brw_context *brw,
brw_select_pipeline(brw, pipeline);
- if (0) {
+ if (unlikely(INTEL_DEBUG & DEBUG_REEMIT)) {
/* Always re-emit all state. */
brw->NewGLState = ~0;
ctx->NewDriverState = ~0ull;
--
2.14.1
More information about the mesa-dev
mailing list