Add some shared utilities for multiview tests
This prepares for fixing multiview test resource init/teardown order.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I841327416fa76ac682310ef1b2309f5bb4e9fbac
Reviewed-on: https://chromium-review.googlesource.com/1179155
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/gl_tests/FramebufferMultiviewTest.cpp b/src/tests/gl_tests/FramebufferMultiviewTest.cpp
index 5552ba0..b8e4aea 100644
--- a/src/tests/gl_tests/FramebufferMultiviewTest.cpp
+++ b/src/tests/gl_tests/FramebufferMultiviewTest.cpp
@@ -7,7 +7,7 @@
// The tests modify and examine the multiview state.
//
-#include "test_utils/ANGLETest.h"
+#include "test_utils/MultiviewTest.h"
#include "test_utils/gl_raii.h"
using namespace angle;
@@ -26,39 +26,11 @@
}
} // namespace
-class FramebufferMultiviewTest : public ANGLETest
+// Base class for tests that care mostly about draw call validity and not rendering results.
+class FramebufferMultiviewTest : public MultiviewTest
{
protected:
- FramebufferMultiviewTest()
- {
- setWindowWidth(128);
- setWindowHeight(128);
- setWebGLCompatibilityEnabled(true);
- }
-
- void SetUp() override
- {
- ANGLETest::SetUp();
- glRequestExtensionANGLE = reinterpret_cast<PFNGLREQUESTEXTENSIONANGLEPROC>(
- eglGetProcAddress("glRequestExtensionANGLE"));
- }
-
- // Requests the ANGLE_multiview extension and returns true if the operation succeeds.
- bool requestMultiviewExtension()
- {
- if (extensionRequestable("GL_ANGLE_multiview"))
- {
- glRequestExtensionANGLE("GL_ANGLE_multiview");
- }
-
- if (!extensionEnabled("GL_ANGLE_multiview"))
- {
- return false;
- }
- return true;
- }
-
- PFNGLREQUESTEXTENSIONANGLEPROC glRequestExtensionANGLE = nullptr;
+ FramebufferMultiviewTest() : MultiviewTest() {}
};
class FramebufferMultiviewSideBySideClearTest : public FramebufferMultiviewTest
@@ -1398,6 +1370,10 @@
EXPECT_EQ(GLColor::green, getLayerColor(1, GL_COLOR_ATTACHMENT0));
}
-ANGLE_INSTANTIATE_TEST(FramebufferMultiviewTest, ES3_OPENGL(), ES3_D3D11());
-ANGLE_INSTANTIATE_TEST(FramebufferMultiviewSideBySideClearTest, ES3_OPENGL(), ES3_D3D11());
-ANGLE_INSTANTIATE_TEST(FramebufferMultiviewLayeredClearTest, ES3_OPENGL(), ES3_D3D11());
\ No newline at end of file
+ANGLE_INSTANTIATE_TEST(FramebufferMultiviewTest, VertexShaderOpenGL(3, 0), GeomShaderD3D11(3, 0));
+ANGLE_INSTANTIATE_TEST(FramebufferMultiviewSideBySideClearTest,
+ VertexShaderOpenGL(3, 0),
+ GeomShaderD3D11(3, 0));
+ANGLE_INSTANTIATE_TEST(FramebufferMultiviewLayeredClearTest,
+ VertexShaderOpenGL(3, 0),
+ GeomShaderD3D11(3, 0));
\ No newline at end of file