[Mesa-dev] [PATCH 11/14] i965/fs: Only set brw_wm_prog_key data for samplers used by the WM.
Kenneth Graunke
kenneth at whitecape.org
Thu Dec 8 17:08:02 PST 2011
This should avoid state-dependent FS recompiles when samplers that are
only used by the VS change.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_wm.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 73ac37e..faeb866 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -406,6 +406,7 @@ static void brw_wm_populate_key( struct brw_context *brw,
/* BRW_NEW_FRAGMENT_PROGRAM */
const struct brw_fragment_program *fp =
(struct brw_fragment_program *)brw->fragment_program;
+ const struct gl_program *prog = (struct gl_program *) brw->fragment_program;
GLuint lookup = 0;
GLuint line_aa;
GLuint i;
@@ -481,7 +482,8 @@ static void brw_wm_populate_key( struct brw_context *brw,
/* _NEW_TEXTURE */
for (i = 0; i < BRW_MAX_TEX_UNIT; i++) {
- brw_populate_sampler_prog_key_data(ctx, &key->tex, i);
+ if (prog->TexturesUsed[i])
+ brw_populate_sampler_prog_key_data(ctx, &key->tex, i);
}
/* _NEW_BUFFERS */
--
1.7.7.3
More information about the mesa-dev
mailing list