Implement GL_CHROMIUM_sync_query for D3D9 and D3D11.
BUG=angleproject:1366
Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b
Reviewed-on: https://chromium-review.googlesource.com/341230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index a84d9eb..40db7aa 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -398,6 +398,8 @@
return (context->getClientVersion() >= 3);
case GL_TIME_ELAPSED_EXT:
return context->getExtensions().disjointTimerQuery;
+ case GL_COMMANDS_COMPLETED_CHROMIUM:
+ return context->getExtensions().syncQuery;
default:
return false;
}
@@ -1220,7 +1222,7 @@
bool ValidateBeginQueryEXT(gl::Context *context, GLenum target, GLuint id)
{
if (!context->getExtensions().occlusionQueryBoolean &&
- !context->getExtensions().disjointTimerQuery)
+ !context->getExtensions().disjointTimerQuery && !context->getExtensions().syncQuery)
{
context->handleError(Error(GL_INVALID_OPERATION, "Query extension not enabled"));
return false;
@@ -1251,7 +1253,7 @@
bool ValidateEndQueryEXT(gl::Context *context, GLenum target)
{
if (!context->getExtensions().occlusionQueryBoolean &&
- !context->getExtensions().disjointTimerQuery)
+ !context->getExtensions().disjointTimerQuery && !context->getExtensions().syncQuery)
{
context->handleError(Error(GL_INVALID_OPERATION, "Query extension not enabled"));
return false;
@@ -1327,7 +1329,7 @@
bool ValidateGetQueryivEXT(Context *context, GLenum target, GLenum pname, GLint *params)
{
if (!context->getExtensions().occlusionQueryBoolean &&
- !context->getExtensions().disjointTimerQuery)
+ !context->getExtensions().disjointTimerQuery && !context->getExtensions().syncQuery)
{
context->handleError(Error(GL_INVALID_OPERATION, "Query extension not enabled"));
return false;
@@ -1379,7 +1381,7 @@
bool ValidateGetQueryObjectuivEXT(Context *context, GLuint id, GLenum pname, GLuint *params)
{
if (!context->getExtensions().disjointTimerQuery &&
- !context->getExtensions().occlusionQueryBoolean)
+ !context->getExtensions().occlusionQueryBoolean && !context->getExtensions().syncQuery)
{
context->handleError(Error(GL_INVALID_OPERATION, "Query extension not enabled"));
return false;