fix GL_LINE_LOOP with drivers using own render pipeline stage (#12410, #13527)
authorRoland Scheidegger <sroland@tungstengraphics.com>
Sat, 22 Dec 2007 17:54:01 +0000 (18:54 +0100)
committerRoland Scheidegger <sroland@tungstengraphics.com>
Sat, 22 Dec 2007 17:54:18 +0000 (18:54 +0100)
primitive needs to include the begin/end flags (broken since vbo-0.2). Should
fix missing first/last line segment on gamma, i810, i915, mga, r200, radeon,
s3v, savage, unichrome (r300 already correct). Tested on r200, fixes #13527.

src/mesa/drivers/dri/gamma/gamma_render.c
src/mesa/drivers/dri/i810/i810render.c
src/mesa/drivers/dri/i915/intel_render.c
src/mesa/drivers/dri/mga/mgarender.c
src/mesa/drivers/dri/r200/r200_tcl.c
src/mesa/drivers/dri/radeon/radeon_tcl.c
src/mesa/drivers/dri/s3v/s3v_render.c
src/mesa/drivers/dri/savage/savagerender.c
src/mesa/drivers/dri/unichrome/via_render.c

index 4b462f225253adcf623871179559d609322b3d81..a8fba499a5abea7dbd4f847caf661848e5043d0d 100644 (file)
@@ -193,7 +193,7 @@ static GLboolean gamma_run_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index a31d54236cb9878e0479aa30fe468dda2212f001..d0225969b66e654e666058c7868fb3cc58cfb84c 100644 (file)
@@ -144,7 +144,7 @@ static GLboolean i810_run_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index c8b6d308d9699f4093c31e288f571128901a7c27..473ddb8393d3bf576d86af8b51deff90c55e7c48 100644 (file)
@@ -216,7 +216,7 @@ intel_run_render(GLcontext * ctx, struct tnl_pipeline_stage *stage)
    tnl->Driver.Render.Start(ctx);
 
    for (i = 0; i < VB->PrimitiveCount; i++) {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index 3080cea79feb43657ad797fabc10ccd58c799484..c151f79915367efc40bc118f734bafa0e37e26b3 100644 (file)
@@ -144,7 +144,7 @@ static GLboolean mga_run_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index 2ad35d4390647ca8ea62e978bc88bc7080c81a5a..78347d3cc28d0aa0b1dfb4e864c13abdc6be1d34 100644 (file)
@@ -488,7 +488,7 @@ static GLboolean r200_run_tcl_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index 5ad044c2628e3d729fd757f464f1c85077bc7e5f..0f4baf2e7d1356333315edcac687f6616f2e884f 100644 (file)
@@ -418,7 +418,7 @@ static GLboolean radeon_run_tcl_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index 6aaa94976e3493b7a7d63282ad9461a9097a782d..6b86e0e6049cf031057f89da9d3f5de69bf08077 100644 (file)
@@ -170,7 +170,7 @@ static GLboolean s3v_run_render( GLcontext *ctx,
 
        for (i = 0 ; i < VB->PrimitiveCount ; i++ )
        {
-                GLuint prim = VB->Primitive[i].mode;
+               GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
                GLuint start = VB->Primitive[i].start;
                GLuint length = VB->Primitive[i].count;
 
index 514434c427177e08ef80f6f43d53f2725024c97f..f2f19984b13cb08023f68047e1f2153a222f3703 100644 (file)
@@ -198,7 +198,7 @@ static GLboolean savage_run_render( GLcontext *ctx,
 
    for (i = 0 ; i < VB->PrimitiveCount ; i++)
    {
-      GLuint prim = VB->Primitive[i].mode;
+      GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
       GLuint start = VB->Primitive[i].start;
       GLuint length = VB->Primitive[i].count;
 
index 387473ef5229f1f9bfede21b410f6234cde52407..d7e373d7dd0815b3e81305cb7aa7cf1d8a03fe04 100644 (file)
@@ -106,7 +106,7 @@ static GLboolean via_run_fastrender(GLcontext *ctx,
     tnl->clipspace.new_inputs |= VERT_BIT_POS;
 
     for (i = 0; i < VB->PrimitiveCount; ++i) {
-        GLuint mode = VB->Primitive[i].mode;
+        GLuint mode = _tnl_translate_prim(&VB->Primitive[i]);
         GLuint start = VB->Primitive[i].start;
         GLuint length = VB->Primitive[i].count;
         if (length)