From fe955dc6b626a43036ff2a4cfe44511e10a09332 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Fri, 9 Nov 2012 09:17:22 -0800 Subject: [PATCH] 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 Reviewed-by: Kenneth Graunke --- src/mesa/program/program_parse.y | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y index 81d85f9fb1b..8e4fdb61a75 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; -- 2.30.2