Make query extensions enableable.
BUG=angleproject:1523
Change-Id: If2da4bff180664de997c981165672858c19ebe78
Reviewed-on: https://chromium-review.googlesource.com/685649
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/tests/gl_tests/MultiviewDrawTest.cpp b/src/tests/gl_tests/MultiviewDrawTest.cpp
index 073dc93..e55f9d1 100644
--- a/src/tests/gl_tests/MultiviewDrawTest.cpp
+++ b/src/tests/gl_tests/MultiviewDrawTest.cpp
@@ -438,16 +438,30 @@
protected:
MultiviewOcclusionQueryTest() {}
+ bool requestOcclusionQueryExtension()
+ {
+ if (extensionRequestable("GL_EXT_occlusion_query_boolean"))
+ {
+ glRequestExtensionANGLE("GL_EXT_occlusion_query_boolean");
+ }
+
+ if (!extensionEnabled("GL_EXT_occlusion_query_boolean"))
+ {
+ std::cout << "Test skipped due to missing GL_EXT_occlusion_query_boolean." << std::endl;
+ return false;
+ }
+ return true;
+ }
+
GLuint drawAndRetrieveOcclusionQueryResult(GLuint program)
{
- GLuint query;
- glGenQueries(1, &query);
- glBeginQuery(GL_ANY_SAMPLES_PASSED, query);
+ GLQueryEXT query;
+ glBeginQueryEXT(GL_ANY_SAMPLES_PASSED, query);
drawQuad(program, "vPosition", 0.0f, 1.0f, true);
glEndQueryEXT(GL_ANY_SAMPLES_PASSED);
GLuint result = GL_TRUE;
- glGetQueryObjectuiv(query, GL_QUERY_RESULT, &result);
+ glGetQueryObjectuivEXT(query, GL_QUERY_RESULT, &result);
return result;
}
};
@@ -1192,10 +1206,8 @@
// transforms geometry to be outside of the clip region.
TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryNothingVisible)
{
- if (!requestMultiviewExtension())
- {
- return;
- }
+ ANGLE_SKIP_TEST_IF(!requestMultiviewExtension());
+ ANGLE_SKIP_TEST_IF(!requestOcclusionQueryExtension());
const std::string vsSource =
"#version 300 es\n"
@@ -1229,10 +1241,8 @@
// output.
TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyLeftVisible)
{
- if (!requestMultiviewExtension())
- {
- return;
- }
+ ANGLE_SKIP_TEST_IF(!requestMultiviewExtension());
+ ANGLE_SKIP_TEST_IF(!requestOcclusionQueryExtension());
const std::string vsSource =
"#version 300 es\n"
@@ -1266,10 +1276,8 @@
// output.
TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyRightVisible)
{
- if (!requestMultiviewExtension())
- {
- return;
- }
+ ANGLE_SKIP_TEST_IF(!requestMultiviewExtension());
+ ANGLE_SKIP_TEST_IF(!requestOcclusionQueryExtension());
const std::string vsSource =
"#version 300 es\n"