Commit 94ca5b63 by Alexis Hetu Committed by Alexis Hétu

Allow multiple query types simultaneously

While GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT and GL_ANY_SAMPLES_PASSED_EXT are mutually exclusive, they can be used simultaneously with the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN query. Change-Id: I818cf548c724ef56640b795530c3437e4dbcba98 Reviewed-on: https://swiftshader-review.googlesource.com/13828Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 6e86449e
...@@ -1357,7 +1357,25 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1357,7 +1357,25 @@ void Context::beginQuery(GLenum target, GLuint query)
{ {
if(mState.activeQuery[i]) if(mState.activeQuery[i])
{ {
return error(GL_INVALID_OPERATION); switch(mState.activeQuery[i]->getType())
{
case GL_ANY_SAMPLES_PASSED_EXT:
case GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT:
if((target == GL_ANY_SAMPLES_PASSED_EXT) ||
(target == GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT))
{
return error(GL_INVALID_OPERATION);
}
break;
case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
if(target == GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
{
return error(GL_INVALID_OPERATION);
}
break;
default:
break;
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment