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

Author: Zack Rusin <[email protected]>
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;
                }
             }
          }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to