mesa: Throw an error when starting conditional render on an active query.
From the NV_conditional_render spec: BeginQuery sets the active query object name for the query type given by <target> to <id>. If BeginQuery is called with an <id> of zero, if the active query object name for <target> is non-zero, if <id> is the active query object name for any query type, or if <id> is the active query object for condtional rendering (Section 2.X), the error INVALID OPERATION is generated. Fixes piglit nv_conditional_render-begin-while-active. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -73,7 +73,7 @@ _mesa_BeginConditionalRender(GLuint queryId, GLenum mode)
|
|||||||
}
|
}
|
||||||
ASSERT(q->Id == queryId);
|
ASSERT(q->Id == queryId);
|
||||||
|
|
||||||
if (q->Target != GL_SAMPLES_PASSED) {
|
if (q->Target != GL_SAMPLES_PASSED || q->Active) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user