[Mesa-dev] [PATCH 6/7] i965: Complain about variable index lowering when INTEL_DEBUG=perf.
Kenneth Graunke
kenneth at whitecape.org
Wed Sep 19 13:27:59 PDT 2012
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_shader.cpp | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Admittedly most of the other messages from INTEL_DEBUG=perf are hints for
application developers while this is a resounding "sorry, we suck." But
it's still useful to know when games are hitting this, and can help people
know to yell at us until we fix it.
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index 99506d4..f2a691f 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -143,8 +143,14 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
bool temp = stage == MESA_SHADER_FRAGMENT;
bool uniform = stage == MESA_SHADER_FRAGMENT;
- lower_variable_index_to_cond_assign(shader->ir,
- input, output, temp, uniform);
+ bool lowered_variable_indexing =
+ lower_variable_index_to_cond_assign(shader->ir,
+ input, output, temp, uniform);
+
+ if (unlikely((INTEL_DEBUG & DEBUG_PERF) && lowered_variable_indexing)) {
+ perf_debug("Unsupported form of variable indexing in FS; falling "
+ "back to very inefficient code generation\n");
+ }
/* FINISHME: Do this before the variable index lowering. */
lower_ubo_reference(&shader->base, shader->ir);
--
1.7.11.4
More information about the mesa-dev
mailing list