X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Ftnl%2Ft_vb_rendertmp.h;h=4ed485a7bfdf7b89a5c23efc2355af58e480c121;hb=d78b44c2651b45c337dda71b17351beb41eb9c14;hp=05d130906424c72a40c3b2e23ac7cc80cca66778;hpb=1f1aa0c20cb7dd0ae14b01f89aaa99cc6eebf919;p=mesa.git diff --git a/src/mesa/tnl/t_vb_rendertmp.h b/src/mesa/tnl/t_vb_rendertmp.h index 05d13090642..4ed485a7bfd 100644 --- a/src/mesa/tnl/t_vb_rendertmp.h +++ b/src/mesa/tnl/t_vb_rendertmp.h @@ -57,7 +57,7 @@ #define RENDER_TAB_QUALIFIER static #endif -static void TAG(render_points)( GLcontext *ctx, +static void TAG(render_points)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -70,7 +70,7 @@ static void TAG(render_points)( GLcontext *ctx, POSTFIX; } -static void TAG(render_lines)( GLcontext *ctx, +static void TAG(render_lines)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -91,7 +91,7 @@ static void TAG(render_lines)( GLcontext *ctx, } -static void TAG(render_line_strip)( GLcontext *ctx, +static void TAG(render_line_strip)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -116,7 +116,7 @@ static void TAG(render_line_strip)( GLcontext *ctx, } -static void TAG(render_line_loop)( GLcontext *ctx, +static void TAG(render_line_loop)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -156,7 +156,7 @@ static void TAG(render_line_loop)( GLcontext *ctx, } -static void TAG(render_triangles)( GLcontext *ctx, +static void TAG(render_triangles)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -174,7 +174,7 @@ static void TAG(render_triangles)( GLcontext *ctx, if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) ); else - RENDER_TRI( ELT(j), ELT(j-2), ELT(j-1) ); + RENDER_TRI( ELT(j-1), ELT(j), ELT(j-2) ); } } else { for (j=start+2; jLight.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) { + ej2 = ELT(j-2+parity); + ej1 = ELT(j-1-parity); + ej = ELT(j); + } + else { + ej2 = ELT(j-1+parity); + ej1 = ELT(j-parity); + ej = ELT(j-2); + } + ef2 = EDGEFLAG_GET( ej2 ); + ef1 = EDGEFLAG_GET( ej1 ); + ef = EDGEFLAG_GET( ej ); if (TEST_PRIM_BEGIN(flags)) { RESET_STIPPLE; } EDGEFLAG_SET( ej2, GL_TRUE ); EDGEFLAG_SET( ej1, GL_TRUE ); EDGEFLAG_SET( ej, GL_TRUE ); - if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) - RENDER_TRI( ej2, ej1, ej ); - else - RENDER_TRI( ej, ej2, ej1 ); + RENDER_TRI( ej2, ej1, ej ); EDGEFLAG_SET( ej2, ef2 ); EDGEFLAG_SET( ej1, ef1 ); EDGEFLAG_SET( ej, ef ); @@ -226,14 +232,14 @@ static void TAG(render_tri_strip)( GLcontext *ctx, if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) RENDER_TRI( ELT(j-2+parity), ELT(j-1-parity), ELT(j) ); else - RENDER_TRI( ELT(j), ELT(j-2+parity), ELT(j-1-parity) ); + RENDER_TRI( ELT(j-1+parity), ELT(j-parity), ELT(j-2) ); } } POSTFIX; } -static void TAG(render_tri_fan)( GLcontext *ctx, +static void TAG(render_tri_fan)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -280,7 +286,7 @@ static void TAG(render_tri_fan)( GLcontext *ctx, } -static void TAG(render_poly)( GLcontext *ctx, +static void TAG(render_poly)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -349,7 +355,7 @@ static void TAG(render_poly)( GLcontext *ctx, POSTFIX; } -static void TAG(render_quads)( GLcontext *ctx, +static void TAG(render_quads)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -382,7 +388,7 @@ static void TAG(render_quads)( GLcontext *ctx, POSTFIX; } -static void TAG(render_quad_strip)( GLcontext *ctx, +static void TAG(render_quad_strip)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -430,7 +436,7 @@ static void TAG(render_quad_strip)( GLcontext *ctx, POSTFIX; } -static void TAG(render_noop)( GLcontext *ctx, +static void TAG(render_noop)( struct gl_context *ctx, GLuint start, GLuint count, GLuint flags ) @@ -438,7 +444,7 @@ static void TAG(render_noop)( GLcontext *ctx, (void)(ctx && start && count && flags); } -RENDER_TAB_QUALIFIER void (*TAG(render_tab)[GL_POLYGON+2])(GLcontext *, +RENDER_TAB_QUALIFIER void (*TAG(render_tab)[GL_POLYGON+2])(struct gl_context *, GLuint, GLuint, GLuint) =