From: Erik Faye-Lund Date: Wed, 25 Jul 2018 15:20:34 +0000 (+0200) Subject: gallium: initialize ureg_dst::Invariant bit X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e68fe445f514ad9327a4e9ad6a5174b66d69a901;p=mesa.git gallium: initialize ureg_dst::Invariant bit When this bit was added, it seems the some initialization code was omitted by mistake. Since stack-variables have kinda random contents, and we don't zero initialize the whole struct in these code-paths, we end up getting random-ish values for this bit. Spotted by Coverity in the following CIDs: - 1438115 - 1438123 - 1438130 Fixes: 70425bcfe63c4e9191809659d019ec4af923595d ("gallium: plumb invariant output attrib thru TGSI") Signed-off-by: Erik Faye-Lund Reviewed-by: Jakob Bornecrantz Reviewed-by: Emil Velikov --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.h b/src/gallium/auxiliary/tgsi/tgsi_ureg.h index 4d4a954529b..c974ed02069 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.h +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.h @@ -1019,6 +1019,7 @@ ureg_dst_array_register(unsigned file, dst.DimIndIndex = 0; dst.DimIndSwizzle = 0; dst.ArrayID = array_id; + dst.Invariant = 0; return dst; } @@ -1050,6 +1051,7 @@ ureg_dst( struct ureg_src src ) dst.DimIndIndex = src.DimIndIndex; dst.DimIndSwizzle = src.DimIndSwizzle; dst.ArrayID = src.ArrayID; + dst.Invariant = 0; return dst; } @@ -1141,6 +1143,7 @@ ureg_dst_undef( void ) dst.DimIndIndex = 0; dst.DimIndSwizzle = 0; dst.ArrayID = 0; + dst.Invariant = 0; return dst; }