Enabled Vulkan backend on as many tests as possible

Bug: angleproject:2694
Change-Id: I299d71e0857065d0f60204977d395793f921deaa
Reviewed-on: https://chromium-review.googlesource.com/1117702
Commit-Queue: Omar El Sheikh <theoking@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/tests/perf_tests/BindingPerf.cpp b/src/tests/perf_tests/BindingPerf.cpp
index 1d8466f..f3354ae 100644
--- a/src/tests/perf_tests/BindingPerf.cpp
+++ b/src/tests/perf_tests/BindingPerf.cpp
@@ -192,6 +192,14 @@
     return params;
 }
 
+BindingsParams VulkanParams(AllocationStyle allocationStyle)
+{
+    BindingsParams params;
+    params.eglParameters   = egl_platform::VULKAN_NULL();
+    params.allocationStyle = allocationStyle;
+    return params;
+}
+
 TEST_P(BindingsBenchmark, Run)
 {
     run();
@@ -203,6 +211,8 @@
                        D3D9Params(EVERY_ITERATION),
                        D3D9Params(AT_INITIALIZATION),
                        OpenGLOrGLESParams(EVERY_ITERATION),
-                       OpenGLOrGLESParams(AT_INITIALIZATION));
+                       OpenGLOrGLESParams(AT_INITIALIZATION),
+                       VulkanParams(EVERY_ITERATION),
+                       VulkanParams(AT_INITIALIZATION));
 
 }  // namespace angle
diff --git a/src/tests/perf_tests/BlitFramebufferPerf.cpp b/src/tests/perf_tests/BlitFramebufferPerf.cpp
index a2f6938..76e1937 100644
--- a/src/tests/perf_tests/BlitFramebufferPerf.cpp
+++ b/src/tests/perf_tests/BlitFramebufferPerf.cpp
@@ -236,6 +236,15 @@
     return params;
 }
 
+BlitFramebufferParams Vulkan(BufferType type, unsigned int samples)
+{
+    BlitFramebufferParams params;
+    params.eglParameters = angle::egl_platform::VULKAN();
+    params.type          = type;
+    params.samples       = samples;
+    return params;
+}
+
 }  // anonymous namespace
 
 // TODO(jmadill): Programatically generate these combinations.
@@ -247,4 +256,12 @@
                        D3D11(BufferType::COLOR, 2),
                        D3D11(BufferType::DEPTH, 2),
                        D3D11(BufferType::STENCIL, 2),
-                       D3D11(BufferType::DEPTH_STENCIL, 2))
+                       D3D11(BufferType::DEPTH_STENCIL, 2),
+                       Vulkan(BufferType::COLOR, 0),
+                       Vulkan(BufferType::DEPTH, 0),
+                       Vulkan(BufferType::STENCIL, 0),
+                       Vulkan(BufferType::DEPTH_STENCIL, 0),
+                       Vulkan(BufferType::COLOR, 2),
+                       Vulkan(BufferType::DEPTH, 2),
+                       Vulkan(BufferType::STENCIL, 2),
+                       Vulkan(BufferType::DEPTH_STENCIL, 2))
diff --git a/src/tests/perf_tests/BufferSubData.cpp b/src/tests/perf_tests/BufferSubData.cpp
index b31f925..a9f64d3 100644
--- a/src/tests/perf_tests/BufferSubData.cpp
+++ b/src/tests/perf_tests/BufferSubData.cpp
@@ -378,6 +378,16 @@
     return params;
 }
 
+BufferSubDataParams BufferUpdateVulkanParams()
+{
+    BufferSubDataParams params;
+    params.eglParameters        = egl_platform::VULKAN();
+    params.vertexType           = GL_FLOAT;
+    params.vertexComponentCount = 4;
+    params.vertexNormalized     = GL_FALSE;
+    return params;
+}
+
 TEST_P(BufferSubDataBenchmark, Run)
 {
     run();
@@ -386,6 +396,7 @@
 ANGLE_INSTANTIATE_TEST(BufferSubDataBenchmark,
                        BufferUpdateD3D11Params(),
                        BufferUpdateD3D9Params(),
-                       BufferUpdateOpenGLOrGLESParams());
+                       BufferUpdateOpenGLOrGLESParams(),
+                       BufferUpdateVulkanParams());
 
 } // namespace
diff --git a/src/tests/perf_tests/DispatchComputePerf.cpp b/src/tests/perf_tests/DispatchComputePerf.cpp
index 567b77f..c6d5fa2 100644
--- a/src/tests/perf_tests/DispatchComputePerf.cpp
+++ b/src/tests/perf_tests/DispatchComputePerf.cpp
@@ -164,6 +164,14 @@
     return params;
 }
 
+DispatchComputePerfParams DispatchComputePerfVulkanParams(bool useNullDevice)
+{
+    DispatchComputePerfParams params;
+    params.eglParameters =
+        useNullDevice ? angle::egl_platform::VULKAN() : angle::egl_platform::VULKAN_NULL();
+    return params;
+}
+
 TEST_P(DispatchComputePerfBenchmark, Run)
 {
     run();
@@ -171,6 +179,8 @@
 
 ANGLE_INSTANTIATE_TEST(DispatchComputePerfBenchmark,
                        DispatchComputePerfOpenGLOrGLESParams(true),
-                       DispatchComputePerfOpenGLOrGLESParams(false));
+                       DispatchComputePerfOpenGLOrGLESParams(false),
+                       DispatchComputePerfVulkanParams(true),
+                       DispatchComputePerfVulkanParams(false));
 
 }  // namespace
diff --git a/src/tests/perf_tests/DynamicPromotionPerfTest.cpp b/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
index 10dd483..9ce80f9 100644
--- a/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
+++ b/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
@@ -177,6 +177,13 @@
     return params;
 }
 
+DynamicPromotionParams DynamicPromotionVulkanParams()
+{
+    DynamicPromotionParams params;
+    params.eglParameters = egl_platform::VULKAN();
+    return params;
+}
+
 TEST_P(DynamicPromotionPerfTest, Run)
 {
     run();
@@ -184,6 +191,7 @@
 
 ANGLE_INSTANTIATE_TEST(DynamicPromotionPerfTest,
                        DynamicPromotionD3D11Params(),
-                       DynamicPromotionD3D9Params());
+                       DynamicPromotionD3D9Params(),
+                       DynamicPromotionVulkanParams());
 
 }  // anonymous namespace
diff --git a/src/tests/perf_tests/EGLInitializePerf.cpp b/src/tests/perf_tests/EGLInitializePerf.cpp
index 8564c94..fb2530b 100644
--- a/src/tests/perf_tests/EGLInitializePerf.cpp
+++ b/src/tests/perf_tests/EGLInitializePerf.cpp
@@ -154,6 +154,6 @@
     run();
 }
 
-ANGLE_INSTANTIATE_TEST(EGLInitializePerfTest, angle::ES2_D3D11());
+ANGLE_INSTANTIATE_TEST(EGLInitializePerfTest, angle::ES2_D3D11(), angle::ES2_VULKAN());
 
 } // namespace
diff --git a/src/tests/perf_tests/IndexConversionPerf.cpp b/src/tests/perf_tests/IndexConversionPerf.cpp
index 202c9c0..e969ed6 100644
--- a/src/tests/perf_tests/IndexConversionPerf.cpp
+++ b/src/tests/perf_tests/IndexConversionPerf.cpp
@@ -223,5 +223,4 @@
 ANGLE_INSTANTIATE_TEST(IndexConversionPerfTest,
                        IndexConversionPerfD3D11Params(),
                        IndexRangeOffsetPerfD3D11Params());
-
 }  // namespace
diff --git a/src/tests/perf_tests/InterleavedAttributeData.cpp b/src/tests/perf_tests/InterleavedAttributeData.cpp
index bf3a7c5..5914a57 100644
--- a/src/tests/perf_tests/InterleavedAttributeData.cpp
+++ b/src/tests/perf_tests/InterleavedAttributeData.cpp
@@ -225,10 +225,18 @@
     return params;
 }
 
+InterleavedAttributeDataParams VulkanParams()
+{
+    InterleavedAttributeDataParams params;
+    params.eglParameters = egl_platform::VULKAN();
+    return params;
+}
+
 ANGLE_INSTANTIATE_TEST(InterleavedAttributeDataBenchmark,
                        D3D11Params(),
                        D3D11_9_3Params(),
                        D3D9Params(),
-                       OpenGLOrGLESParams());
+                       OpenGLOrGLESParams(),
+                       VulkanParams());
 
 }  // anonymous namespace
diff --git a/src/tests/perf_tests/LinkProgramPerfTest.cpp b/src/tests/perf_tests/LinkProgramPerfTest.cpp
index 0fa0f01..c050662 100644
--- a/src/tests/perf_tests/LinkProgramPerfTest.cpp
+++ b/src/tests/perf_tests/LinkProgramPerfTest.cpp
@@ -135,6 +135,13 @@
     return params;
 }
 
+LinkProgramParams LinkProgramVulkanParams()
+{
+    LinkProgramParams params;
+    params.eglParameters = VULKAN();
+    return params;
+}
+
 TEST_P(LinkProgramBenchmark, Run)
 {
     run();
@@ -143,6 +150,7 @@
 ANGLE_INSTANTIATE_TEST(LinkProgramBenchmark,
                        LinkProgramD3D11Params(),
                        LinkProgramD3D9Params(),
-                       LinkProgramOpenGLOrGLESParams());
+                       LinkProgramOpenGLOrGLESParams(),
+                       LinkProgramVulkanParams());
 
 }  // anonymous namespace
diff --git a/src/tests/perf_tests/PointSprites.cpp b/src/tests/perf_tests/PointSprites.cpp
index d7537b2..0a57126 100644
--- a/src/tests/perf_tests/PointSprites.cpp
+++ b/src/tests/perf_tests/PointSprites.cpp
@@ -219,6 +219,13 @@
     return params;
 }
 
+PointSpritesParams VulkanParams()
+{
+    PointSpritesParams params;
+    params.eglParameters = egl_platform::VULKAN();
+    return params;
+}
+
 } // namespace
 
 TEST_P(PointSpritesBenchmark, Run)
@@ -226,4 +233,8 @@
     run();
 }
 
-ANGLE_INSTANTIATE_TEST(PointSpritesBenchmark, D3D11Params(), D3D9Params(), OpenGLOrGLESParams());
+ANGLE_INSTANTIATE_TEST(PointSpritesBenchmark,
+                       D3D11Params(),
+                       D3D9Params(),
+                       OpenGLOrGLESParams(),
+                       VulkanParams());
diff --git a/src/tests/perf_tests/TexSubImage.cpp b/src/tests/perf_tests/TexSubImage.cpp
index 8ebcc80..92969ae 100644
--- a/src/tests/perf_tests/TexSubImage.cpp
+++ b/src/tests/perf_tests/TexSubImage.cpp
@@ -281,6 +281,13 @@
     return params;
 }
 
+TexSubImageParams VulkanParams()
+{
+    TexSubImageParams params;
+    params.eglParameters = egl_platform::VULKAN();
+    return params;
+}
+
 }  // namespace
 
 TEST_P(TexSubImageBenchmark, Run)
@@ -288,4 +295,8 @@
     run();
 }
 
-ANGLE_INSTANTIATE_TEST(TexSubImageBenchmark, D3D11Params(), D3D9Params(), OpenGLOrGLESParams());
+ANGLE_INSTANTIATE_TEST(TexSubImageBenchmark,
+                       D3D11Params(),
+                       D3D9Params(),
+                       OpenGLOrGLESParams(),
+                       VulkanParams());
diff --git a/src/tests/perf_tests/TextureSampling.cpp b/src/tests/perf_tests/TextureSampling.cpp
index af0cbd5..703331a 100644
--- a/src/tests/perf_tests/TextureSampling.cpp
+++ b/src/tests/perf_tests/TextureSampling.cpp
@@ -278,6 +278,13 @@
     return params;
 }
 
+TextureSamplingParams VulkanParams()
+{
+    TextureSamplingParams params;
+    params.eglParameters = egl_platform::VULKAN();
+    return params;
+}
+
 }  // anonymous namespace
 
 TEST_P(TextureSamplingBenchmark, Run)
@@ -285,4 +292,8 @@
     run();
 }
 
-ANGLE_INSTANTIATE_TEST(TextureSamplingBenchmark, D3D11Params(), D3D9Params(), OpenGLOrGLESParams());
+ANGLE_INSTANTIATE_TEST(TextureSamplingBenchmark,
+                       D3D11Params(),
+                       D3D9Params(),
+                       OpenGLOrGLESParams(),
+                       VulkanParams());
diff --git a/src/tests/perf_tests/TexturesPerf.cpp b/src/tests/perf_tests/TexturesPerf.cpp
index a0df45f..6373e95 100644
--- a/src/tests/perf_tests/TexturesPerf.cpp
+++ b/src/tests/perf_tests/TexturesPerf.cpp
@@ -308,5 +308,4 @@
                        D3D9Params(true),
                        OpenGLOrGLESParams(false),
                        OpenGLOrGLESParams(true));
-
 }  // namespace angle