Vulkan: Add display creation, test and extension.
With this CL we have the ability to create Vulkan test configs and run
basic tests, although the only thing that works is creating a Vulkan
Renderer using the extension.
BUG=angleproject:1319
Change-Id: I8ad17bba01241334be7da16e68fea38762ca6a20
Reviewed-on: https://chromium-review.googlesource.com/367750
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/tests/gl_tests/RendererTest.cpp b/src/tests/gl_tests/RendererTest.cpp
index b9c745f..2aeafd1 100644
--- a/src/tests/gl_tests/RendererTest.cpp
+++ b/src/tests/gl_tests/RendererTest.cpp
@@ -106,6 +106,11 @@
ASSERT_TRUE(IsNULL());
}
+ if (platform.renderer == EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE)
+ {
+ ASSERT_TRUE(IsVulkan());
+ }
+
EGLint glesMajorVersion = GetParam().majorVersion;
EGLint glesMinorVersion = GetParam().minorVersion;
@@ -126,6 +131,9 @@
{
FAIL() << "Unhandled GL ES client version.";
}
+
+ ASSERT_GL_NO_ERROR();
+ ASSERT_EGL_SUCCESS();
}
// Perform a simple operation (clear and read pixels) to verify the device is working
@@ -137,6 +145,13 @@
return;
}
+ // TODO(jmadil): Vulkan clear.
+ if (IsVulkan())
+ {
+ std::cout << "Vulkan clears not yet implemented" << std::endl;
+ return;
+ }
+
glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
EXPECT_PIXEL_EQ(0, 0, 0, 255, 0, 255);
@@ -229,5 +244,9 @@
// All ES version on top of the NULL backend
ES2_NULL(),
ES3_NULL(),
- ES31_NULL());
-}
+ ES31_NULL(),
+
+ // ES on top of Vulkan
+ ES2_VULKAN(),
+ ES3_VULKAN());
+} // anonymous namespace