mesa: Return INVALID_ENUM in glClearBufferiv() when buffer is not color or stencil
Page 497 of the PDF, section '17.4.3.1 Clearing Individual Buffers' of the
OpenGL 4.5 spec states:
"An INVALID_ENUM error is generated by ClearBufferiv and
ClearNamedFramebufferiv if buffer is not COLOR or STENCIL."
Fixes 1 dEQP test:
* dEQP-GLES3.functional.negative_api.buffer.clear_bufferiv
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -325,6 +325,18 @@ _mesa_ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
|
||||
_mesa_update_state( ctx );
|
||||
}
|
||||
|
||||
/* Page 498 of the PDF, section '17.4.3.1 Clearing Individual Buffers'
|
||||
* of the OpenGL 4.5 spec states:
|
||||
*
|
||||
* "An INVALID_ENUM error is generated by ClearBufferiv and
|
||||
* ClearNamedFramebufferiv if buffer is not COLOR or STENCIL."
|
||||
*/
|
||||
if (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:
|
||||
|
||||
Reference in New Issue
Block a user