i965: Fix bug in the old FS backend's projtex() calculation.
authorEric Anholt <eric@anholt.net>
Tue, 14 Aug 2012 01:08:56 +0000 (18:08 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 17 Aug 2012 17:05:34 +0000 (10:05 -0700)
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 <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vs_constval.c

index 5b26c7a6db46bd9eb86d313fa322d2e7344ce60d..3d53843eddeccd6603f87a1a7ee32bb54fdea644 100644 (file)
@@ -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;