Module: Mesa
Branch: master
Commit: fe955dc6b626a43036ff2a4cfe44511e10a09332
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe955dc6b626a43036ff2a4cfe44511e10a09332

Author: Paul Berry <[email protected]>
Date:   Fri Nov  9 09:17:22 2012 -0800

mesa: Fix up program_parse.y to avoid uninitialized $$

Without this patch, $$.negate, $$.rgba_valid, and $$.xyzw_valid take
on garbage values.  At the moment this problem is benign (the garbage
values happen to be zero), but in my experiments executing GL
operations on a background thread, the garbage values change, leading
to piglit failures.

Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>

---

 src/mesa/program/program_parse.y |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y
index 81d85f9..8e4fdb6 100644
--- a/src/mesa/program/program_parse.y
+++ b/src/mesa/program/program_parse.y
@@ -709,6 +709,7 @@ extSwizSel: INTEGER
           }
 
           $$.swz = ($1 == 0) ? SWIZZLE_ZERO : SWIZZLE_ONE;
+           $$.negate = 0;
 
           /* 0 and 1 are valid for both RGBA swizzle names and XYZW
            * swizzle names.
@@ -728,6 +729,10 @@ extSwizSel: INTEGER
           s = $1[0];
           free($1);
 
+           $$.rgba_valid = 0;
+           $$.xyzw_valid = 0;
+           $$.negate = 0;
+
           switch (s) {
           case 'x':
              $$.swz = SWIZZLE_X;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to