diff options
-rw-r--r-- | src/mesa/main/APIspec.xml | 11 | ||||
-rw-r--r-- | src/mesa/main/clear.c | 9 |
2 files changed, 9 insertions, 11 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index 1de7014c5bc..44dcd210078 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -432,17 +432,6 @@ <return type="void"/> <param name="mask" type="GLbitfield"/> </proto> - - <desc name="mask" error="GL_INVALID_VALUE"> - <value name="0"/> - <value name="(GL_COLOR_BUFFER_BIT)"/> - <value name="(GL_DEPTH_BUFFER_BIT)"/> - <value name="(GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - </desc> </template> <template name="ClearColor"> diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c index cfb060018c7..f07d5333b65 100644 --- a/src/mesa/main/clear.c +++ b/src/mesa/main/clear.c @@ -167,6 +167,15 @@ _mesa_Clear( GLbitfield mask ) return; } + /* Accumulation buffers were removed in core contexts, and they never + * existed in OpenGL ES. + */ + if ((mask & GL_ACCUM_BUFFER_BIT) != 0 + && (ctx->API == API_OPENGL_CORE || _mesa_is_gles(ctx))) { + _mesa_error( ctx, GL_INVALID_VALUE, "glClear(GL_ACCUM_BUFFER_BIT)"); + return; + } + if (ctx->NewState) { _mesa_update_state( ctx ); /* update _Xmin, etc */ } |