Section 4.2.3 Clearing the Buffers, page 190 of the OpenGL ES 3.0.4 spec says: "ClearBufferiv generates an INVALID_ENUM error if buffer is not COLOR or STENCIL."
Fixes 1 dEQP test: * dEQP-GLES3.functional.negative_api.buffer.clear_bufferiv --- src/mesa/main/clear.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c index 3c4ced8..46de80b 100644 --- a/src/mesa/main/clear.c +++ b/src/mesa/main/clear.c @@ -323,6 +323,19 @@ _mesa_ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) _mesa_update_state( ctx ); } + /* Section 4.2.3 Clearing the Buffers, page 190 of the OpenGL ES 3.0.4 + * spec says: + * + * "ClearBufferiv generates an INVALID_ENUM error if buffer is not COLOR or + * STENCIL." + */ + if (_mesa_is_gles3(ctx) && + (buffer == GL_DEPTH || buffer == GL_DEPTH_STENCIL)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glClearBufferiv(buffer=GL_DEPTH || GL_DEPTH_STENCIL)"); + return; + } + switch (buffer) { case GL_STENCIL: /* Page 264 (page 280 of the PDF) of the OpenGL 3.0 spec says: -- 2.1.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev