On 7 April 2013 11:12, Jordan Justen <jljus...@gmail.com> wrote: > On Sat, Apr 6, 2013 at 7:49 PM, Paul Berry <stereotype...@gmail.com> > wrote: > > + if (consumer_var == NULL) { > > + /* Since there is no consumer_var, the interpolation type of this > > + * varying cannot possibly affect rendering. Also, since the GL > spec > > + * only requires integer varyings to be "flat" when they are > fragment > > + * shader inputs, it is possible that this variable is non-flat > and is > > + * (or contains) an integer. > > + * > > + * lower_packed_varyings requires all integer varyings to flat, > > + * regardless of where they appear. We can trivially satisfy that > > + * requirement by changing the interpolation type to flat here. > > + */ > > + producer_var->centroid = false; > > + producer_var->interpolation = INTERP_QUALIFIER_FLAT; > > Should we check if producer_var's type is an integer? >
Yeah, that's a good point. It shouldn't affect correctness, but it will make the patch less invasive, and that seems worthwhile since I'm hoping this can be cherry-picked back to 9.1. I'll follow up with a v2 of the series. > > Could this cause issues if the producer stage is later linked to > another consumer? > That shouldn't be a problem, since at this stage of linking, we are operating on a copy of the IR that is private to this particular linked program.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev