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