Merge branch 'llvm-cliptest-viewport'
[mesa.git] / src / mesa / drivers / dri / mach64 / mach64_native_vb.c
index 7872c206f58ccd5a335697e66c8af1fb8052eff7..d8426ddee1c0bccce965b9aba87f192dc3153aca 100644 (file)
@@ -1,4 +1,4 @@
-/* $XFree86$ */ /* -*- mode: c; c-basic-offset: 3 -*- */
+/* -*- mode: c; c-basic-offset: 3 -*- */
 /*
  * Mesa 3-D graphics library
  * Version:  3.5
@@ -35,7 +35,7 @@
 #define LOCALVARS
 #endif
 
-void TAG(translate_vertex)(GLcontext *ctx,
+void TAG(translate_vertex)(struct gl_context *ctx,
                           const VERTEX *src,
                           SWvertex *dst)
 {
@@ -44,7 +44,7 @@ void TAG(translate_vertex)(GLcontext *ctx,
    UNVIEWPORT_VARS;
    CARD32 *p = (CARD32 *)src + 10 - mmesa->vertex_size;
 
-   dst->win[3] = 1.0;
+   dst->attrib[FRAG_ATTRIB_WPOS][3] = 1.0;
    
    switch ( format ) {
       case TEX1_VERTEX_FORMAT:
@@ -52,14 +52,14 @@ void TAG(translate_vertex)(GLcontext *ctx,
         {
            float rhw = 1.0 / LE32_IN_FLOAT( p + 2 );
            
-           dst->texcoord[1][0] = rhw*LE32_IN_FLOAT( p++ );
-           dst->texcoord[1][1] = rhw*LE32_IN_FLOAT( p++ );
+           dst->attrib[FRAG_ATTRIB_TEX1][0] = rhw*LE32_IN_FLOAT( p++ );
+           dst->attrib[FRAG_ATTRIB_TEX1][1] = rhw*LE32_IN_FLOAT( p++ );
         }
 #else
-        dst->texcoord[1][0] = LE32_IN_FLOAT( p++ );
-        dst->texcoord[1][1] = LE32_IN_FLOAT( p++ );
+        dst->attrib[FRAG_ATTRIB_TEX1][0] = LE32_IN_FLOAT( p++ );
+        dst->attrib[FRAG_ATTRIB_TEX1][1] = LE32_IN_FLOAT( p++ );
 #endif
-        dst->texcoord[1][3] = 1.0;
+        dst->attrib[FRAG_ATTRIB_TEX1][3] = 1.0;
         p++;
 
       case TEX0_VERTEX_FORMAT:
@@ -67,25 +67,25 @@ void TAG(translate_vertex)(GLcontext *ctx,
         {
            float rhw = 1.0 / LE32_IN_FLOAT( p + 2 );
            
-           dst->texcoord[0][0] = rhw*LE32_IN_FLOAT( p++ );
-           dst->texcoord[0][1] = rhw*LE32_IN_FLOAT( p++ );
+           dst->attrib[FRAG_ATTRIB_TEX0][0] = rhw*LE32_IN_FLOAT( p++ );
+           dst->attrib[FRAG_ATTRIB_TEX0][1] = rhw*LE32_IN_FLOAT( p++ );
         }
 #else
-        dst->texcoord[0][0] = LE32_IN_FLOAT( p++ );
-        dst->texcoord[0][1] = LE32_IN_FLOAT( p++ );
+        dst->attrib[FRAG_ATTRIB_TEX0][0] = LE32_IN_FLOAT( p++ );
+        dst->attrib[FRAG_ATTRIB_TEX0][1] = LE32_IN_FLOAT( p++ );
 #endif
-        dst->texcoord[0][3] = 1.0;
-        dst->win[3] = LE32_IN_FLOAT( p++ );
+        dst->attrib[FRAG_ATTRIB_TEX0][3] = 1.0;
+        dst->attrib[FRAG_ATTRIB_WPOS][3] = LE32_IN_FLOAT( p++ );
        
       case NOTEX_VERTEX_FORMAT:
-        dst->specular[2] = ((GLubyte *)p)[0];
-        dst->specular[1] = ((GLubyte *)p)[1];
-        dst->specular[0] = ((GLubyte *)p)[2];
-        dst->fog = ((GLubyte *)p)[3];
+        dst->attrib[FRAG_ATTRIB_COL1][2] = UBYTE_TO_FLOAT(((GLubyte *)p)[0]);
+        dst->attrib[FRAG_ATTRIB_COL1][1] = UBYTE_TO_FLOAT(((GLubyte *)p)[1]);
+        dst->attrib[FRAG_ATTRIB_COL1][0] = UBYTE_TO_FLOAT(((GLubyte *)p)[2]);
+        dst->attrib[FRAG_ATTRIB_FOGC][0] = ((GLubyte *)p)[3]; /*XXX int->float?*/
         p++;
 
       case TINY_VERTEX_FORMAT:
-        dst->win[2] = UNVIEWPORT_Z( LE32_IN( p++ ) );
+        dst->attrib[FRAG_ATTRIB_WPOS][2] = UNVIEWPORT_Z( LE32_IN( p++ ) );
 
         dst->color[2] = ((GLubyte *)p)[0];
         dst->color[1] = ((GLubyte *)p)[1];
@@ -96,19 +96,19 @@ void TAG(translate_vertex)(GLcontext *ctx,
         {
            GLuint xy = LE32_IN( p );
            
-           dst->win[0] = UNVIEWPORT_X( (GLfloat)(GLshort)( xy >> 16 ) );
-           dst->win[1] = UNVIEWPORT_Y( (GLfloat)(GLshort)( xy & 0xffff ) );
+           dst->attrib[FRAG_ATTRIB_WPOS][0] = UNVIEWPORT_X( (GLfloat)(GLshort)( xy >> 16 ) );
+           dst->attrib[FRAG_ATTRIB_WPOS][1] = UNVIEWPORT_Y( (GLfloat)(GLshort)( xy & 0xffff ) );
         }
    }
 
    assert( p + 1 - (CARD32 *)src == 10 );
         
-   dst->pointSize = ctx->Point._Size;
+   dst->pointSize = ctx->Point.Size;
 }
 
 
 
-void TAG(print_vertex)( GLcontext *ctx, const VERTEX *v )
+void TAG(print_vertex)( struct gl_context *ctx, const VERTEX *v )
 {
    LOCALVARS
    GLuint format = GET_VERTEX_FORMAT();
@@ -199,7 +199,7 @@ void TAG(print_vertex)( GLcontext *ctx, const VERTEX *v )
 #define GET_COLOR(ptr, idx) ((ptr)->data[idx])
 
 
-INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx,
+INTERP_QUALIFIER void TAG(interp_extras)( struct gl_context *ctx,
                                          GLfloat t,
                                          GLuint dst, GLuint out, GLuint in,
                                          GLboolean force_boundary )
@@ -207,19 +207,19 @@ INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx,
    LOCALVARS
    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 
-   if (VB->ColorPtr[1]) {
-      assert(VB->ColorPtr[1]->stride == 4 * sizeof(GLfloat));
+   if (VB->BackfaceColorPtr) {
+      assert(VB->BackfaceColorPtr->stride == 4 * sizeof(GLfloat));
       
       INTERP_4F( t,
-                   GET_COLOR(VB->ColorPtr[1], dst),
-                   GET_COLOR(VB->ColorPtr[1], out),
-                   GET_COLOR(VB->ColorPtr[1], in) );
+                GET_COLOR(VB->BackfaceColorPtr, dst),
+                GET_COLOR(VB->BackfaceColorPtr, out),
+                GET_COLOR(VB->BackfaceColorPtr, in) );
 
-      if (VB->SecondaryColorPtr[1]) {
+      if (VB->BackfaceSecondaryColorPtr) {
         INTERP_3F( t,
-                      GET_COLOR(VB->SecondaryColorPtr[1], dst),
-                      GET_COLOR(VB->SecondaryColorPtr[1], out),
-                      GET_COLOR(VB->SecondaryColorPtr[1], in) );
+                   GET_COLOR(VB->BackfaceSecondaryColorPtr, dst),
+                   GET_COLOR(VB->BackfaceSecondaryColorPtr, out),
+                   GET_COLOR(VB->BackfaceSecondaryColorPtr, in) );
       }
    }
 
@@ -230,19 +230,19 @@ INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx,
    INTERP_VERTEX(ctx, t, dst, out, in, force_boundary);
 }
 
-INTERP_QUALIFIER void TAG(copy_pv_extras)( GLcontext *ctx, 
+INTERP_QUALIFIER void TAG(copy_pv_extras)( struct gl_context *ctx, 
                                           GLuint dst, GLuint src )
 {
    LOCALVARS
       struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 
-   if (VB->ColorPtr[1]) {
-      COPY_4FV( GET_COLOR(VB->ColorPtr[1], dst), 
-               GET_COLOR(VB->ColorPtr[1], src) );
+   if (VB->BackfaceColorPtr) {
+      COPY_4FV( GET_COLOR(VB->BackfaceColorPtr, dst),
+               GET_COLOR(VB->BackfaceColorPtr, src) );
 
-      if (VB->SecondaryColorPtr[1]) {
-        COPY_4FV( GET_COLOR(VB->SecondaryColorPtr[1], dst), 
-                  GET_COLOR(VB->SecondaryColorPtr[1], src) );
+      if (VB->BackfaceSecondaryColorPtr) {
+        COPY_4FV( GET_COLOR(VB->BackfaceSecondaryColorPtr, dst),
+                  GET_COLOR(VB->BackfaceSecondaryColorPtr, src) );
       }
    }