Ian Romanick <i...@freedesktop.org> writes: > From: Ian Romanick <ian.d.roman...@intel.com> > > Three parts to the fix: > > 1. If the array dereference is a constant index, figure out the real > write mask. > > 2. If the array dereference not is a constant index, assume the > assignment may generate any component. > > 3. If the array dereference not is a constant index, assume the > assigment will not kill any previous component write. > > v2: Fix accidental setting of debug flag (noticed by Aras > Pranckevičius). Fix idiotic typo added after last build.
OK, here's the testcase I came up with today: vec4 v; v.xyzw = vec4(1, 2, 3, 4); entry.ir.writemask == xyzw entry.available = xyzw gl_FragColor = vec4(v.xyz, 1); entry.ir.writemask = xyzw, entry.available = w v.zw = vec2(2.0); entry.ir.writemask = xy; entry.available = 0; So now we delete it! Yeah, this code could have used more comments.
pgpVE0vNFh6Ub.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev