Module: Mesa
Branch: r6xx-rewrite
Commit: 00a216fd1e4ea284df9df71128b0e496816cab4d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=00a216fd1e4ea284df9df71128b0e496816cab4d

Author: Richard Li <[email protected]>
Date:   Thu Jul 16 10:28:58 2009 -0400

Restore vp input mapping, fix vtx stream missing problem.

---

 src/mesa/drivers/dri/r600/r700_chip.c     |    2 +-
 src/mesa/drivers/dri/r600/r700_vertprog.c |   25 +++++++++++--------------
 2 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index 535f555..b944f54 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -386,7 +386,7 @@ int r700SetupStreams(GLcontext * ctx)
 
                        /* currently aos are packed */
                        r700SetupVTXConstants(ctx,
-                                             j,
+                                             i,
                                              
(void*)(&context->radeon.tcl.aos[j]),
                                              (unsigned 
int)context->radeon.tcl.aos[j].components,
                                              (unsigned 
int)context->radeon.tcl.aos[j].stride * 4,
diff --git a/src/mesa/drivers/dri/r600/r700_vertprog.c 
b/src/mesa/drivers/dri/r600/r700_vertprog.c
index a3720fb..cbfeaf0 100644
--- a/src/mesa/drivers/dri/r600/r700_vertprog.c
+++ b/src/mesa/drivers/dri/r600/r700_vertprog.c
@@ -115,7 +115,7 @@ unsigned int Map_Vertex_Input(r700_AssemblerBase       
*pAsm,
                                          struct gl_vertex_program *mesa_vp,
                                          unsigned int unStart)
 {
-       int i, j = 0;
+       int i;
        unsigned int unBit;
        unsigned int unTotal = unStart;
        for(i=0; i<VERT_ATTRIB_MAX; i++)
@@ -123,8 +123,7 @@ unsigned int Map_Vertex_Input(r700_AssemblerBase       
*pAsm,
                unBit = 1 << i;
                if(mesa_vp->Base.InputsRead & unBit)
                {
-                       pAsm->ucVP_AttributeMap[j] = unTotal++;
-                       j++;
+                       pAsm->ucVP_AttributeMap[i] = unTotal++;
                }
        }
        return (unTotal - unStart);
@@ -134,7 +133,7 @@ GLboolean Process_Vertex_Program_Vfetch_Instructions(
                                                struct r700_vertex_program *vp,
                                                struct gl_vertex_program   
*mesa_vp)
 {
-       int i, j = 0;
+       int i;
     unsigned int unBit;
        VTX_FETCH_METHOD vtxFetchMethod;
        vtxFetchMethod.bEnableMini          = GL_FALSE;
@@ -146,12 +145,11 @@ GLboolean Process_Vertex_Program_Vfetch_Instructions(
                if(mesa_vp->Base.InputsRead & unBit)
                {
                        assemble_vfetch_instruction(&vp->r700AsmCode,
-                                                   j,
-                                                   
vp->r700AsmCode.ucVP_AttributeMap[j],
-                                                   vp->aos_desc[j].size,
-                                                   vp->aos_desc[j].type,
+                                                   i,
+                                                   
vp->r700AsmCode.ucVP_AttributeMap[i],
+                                                   vp->aos_desc[i].size,
+                                                   vp->aos_desc[i].type,
                                                    &vtxFetchMethod);
-                       j++;
                }
        }
        
@@ -307,16 +305,15 @@ void r700SelectVertexShader(GLcontext *ctx)
        struct vertex_buffer *vb = &tnl->vb;
 
     unsigned int unBit;
-    unsigned int i, j = 0;
+    unsigned int i;
        for(i=0; i<VERT_ATTRIB_MAX; i++)
        {
                unBit = 1 << i;
                if(vpc->mesa_program.Base.InputsRead & unBit) /* 
ctx->Array.ArrayObj->xxxxxxx */
                {
-                       vpc->aos_desc[j].size   = vb->AttribPtr[i]->size;
-                       vpc->aos_desc[j].stride = vb->AttribPtr[i]->size * 
sizeof(GL_FLOAT);/* when emit array, data is packed. vb->AttribPtr[i]->stride;*/
-                       vpc->aos_desc[j].type   = GL_FLOAT;
-                       j++;
+                       vpc->aos_desc[i].size   = vb->AttribPtr[i]->size;
+                       vpc->aos_desc[i].stride = vb->AttribPtr[i]->size * 
sizeof(GL_FLOAT);/* when emit array, data is packed. vb->AttribPtr[i]->stride;*/
+                       vpc->aos_desc[i].type   = GL_FLOAT;
                }
        }
 

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

Reply via email to