From: Eric Anholt Date: Tue, 14 Aug 2012 01:08:56 +0000 (-0700) Subject: i965: Fix bug in the old FS backend's projtex() calculation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d707e337f5f9a7b6ed465ade1b0b7c06606dde22;p=mesa.git i965: Fix bug in the old FS backend's projtex() calculation. In the old backend, we looked at any FS attribute's proj_attrib_mask bits, not just texcoords. Now that we have _mesa_vert_result_to_frag_attrib(), we can fill in the other FS inputs with correct proj_attrib_mask info. NOTE: This is a candidate for stable branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46644 Signed-off-by: Eric Anholt Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_vs_constval.c b/src/mesa/drivers/dri/i965/brw_vs_constval.c index 5b26c7a6db4..3d53843edde 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_constval.c +++ b/src/mesa/drivers/dri/i965/brw_vs_constval.c @@ -143,14 +143,12 @@ static void calc_sizes( struct tracker *t ) /* Examine vertex program output sizes to set the size_masks[] info * which describes the fragment program input sizes. */ - for (vertRes = VERT_RESULT_TEX0; vertRes < VERT_RESULT_MAX; vertRes++) { + for (vertRes = 0; vertRes < VERT_RESULT_MAX; vertRes++) { /* map vertex program output index to fragment program input index */ GLint fragAttrib = _mesa_vert_result_to_frag_attrib(vertRes); if (fragAttrib < 0) continue; - assert(fragAttrib >= FRAG_ATTRIB_TEX0); - assert(fragAttrib <= FRAG_ATTRIB_MAX); switch (get_output_size(t, vertRes)) { case 4: t->size_masks[4-1] |= 1 << fragAttrib;