Use value-paramaterized tests instead of by type.

This should fix our non-standard template use, which causes compile
errors for the tests on GCC/Clang.

BUG=angleproject:997

Change-Id: Id1bb15231eda445f37e53a5b33d4684ec6618d8e
Reviewed-on: https://chromium-review.googlesource.com/269858
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/end2end_tests/PointSpritesTest.cpp b/src/tests/end2end_tests/PointSpritesTest.cpp
index 4fad700..b7bdc2d 100644
--- a/src/tests/end2end_tests/PointSpritesTest.cpp
+++ b/src/tests/end2end_tests/PointSpritesTest.cpp
@@ -1,24 +1,21 @@
-#include "ANGLETest.h"
-
-// Use this to select which configurations (e.g. which renderer, which GLES
-// major version) these tests should be run against.
+//
+// Copyright 2015 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 //
 // Some of the pointsprite tests below were ported from Khronos WebGL
 // conformance test suite.
 
-//
-// We test on D3D11 9_3 because the existing D3D11 PointSprite implementation
-// uses Geometry Shaders which are not supported for 9_3.
-// D3D9 and D3D11 are also tested to ensure no regressions.
-ANGLE_TYPED_TEST_CASE(PointSpritesTest, ES2_D3D9, ES2_D3D11, ES2_D3D11_FL9_3);
+#include "ANGLETest.h"
 
-template<typename T>
+using namespace angle;
+
 class PointSpritesTest : public ANGLETest
 {
   protected:
     const int windowWidth = 256;
     const int windowHeight = 256;
-    PointSpritesTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetPlatform())
+    PointSpritesTest()
     {
         setWindowWidth(windowWidth);
         setWindowHeight(windowHeight);
@@ -41,7 +38,7 @@
 
 // Checks gl_PointCoord and gl_PointSize
 // https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/variables/gl-pointcoord.html
-TYPED_TEST(PointSpritesTest, PointCoordAndPointSizeCompliance)
+TEST_P(PointSpritesTest, PointCoordAndPointSizeCompliance)
 {
     const std::string fs = SHADER_SOURCE
     (
@@ -146,7 +143,7 @@
 
 // Verify that drawing a point without enabling any attributes succeeds
 // https://www.khronos.org/registry/webgl/sdk/tests/conformance/rendering/point-no-attributes.html
-TYPED_TEST(PointSpritesTest, PointWithoutAttributesCompliance)
+TEST_P(PointSpritesTest, PointWithoutAttributesCompliance)
 {
     const std::string fs = SHADER_SOURCE
     (
@@ -181,7 +178,7 @@
 
 // This is a regression test for a graphics driver bug affecting end caps on roads in MapsGL
 // https://www.khronos.org/registry/webgl/sdk/tests/conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
-TYPED_TEST(PointSpritesTest, PointCoordRegressionTest)
+TEST_P(PointSpritesTest, PointCoordRegressionTest)
 {
     const std::string fs = SHADER_SOURCE
     (
@@ -266,7 +263,7 @@
 
 // Verify GL_VERTEX_PROGRAM_POINT_SIZE is enabled
 // https://www.khronos.org/registry/webgl/sdk/tests/conformance/rendering/point-size.html
-TYPED_TEST(PointSpritesTest, PointSizeEnabledCompliance)
+TEST_P(PointSpritesTest, PointSizeEnabledCompliance)
 {
     const std::string fs = SHADER_SOURCE
     (
@@ -390,7 +387,7 @@
 }
 
 // Verify that rendering works correctly when gl_PointSize is declared in a shader but isn't used
-TYPED_TEST(PointSpritesTest, PointSizeDeclaredButUnused)
+TEST_P(PointSpritesTest, PointSizeDeclaredButUnused)
 {
     const std::string vs = SHADER_SOURCE
     (
@@ -424,3 +421,11 @@
 
     glDeleteProgram(program);
 }
+
+// Use this to select which configurations (e.g. which renderer, which GLES
+// major version) these tests should be run against.
+//
+// We test on D3D11 9_3 because the existing D3D11 PointSprite implementation
+// uses Geometry Shaders which are not supported for 9_3.
+// D3D9 and D3D11 are also tested to ensure no regressions.
+ANGLE_INSTANTIATE_TEST(PointSpritesTest, ES2_D3D9(), ES2_D3D11(), ES2_D3D11_FL9_3());