diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/api_exec.c | 3 | ||||
-rw-r--r-- | src/mesa/main/api_noop.c | 12 | ||||
-rw-r--r-- | src/mesa/main/vtxfmt.c | 3 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index ae653e1914..2274e54ba0 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -494,6 +494,9 @@ _mesa_create_exec_table(void) SET_ActiveStencilFaceEXT(exec, _mesa_ActiveStencilFaceEXT); #endif + /* 285. GL_NV_primitive_restart */ + SET_PrimitiveRestartIndexNV(exec, _mesa_PrimitiveRestartIndex); + /* ???. GL_EXT_depth_bounds_test */ SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT); diff --git a/src/mesa/main/api_noop.c b/src/mesa/main/api_noop.c index 9a36394d65..08b4b4a3b6 100644 --- a/src/mesa/main/api_noop.c +++ b/src/mesa/main/api_noop.c @@ -679,6 +679,16 @@ static void GLAPIENTRY _mesa_noop_End( void ) } +/*** + * PrimitiveRestart called outside glBegin()/End(): raise an error + */ +static void GLAPIENTRY _mesa_noop_PrimitiveRestartNV( void ) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, "glPrimitiveRestartNV(no glBegin)"); +} + + /** * Execute a glRectf() function. This is not suitable for GL_COMPILE * modes (as the test for outside begin/end is not compiled), @@ -1007,6 +1017,8 @@ _mesa_noop_vtxfmt_init( GLvertexformat *vfmt ) vfmt->EdgeFlag = _mesa_noop_EdgeFlag; vfmt->End = _mesa_noop_End; + vfmt->PrimitiveRestartNV = _mesa_noop_PrimitiveRestartNV; + _MESA_INIT_EVAL_VTXFMT(vfmt, _mesa_noop_); vfmt->FogCoordfEXT = _mesa_noop_FogCoordfEXT; diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c index 13b1aa9e50..9236bf81a2 100644 --- a/src/mesa/main/vtxfmt.c +++ b/src/mesa/main/vtxfmt.c @@ -92,7 +92,10 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_Begin(tab, vfmt->Begin); SET_End(tab, vfmt->End); + SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV); + SET_Rectf(tab, vfmt->Rectf); + SET_DrawArrays(tab, vfmt->DrawArrays); SET_DrawElements(tab, vfmt->DrawElements); SET_DrawRangeElements(tab, vfmt->DrawRangeElements); |