Mesa (master): i965: Fix bug in the old FS backend's projtex() calculation.

Kenneth Graunke kwg at kemper.freedesktop.org
Fri Aug 17 17:05:49 UTC 2012


Module: Mesa
Branch: master
Commit: d707e337f5f9a7b6ed465ade1b0b7c06606dde22
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d707e337f5f9a7b6ed465ade1b0b7c06606dde22

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Aug 13 18:08:56 2012 -0700

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 <eric at anholt.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_vs_constval.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vs_constval.c b/src/mesa/drivers/dri/i965/brw_vs_constval.c
index 5b26c7a..3d53843 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;




More information about the mesa-commit mailing list