[Mesa-dev] [PATCH 03/10] i965: Set SWIZZLE_NOOP for unused texture units in the program keys.

Kenneth Graunke kenneth at whitecape.org
Fri Aug 24 03:05:56 PDT 2012


Previously, we left the swizzle key field as zero for unused texture
units.  The precompile sets all of them to SWIZZLE_NOOP, which meant
that we mismatched almost every time.

Since either works equally well, change it to SWIZZLE_NOOP to match
the precompiles.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_wm.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

At one point, I needed this patch to get things working.  But I think
it was actually just papering over bugs.  I've fixed the bugs.

Still, it helps precompiles and is pretty trivial, so why not?

diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 6e5163b..ba6f874 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -437,6 +437,8 @@ brw_populate_sampler_prog_key_data(struct gl_context *ctx,
 				   struct brw_sampler_prog_key_data *key)
 {
    for (int i = 0; i < BRW_MAX_TEX_UNIT; i++) {
+      key->swizzles[i] = SWIZZLE_NOOP;
+
       if (!prog->TexturesUsed[i])
 	 continue;
 
@@ -512,9 +514,6 @@ brw_populate_sampler_prog_key_data(struct gl_context *ctx,
 	       key->gl_clamp_mask[2] |= 1 << i;
 	 }
       }
-      else {
-	 key->swizzles[i] = SWIZZLE_NOOP;
-      }
    }
 }
 
-- 
1.7.11.4



More information about the mesa-dev mailing list