Mesa (mesa_7_5_branch): gallium: fixup register indexes for fog/frontface/ point coord

Zack Rusin zack at kemper.freedesktop.org
Tue Jul 7 19:49:28 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: 7b861b9b9efdb3ac0dfc3806afcd494cd0ea006c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b861b9b9efdb3ac0dfc3806afcd494cd0ea006c

Author: Zack Rusin <zackr at vmware.com>
Date:   Tue Jul  7 12:48:50 2009 -0700

gallium: fixup register indexes for fog/frontface/point coord

---

 src/mesa/state_tracker/st_atom_shader.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
index 299aa76..5219119 100644
--- a/src/mesa/state_tracker/st_atom_shader.c
+++ b/src/mesa/state_tracker/st_atom_shader.c
@@ -142,9 +142,18 @@ find_translated_vp(struct st_context *st,
             if ((fragInputsRead & FRAG_BIT_FOGC)) {
                /* leave placeholders for the
                 * extra registers we extract from fog */
-               if (stfp->Base.UsesFrontFacing ||
-                   stfp->Base.UsesPointCoord) {
-                  numIn += 2;
+               if (stfp->Base.UsesFrontFacing) {
+                  if (!stfp->Base.UsesFogFragCoord)
+                     --stfp->input_to_slot[inAttr];
+                  else
+                     ++numIn;
+               }
+               if (stfp->Base.UsesPointCoord) {
+                  if (!stfp->Base.UsesFrontFacing &&
+                      !stfp->Base.UsesFogFragCoord)
+                     stfp->input_to_slot[inAttr] -= 2;
+                  else
+                     ++numIn;
                }
             }
          }




More information about the mesa-commit mailing list