pull-in changes from DRI/Mesa-4.0.4
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 17 Sep 2002 15:46:34 +0000 (15:46 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 17 Sep 2002 15:46:34 +0000 (15:46 +0000)
src/mesa/drivers/common/t_dd_vb.c
src/mesa/drivers/common/t_dd_vbtmp.h
src/mesa/swrast/s_context.c
src/mesa/swrast/swrast.h
src/mesa/swrast_setup/ss_context.c
src/mesa/swrast_setup/ss_context.h

index f4cfe7c5241724ba2d21b93434e00b015ed59ca5..3ba8fb3d8be8877f19539400adf25084cd1d111e 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id: t_dd_vb.c,v 1.16 2001/12/13 10:51:41 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -195,22 +194,78 @@ void TAG(print_vertex)( GLcontext *ctx, const VERTEX *v )
    LOCALVARS
    GLuint format = GET_VERTEX_FORMAT();
 
-   if (format == TINY_VERTEX_FORMAT) {
-      fprintf(stderr, "x %f y %f z %f\n", v->v.x, v->v.y, v->v.z);
-      fprintf(stderr, "r %d g %d b %d a %d\n",
+   fprintf(stderr, "(%x) ", format);
+
+   switch (format) {
+#if HAVE_TINY_VERTICES
+   case TINY_VERTEX_FORMAT:
+      fprintf(stderr, "xyz %.4f,%.4f,%.4f rgba %x:%x:%x:%x\n",
+             v->v.x, v->v.y, v->v.z,
              v->tv.color.red,
              v->tv.color.green,
              v->tv.color.blue,
              v->tv.color.alpha);
-   }
-   else {
-      fprintf(stderr, "x %f y %f z %f oow %f\n",
-             v->v.x, v->v.y, v->v.z, v->v.w);
-      fprintf(stderr, "r %d g %d b %d a %d\n",
+      break;
+#endif
+#if HAVE_NOTEX_VERTICES
+   case NOTEX_VERTEX_FORMAT:
+      fprintf(stderr, "xyzw %.4f,%.4f,%.4f,%.4f rgba %x:%x:%x:%x spec %x:%x:%x:%x\n",
+             v->v.x, v->v.y, v->v.z, v->v.w,
+             v->v.color.red,
+             v->v.color.green,
+             v->v.color.blue,
+             v->v.color.alpha,
+             v->v.specular.red,
+             v->v.specular.green,
+             v->v.specular.blue,
+             v->v.specular.alpha);
+      break;
+#endif
+#if HAVE_TEX0_VERTICES
+   case TEX0_VERTEX_FORMAT:
+      fprintf(stderr, "xyzw %.4f,%.4f,%.4f,%.4f rgba %x:%x:%x:%x st %.4f,%.4f\n",
+             v->v.x, v->v.y, v->v.z, v->v.w,
+             v->v.color.red,
+             v->v.color.green,
+             v->v.color.blue,
+             v->v.color.alpha,
+             v->v.u0,
+             v->v.v0);
+      break;
+#endif
+#if HAVE_TEX1_VERTICES
+   case TEX1_VERTEX_FORMAT:
+      fprintf(stderr, "xyzw %.4f,%.4f,%.4f,%.4f rgba %x:%x:%x:%x st %.4f,%.4f st %.4f,%.4f\n",
+             v->v.x, v->v.y, v->v.z, v->v.w,
+             v->v.color.red,
+             v->v.color.green,
+             v->v.color.blue,
+             v->v.color.alpha,
+             v->v.u0,
+             v->v.v0,
+             v->v.u1,
+             v->v.u2);
+      break;
+#endif
+#if HAVE_PTEX_VERTICES
+   case PROJ_TEX1_VERTEX_FORMAT:
+      fprintf(stderr, "xyzw %.4f,%.4f,%.4f,%.4f rgba %x:%x:%x:%x stq %.4f,%.4f,%.4f stq %.4f,%.4f,%.4f\n",
+             v->v.x, v->v.y, v->v.z, v->v.w,
              v->v.color.red,
              v->v.color.green,
              v->v.color.blue,
-             v->v.color.alpha);
+             v->v.color.alpha,
+             v->pv.u0,
+             v->pv.v0,
+             v->pv.q0,
+             v->pv.u1,
+             v->pv.v1,
+             v->pv.q1);
+      break;
+#endif      
+   default:
+      fprintf(stderr, "???\n");
+      break;
    }
 
    fprintf(stderr, "\n");
index c8b82ec2c476b57dc8c98dc3a54a25019234ad40..39c496509b59c50900360e4cfbac97c05464cfaa 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t_dd_vbtmp.h,v 1.19 2002/08/21 02:59:00 brianp Exp $ */
+/* $Id: t_dd_vbtmp.h,v 1.20 2002/09/17 15:46:37 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
  *    unsigned char ub4[4][16];
  * }
  *
-
+ * VERTEX:   hw vertex type as above
+ * VERTEX_COLOR: hw color struct type in VERTEX
+ *
  * DO_XYZW:  Emit xyz and maybe w coordinates.
  * DO_RGBA:  Emit color.
  * DO_SPEC:  Emit specular color.
@@ -459,11 +462,11 @@ static void TAG(emit)( GLcontext *ctx, GLuint start, GLuint end,
               *(GLuint *)&v[3] = LE32_TO_CPU(*(GLuint *)col);
            }
            else {
-              GLubyte *b = (GLubyte *)&v[3];
-              b[0] = col[0][2];
-              b[1] = col[0][1];
-              b[2] = col[0][0];
-              b[3] = col[0][3];
+              VERTEX_COLOR *c = (VERTEX_COLOR *)&v[3];
+              c->blue  = col[0][2];
+              c->green = col[0][1];
+              c->red   = col[0][0];
+              c->alpha = col[0][3];
            }
            STRIDE_4UB( col, col_stride );
         }
@@ -483,11 +486,11 @@ static void TAG(emit)( GLcontext *ctx, GLuint start, GLuint end,
               *(GLuint *)&v[3] = LE32_TO_CPU(*(GLuint *)&col[i]);
            }
            else {
-              GLubyte *b = (GLubyte *)&v[3];
-              b[0] = col[i][2];
-              b[1] = col[i][1];
-              b[2] = col[i][0];
-              b[3] = col[i][3];
+              VERTEX_COLOR *c = (VERTEX_COLOR *)&v[3];
+              c->blue  = col[i][2];
+              c->green = col[i][1];
+              c->red   = col[i][0];
+              c->alpha = col[i][3];
            }
         }
 /*      fprintf(stderr, "vert %d: %.2f %.2f %.2f %x\n",  */
@@ -528,11 +531,11 @@ static void TAG(emit)( GLcontext *ctx, GLuint start, GLuint end,
         *(GLuint *)v = LE32_TO_CPU(*(GLuint *)col[0]);
       }
       else {
-        GLubyte *b = (GLubyte *)v;
-        b[0] = col[0][2];
-        b[1] = col[0][1];
-        b[2] = col[0][0];
-        b[3] = col[0][3];
+        VERTEX_COLOR *c = (VERTEX_COLOR *)v;
+        c->blue  = col[0][2];
+        c->green = col[0][1];
+        c->red   = col[0][0];
+        c->alpha = col[0][3];
       }
       STRIDE_4UB( col, col_stride );
    }
index c80c92798b5e8edc11fdda8d385656f40fa4eb20..e85741953e78c900b557753f616515705d40b84f 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: s_context.c,v 1.37 2002/08/07 00:45:07 brianp Exp $ */
+/* $Id: s_context.c,v 1.38 2002/09/17 15:46:34 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -559,6 +559,24 @@ _swrast_GetDeviceDriverReference( GLcontext *ctx )
    return &swrast->Driver;
 }
 
+
+void
+_swrast_render_start( GLcontext *ctx )
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   if (swrast->Driver.SpanRenderStart)
+      swrast->Driver.SpanRenderStart( ctx );
+}
+void
+_swrast_render_finish( GLcontext *ctx )
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   if (swrast->Driver.SpanRenderFinish)
+      swrast->Driver.SpanRenderFinish( ctx );
+}
+
+
 #define SWRAST_DEBUG_VERTICES 0
 
 void
index 493534c4babd9f7f8afe5d31dbd9436110ef0e98..4db055b6fe15b84c3284e88769f4c1ee9f3d6241 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: swrast.h,v 1.26 2002/08/07 00:45:07 brianp Exp $ */
+/* $Id: swrast.h,v 1.27 2002/09/17 15:46:36 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -302,6 +302,11 @@ _swrast_Quad( GLcontext *ctx,
 extern void
 _swrast_flush( GLcontext *ctx );
 
+extern void
+_swrast_render_start( GLcontext *ctx );
+
+extern void
+_swrast_render_finish( GLcontext *ctx );
 
 /* Tell the software rasterizer about core state changes.
  */
index 6adcef9b75c1880cff5d909a4f8421380d483952..58d85faa1f80e2201c120a1fc39b49fd9dd02cf7 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id: ss_context.c,v 1.16 2002/08/08 00:41:11 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -49,7 +48,6 @@
 #define _SWSETUP_NEW_RENDERINDEX (_NEW_POLYGON|_NEW_LIGHT)
 
 
-
 GLboolean
 _swsetup_CreateContext( GLcontext *ctx )
 {
@@ -117,19 +115,13 @@ _swsetup_RenderStart( GLcontext *ctx )
 
    swsetup->NewState = 0;
 
-   if (swsetup->Driver.Start) 
-      swsetup->Driver.Start( ctx );
+   _swrast_render_start( ctx );
 }
 
 static void
 _swsetup_RenderFinish( GLcontext *ctx )
 {
-   SScontext *swsetup = SWSETUP_CONTEXT(ctx);
-
-   _swrast_flush( ctx );
-
-   if (swsetup->Driver.Finish) 
-      swsetup->Driver.Finish( ctx );
+   _swrast_render_finish( ctx );
 }
 
 void
index ed4da78d62936e4d3de7f77dff22bed94c94bed9..3174c95de12af33ab1225e7fa137e06fbced86da 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id: ss_context.h,v 1.9 2001/07/17 19:39:32 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -44,12 +43,6 @@ typedef struct {
     */
    struct gl_client_array ChanColor;
    struct gl_client_array ChanSecondaryColor;
-
-
-   struct {
-      void (*Start)( GLcontext * );
-      void (*Finish)( GLcontext * );
-   } Driver;
 } SScontext;
 
 #define SWSETUP_CONTEXT(ctx) ((SScontext *)ctx->swsetup_context)