diff options
Diffstat (limited to 'src/mesa/tnl')
-rw-r--r-- | src/mesa/tnl/t_array_api.c | 4 | ||||
-rw-r--r-- | src/mesa/tnl/t_vtx_api.c | 17 | ||||
-rw-r--r-- | src/mesa/tnl/t_vtx_exec.c | 2 |
3 files changed, 13 insertions, 10 deletions
diff --git a/src/mesa/tnl/t_array_api.c b/src/mesa/tnl/t_array_api.c index 1ad77c5a99b..8ceca29c254 100644 --- a/src/mesa/tnl/t_array_api.c +++ b/src/mesa/tnl/t_array_api.c @@ -51,7 +51,7 @@ static void fallback_drawarrays( GLcontext *ctx, GLenum mode, GLint start, GLint i; assert(!ctx->CompileFlag); - assert(ctx->Driver.CurrentExecPrimitive == GL_POLYGON+1); + assert(ctx->Driver.CurrentExecPrimitive == PRIM_OUTSIDE_BEGIN_END); CALL_Begin(GET_DISPATCH(), (mode)); for (i = 0; i < count; i++) @@ -66,7 +66,7 @@ static void fallback_drawelements( GLcontext *ctx, GLenum mode, GLsizei count, GLint i; assert(!ctx->CompileFlag); - assert(ctx->Driver.CurrentExecPrimitive == GL_POLYGON+1); + assert(ctx->Driver.CurrentExecPrimitive == PRIM_OUTSIDE_BEGIN_END); /* Here, indices will already reflect the buffer object if active */ diff --git a/src/mesa/tnl/t_vtx_api.c b/src/mesa/tnl/t_vtx_api.c index ae2056971ef..0ce6b4ad799 100644 --- a/src/mesa/tnl/t_vtx_api.c +++ b/src/mesa/tnl/t_vtx_api.c @@ -68,7 +68,7 @@ static void _tnl_wrap_buffers( GLcontext *ctx ) GLuint last_prim = tnl->vtx.prim[tnl->vtx.prim_count-1].mode; GLuint last_count; - if (ctx->Driver.CurrentExecPrimitive != GL_POLYGON+1) { + if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) { GLint i = tnl->vtx.prim_count - 1; assert(i >= 0); tnl->vtx.prim[i].count = ((tnl->vtx.initial_counter - @@ -91,7 +91,7 @@ static void _tnl_wrap_buffers( GLcontext *ctx ) */ assert(tnl->vtx.prim_count == 0); - if (ctx->Driver.CurrentExecPrimitive != GL_POLYGON+1) { + if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) { tnl->vtx.prim[0].mode = ctx->Driver.CurrentExecPrimitive; tnl->vtx.prim[0].start = 0; tnl->vtx.prim[0].count = 0; @@ -735,7 +735,8 @@ static void GLAPIENTRY _tnl_Begin( GLenum mode ) { GET_CURRENT_CONTEXT( ctx ); - if (ctx->Driver.CurrentExecPrimitive == GL_POLYGON+1) { + if (ctx->Driver.CurrentExecPrimitive == PRIM_OUTSIDE_BEGIN_END) { + /* we're not inside a glBegin/End pair */ TNLcontext *tnl = TNL_CONTEXT(ctx); int i; @@ -768,16 +769,18 @@ static void GLAPIENTRY _tnl_Begin( GLenum mode ) ctx->Driver.CurrentExecPrimitive = mode; } - else + else { + /* already inside glBegin/End */ _mesa_error( ctx, GL_INVALID_OPERATION, "glBegin" ); - + } } + static void GLAPIENTRY _tnl_End( void ) { GET_CURRENT_CONTEXT( ctx ); - if (ctx->Driver.CurrentExecPrimitive != GL_POLYGON+1) { + if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END) { TNLcontext *tnl = TNL_CONTEXT(ctx); int idx = tnl->vtx.initial_counter - tnl->vtx.counter; int i = tnl->vtx.prim_count - 1; @@ -785,7 +788,7 @@ static void GLAPIENTRY _tnl_End( void ) tnl->vtx.prim[i].mode |= PRIM_END; tnl->vtx.prim[i].count = idx - tnl->vtx.prim[i].start; - ctx->Driver.CurrentExecPrimitive = GL_POLYGON+1; + ctx->Driver.CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END; /* Two choices which effect the way vertex attributes are * carried over (or not) between adjacent primitives. diff --git a/src/mesa/tnl/t_vtx_exec.c b/src/mesa/tnl/t_vtx_exec.c index b296e439d20..3705a5c96a9 100644 --- a/src/mesa/tnl/t_vtx_exec.c +++ b/src/mesa/tnl/t_vtx_exec.c @@ -248,7 +248,7 @@ static GLuint _tnl_copy_vertices( GLcontext *ctx ) for (i = 0 ; i < ovf ; i++) _mesa_memcpy( dst+i*sz, src+(nr-ovf+i)*sz, sz * sizeof(GLfloat) ); return i; - case GL_POLYGON+1: + case PRIM_OUTSIDE_BEGIN_END: return 0; default: assert(0); |