mesa: Fix order of errors for glDrawTransformFeedbackStream
The OpenGL 4.0 core profile specification, section 2.17.3
Transform Feedback Draw Operations says:
"The error INVALID_VALUE is generated if <stream> is greater
than or equal to the value of MAX_VERTEX_STREAMS.
...
The error INVALID_OPERATION
is generated if EndTransformFeedback has never been called
while the object named by id was bound."
Fixes the piglit test:
ARB_transform_feedback3/arb_transform_feedback3-draw_using_invalid_stream_index
(with the test itself fixed to eliminate an unrelated failure)
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -749,17 +749,17 @@ _mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (!obj->EndedAnytime) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback*");
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (stream >= ctx->Const.MaxVertexStreams) {
|
||||
_mesa_error(ctx, GL_INVALID_VALUE,
|
||||
"glDrawTransformFeedbackStream*(index>=MaxVertexStream)");
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (!obj->EndedAnytime) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback*");
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (numInstances <= 0) {
|
||||
if (numInstances < 0)
|
||||
_mesa_error(ctx, GL_INVALID_VALUE,
|
||||
|
||||
Reference in New Issue
Block a user