Mesa (master): i965/vs: Fix flaky texture swizzling
Chris Forbes
chrisf at kemper.freedesktop.org
Fri Jul 26 06:35:43 UTC 2013
Module: Mesa
Branch: master
Commit: 124f567f1d575eaea98a6ae1d0a4687b8fb5bba2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=124f567f1d575eaea98a6ae1d0a4687b8fb5bba2
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Jul 24 07:21:22 2013 +1200
i965/vs: Fix flaky texture swizzling
If any component used the ZERO or ONE swizzle, its corresponding member
in the `swizzle` array would never be initialized. We *mostly* got away
with this, except when that memory happened to contain a value that
clobbered another channel when combined using BRW_SWIZZLE4().
NOTE: This is a candidate for stable branches.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 3eb43a8..1d86b33 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -2506,7 +2506,7 @@ vec4_visitor::swizzle_result(ir_texture *ir, src_reg orig_val, int sampler)
}
int zero_mask = 0, one_mask = 0, copy_mask = 0;
- int swizzle[4];
+ int swizzle[4] = {0};
for (int i = 0; i < 4; i++) {
switch (GET_SWZ(s, i)) {
More information about the mesa-commit
mailing list