Commit af883628 by Luc Ferron Committed by Commit Bot

Vulkan: enable as many end2end tests as possible

Bug: angleproject:2615 Change-Id: I918cc18984b2e5b22b5e13398355a2fd60e4eb00 Reviewed-on: https://chromium-review.googlesource.com/1093564 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 6c60641d
...@@ -327,6 +327,9 @@ gl::Error FramebufferVk::blit(const gl::Context *context, ...@@ -327,6 +327,9 @@ gl::Error FramebufferVk::blit(const gl::Context *context,
GLbitfield mask, GLbitfield mask,
GLenum filter) GLenum filter)
{ {
// TODO(lucferron): Implement this
// Should enable the BlitFramebufferANGLETest tests in angle_end2end_tests
// http://anglebug.com/2643
UNIMPLEMENTED(); UNIMPLEMENTED();
return gl::InternalError(); return gl::InternalError();
} }
......
...@@ -118,6 +118,7 @@ ANGLE_INSTANTIATE_TEST(BindGeneratesResourceTest, ...@@ -118,6 +118,7 @@ ANGLE_INSTANTIATE_TEST(BindGeneratesResourceTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace } // namespace
...@@ -160,6 +160,10 @@ TEST_P(BindUniformLocationTest, Compositor) ...@@ -160,6 +160,10 @@ TEST_P(BindUniformLocationTest, Compositor)
{ {
ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location")); ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2642
ANGLE_SKIP_TEST_IF(IsVulkan());
ASSERT_NE(nullptr, mBindUniformLocation); ASSERT_NE(nullptr, mBindUniformLocation);
const std::string vsSource = const std::string vsSource =
...@@ -596,7 +600,8 @@ ANGLE_INSTANTIATE_TEST(BindUniformLocationTest, ...@@ -596,7 +600,8 @@ ANGLE_INSTANTIATE_TEST(BindUniformLocationTest,
ES2_D3D11(), ES2_D3D11(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(BindUniformLocationES31Test, ES31_D3D11(), ES31_OPENGL(), ES31_OPENGLES()) ANGLE_INSTANTIATE_TEST(BindUniformLocationES31Test, ES31_D3D11(), ES31_OPENGL(), ES31_OPENGLES())
......
...@@ -195,4 +195,5 @@ ANGLE_INSTANTIATE_TEST(BlendMinMaxTest, ...@@ -195,4 +195,5 @@ ANGLE_INSTANTIATE_TEST(BlendMinMaxTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
...@@ -475,6 +475,9 @@ TEST_P(BufferDataTestES3, NoBufferInitDataCopyBug) ...@@ -475,6 +475,9 @@ TEST_P(BufferDataTestES3, NoBufferInitDataCopyBug)
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
} }
// TODO(lucferron): Diagnose and fix the Vulkan backend to enable the BufferDataTest tests.
// http://anglebug.com/2644
// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. // Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against.
ANGLE_INSTANTIATE_TEST(BufferDataTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ANGLE_INSTANTIATE_TEST(BufferDataTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES());
ANGLE_INSTANTIATE_TEST(BufferDataTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(BufferDataTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
......
...@@ -116,5 +116,6 @@ ANGLE_INSTANTIATE_TEST(ClientArraysTest, ...@@ -116,5 +116,6 @@ ANGLE_INSTANTIATE_TEST(ClientArraysTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace } // namespace
...@@ -87,6 +87,7 @@ ANGLE_INSTANTIATE_TEST(ColorMaskTest, ...@@ -87,6 +87,7 @@ ANGLE_INSTANTIATE_TEST(ColorMaskTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace angle } // namespace angle
...@@ -356,6 +356,7 @@ ANGLE_INSTANTIATE_TEST(CopyCompressedTextureTest, ...@@ -356,6 +356,7 @@ ANGLE_INSTANTIATE_TEST(CopyCompressedTextureTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace angle } // namespace angle
...@@ -1589,8 +1589,18 @@ TEST_P(CopyTextureTestES3, ES3UintFormats) ...@@ -1589,8 +1589,18 @@ TEST_P(CopyTextureTestES3, ES3UintFormats)
// Use this to select which configurations (e.g. which renderer, which GLES major version) these // Use this to select which configurations (e.g. which renderer, which GLES major version) these
// tests should be run against. // tests should be run against.
ANGLE_INSTANTIATE_TEST(CopyTextureTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ANGLE_INSTANTIATE_TEST(CopyTextureTest,
ANGLE_INSTANTIATE_TEST(CopyTextureTestWebGL, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ES2_D3D9(),
ES2_D3D11(),
ES2_OPENGL(),
ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(CopyTextureTestWebGL,
ES2_D3D9(),
ES2_D3D11(),
ES2_OPENGL(),
ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(CopyTextureTestDest, ES2_D3D11()); ANGLE_INSTANTIATE_TEST(CopyTextureTestDest, ES2_D3D11());
ANGLE_INSTANTIATE_TEST(CopyTextureTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(CopyTextureTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
......
...@@ -153,6 +153,11 @@ TEST_P(D3DImageFormatConversionTest, WriteColorFunctionR8G8B8) ...@@ -153,6 +153,11 @@ TEST_P(D3DImageFormatConversionTest, WriteColorFunctionR8G8B8)
// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. // Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against.
// Even though this test is only run on Windows (since it includes imageformats.h from the D3D renderer), we can still run the test // Even though this test is only run on Windows (since it includes imageformats.h from the D3D renderer), we can still run the test
// against OpenGL. This is valuable, since it provides extra validation using a renderer that doesn't use imageformats.h itself. // against OpenGL. This is valuable, since it provides extra validation using a renderer that doesn't use imageformats.h itself.
ANGLE_INSTANTIATE_TEST(D3DImageFormatConversionTest, ES2_D3D9(), ES2_D3D11(), ES2_D3D11_FL9_3(), ES2_OPENGL()); ANGLE_INSTANTIATE_TEST(D3DImageFormatConversionTest,
ES2_D3D9(),
ES2_D3D11(),
ES2_D3D11_FL9_3(),
ES2_OPENGL(),
ES2_VULKAN());
} // namespace } // namespace
...@@ -62,6 +62,11 @@ TEST_P(DebugMarkerTest, BasicValidation) ...@@ -62,6 +62,11 @@ TEST_P(DebugMarkerTest, BasicValidation)
} }
// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. // Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against.
ANGLE_INSTANTIATE_TEST(DebugMarkerTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ANGLE_INSTANTIATE_TEST(DebugMarkerTest,
ES2_D3D9(),
ES2_D3D11(),
ES2_OPENGL(),
ES2_OPENGLES(),
ES2_VULKAN());
} // namespace } // namespace
...@@ -410,6 +410,7 @@ ANGLE_INSTANTIATE_TEST(DebugTest, ...@@ -410,6 +410,7 @@ ANGLE_INSTANTIATE_TEST(DebugTest,
ES2_D3D11(), ES2_D3D11(),
ES3_D3D11(), ES3_D3D11(),
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL()); ES3_OPENGL(),
ES2_VULKAN());
} // namespace angle } // namespace angle
...@@ -1797,6 +1797,7 @@ ANGLE_INSTANTIATE_TEST(ImageTest, ...@@ -1797,6 +1797,7 @@ ANGLE_INSTANTIATE_TEST(ImageTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(ImageTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(ImageTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
} }
...@@ -118,6 +118,10 @@ class IndexBufferOffsetTest : public ANGLETest ...@@ -118,6 +118,10 @@ class IndexBufferOffsetTest : public ANGLETest
// Test using an offset for an UInt8 index buffer // Test using an offset for an UInt8 index buffer
TEST_P(IndexBufferOffsetTest, UInt8Index) TEST_P(IndexBufferOffsetTest, UInt8Index)
{ {
// TODO(lucferron): Add support for unsigned byte elements array buffers
// http://anglebug.com/2659
ANGLE_SKIP_TEST_IF(IsVulkan());
GLubyte indexData[] = {0, 1, 2, 1, 2, 3}; GLubyte indexData[] = {0, 1, 2, 1, 2, 3};
runTest(GL_UNSIGNED_BYTE, 1, indexData); runTest(GL_UNSIGNED_BYTE, 1, indexData);
} }
...@@ -125,6 +129,10 @@ TEST_P(IndexBufferOffsetTest, UInt8Index) ...@@ -125,6 +129,10 @@ TEST_P(IndexBufferOffsetTest, UInt8Index)
// Test using an offset for an UInt16 index buffer // Test using an offset for an UInt16 index buffer
TEST_P(IndexBufferOffsetTest, UInt16Index) TEST_P(IndexBufferOffsetTest, UInt16Index)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2645
ANGLE_SKIP_TEST_IF(IsVulkan());
GLushort indexData[] = {0, 1, 2, 1, 2, 3}; GLushort indexData[] = {0, 1, 2, 1, 2, 3};
runTest(GL_UNSIGNED_SHORT, 2, indexData); runTest(GL_UNSIGNED_SHORT, 2, indexData);
} }
...@@ -146,4 +154,5 @@ ANGLE_INSTANTIATE_TEST(IndexBufferOffsetTest, ...@@ -146,4 +154,5 @@ ANGLE_INSTANTIATE_TEST(IndexBufferOffsetTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
...@@ -375,6 +375,9 @@ TEST_P(IndexedPointsTestUInt, VertexWithColorUnsignedIntOffset3) ...@@ -375,6 +375,9 @@ TEST_P(IndexedPointsTestUInt, VertexWithColorUnsignedIntOffset3)
runTest(3, false); runTest(3, false);
} }
// TODO(lucferron): Diagnose and fix the UByte and UShort tests below for Vulkan.
// http://anglebug.com/2646
// TODO(geofflang): Figure out why this test fails on Intel OpenGL // TODO(geofflang): Figure out why this test fails on Intel OpenGL
ANGLE_INSTANTIATE_TEST(IndexedPointsTestUByte, ANGLE_INSTANTIATE_TEST(IndexedPointsTestUByte,
ES2_D3D11(), ES2_D3D11(),
...@@ -390,4 +393,5 @@ ANGLE_INSTANTIATE_TEST(IndexedPointsTestUInt, ...@@ -390,4 +393,5 @@ ANGLE_INSTANTIATE_TEST(IndexedPointsTestUInt,
ES2_D3D11(), ES2_D3D11(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
\ No newline at end of file
...@@ -296,6 +296,8 @@ class InstancingTestPoints : public InstancingTest ...@@ -296,6 +296,8 @@ class InstancingTestPoints : public InstancingTest
// to D3D, to ensure that slot/stream zero of the input layout doesn't contain per-instance data. // to D3D, to ensure that slot/stream zero of the input layout doesn't contain per-instance data.
TEST_P(InstancingTestAllConfigs, AttributeZeroInstanced) TEST_P(InstancingTestAllConfigs, AttributeZeroInstanced)
{ {
ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_ANGLE_instanced_arrays"));
const std::string vs = const std::string vs =
"attribute vec3 a_instancePos;\n" "attribute vec3 a_instancePos;\n"
"attribute vec3 a_position;\n" "attribute vec3 a_position;\n"
...@@ -312,6 +314,7 @@ TEST_P(InstancingTestAllConfigs, AttributeZeroInstanced) ...@@ -312,6 +314,7 @@ TEST_P(InstancingTestAllConfigs, AttributeZeroInstanced)
// expected. // expected.
TEST_P(InstancingTestAllConfigs, AttributeZeroNotInstanced) TEST_P(InstancingTestAllConfigs, AttributeZeroNotInstanced)
{ {
ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_ANGLE_instanced_arrays"));
const std::string vs = const std::string vs =
"attribute vec3 a_position;\n" "attribute vec3 a_position;\n"
"attribute vec3 a_instancePos;\n" "attribute vec3 a_instancePos;\n"
...@@ -528,6 +531,9 @@ TEST_P(InstancingTestES31, UpdateAttribBindingByVertexAttribDivisor) ...@@ -528,6 +531,9 @@ TEST_P(InstancingTestES31, UpdateAttribBindingByVertexAttribDivisor)
glDeleteVertexArrays(1, &vao); glDeleteVertexArrays(1, &vao);
} }
// TODO(lucferron): Diagnose and fix InstancingTestAllConfigs for Vulkan.
// http://anglebug.com/2647
// Use this to select which configurations (e.g. which renderer, which GLES major version) these // Use this to select which configurations (e.g. which renderer, which GLES major version) these
// tests should be run against. We test on D3D9 and D3D11 9_3 because they use special codepaths // tests should be run against. We test on D3D9 and D3D11 9_3 because they use special codepaths
// when attribute zero is instanced, unlike D3D11. // when attribute zero is instanced, unlike D3D11.
......
...@@ -62,6 +62,10 @@ TEST_P(LinkAndRelinkTest, RenderingProgramFailsWithoutProgramInstalled) ...@@ -62,6 +62,10 @@ TEST_P(LinkAndRelinkTest, RenderingProgramFailsWithoutProgramInstalled)
// However, dispatching compute always fails. // However, dispatching compute always fails.
TEST_P(LinkAndRelinkTest, RenderingProgramFailsWithProgramInstalled) TEST_P(LinkAndRelinkTest, RenderingProgramFailsWithProgramInstalled)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2648
ANGLE_SKIP_TEST_IF(IsVulkan());
// Install a render program in current GL state via UseProgram, then render. // Install a render program in current GL state via UseProgram, then render.
// It should succeed. // It should succeed.
const std::string vsSource = const std::string vsSource =
...@@ -434,7 +438,8 @@ ANGLE_INSTANTIATE_TEST(LinkAndRelinkTest, ...@@ -434,7 +438,8 @@ ANGLE_INSTANTIATE_TEST(LinkAndRelinkTest,
ES2_D3D11(), ES2_D3D11(),
ES3_OPENGL(), ES3_OPENGL(),
ES3_OPENGLES(), ES3_OPENGLES(),
ES3_D3D11()); ES3_D3D11(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(LinkAndRelinkTestES31, ES31_OPENGL(), ES31_OPENGLES()); ANGLE_INSTANTIATE_TEST(LinkAndRelinkTestES31, ES31_OPENGL(), ES31_OPENGLES());
} // namespace } // namespace
...@@ -288,4 +288,8 @@ TEST_P(MaxTextureSizeTest, RenderToTexture) ...@@ -288,4 +288,8 @@ TEST_P(MaxTextureSizeTest, RenderToTexture)
// default framebuffer is BGRA to enable the GL and GLES backends. (http://anglebug.com/1289) // default framebuffer is BGRA to enable the GL and GLES backends. (http://anglebug.com/1289)
// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. // Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against.
ANGLE_INSTANTIATE_TEST(MaxTextureSizeTest, ES2_D3D9(), ES2_D3D11(), ES2_D3D11_FL9_3()); ANGLE_INSTANTIATE_TEST(MaxTextureSizeTest,
ES2_D3D9(),
ES2_D3D11(),
ES2_D3D11_FL9_3(),
ES2_VULKAN());
...@@ -414,4 +414,5 @@ ANGLE_INSTANTIATE_TEST(MultisampleCompatibilityTest, ...@@ -414,4 +414,5 @@ ANGLE_INSTANTIATE_TEST(MultisampleCompatibilityTest,
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_D3D11(), ES3_D3D11(),
ES3_OPENGL(), ES3_OPENGL(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
...@@ -711,7 +711,7 @@ TEST_P(ReadPixelsErrorTest, ReadBufferIsNone) ...@@ -711,7 +711,7 @@ TEST_P(ReadPixelsErrorTest, ReadBufferIsNone)
// Use this to select which configurations (e.g. which renderer, which GLES major version) these // Use this to select which configurations (e.g. which renderer, which GLES major version) these
// tests should be run against. // tests should be run against.
ANGLE_INSTANTIATE_TEST(ReadPixelsTest, ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ANGLE_INSTANTIATE_TEST(ReadPixelsTest, ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(ReadPixelsPBOTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(ReadPixelsPBOTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
ANGLE_INSTANTIATE_TEST(ReadPixelsPBODrawTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(ReadPixelsPBODrawTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
ANGLE_INSTANTIATE_TEST(ReadPixelsMultisampleTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(ReadPixelsMultisampleTest, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
......
...@@ -149,6 +149,9 @@ class SixteenBppTextureTestES3 : public SixteenBppTextureTest ...@@ -149,6 +149,9 @@ class SixteenBppTextureTestES3 : public SixteenBppTextureTest
// Samples from the texture, renders to it, generates mipmaps etc. // Samples from the texture, renders to it, generates mipmaps etc.
TEST_P(SixteenBppTextureTest, RGB565Validation) TEST_P(SixteenBppTextureTest, RGB565Validation)
{ {
// TODO(lucferron): Diagnose and fix http://anglebug.com/2656
ANGLE_SKIP_TEST_IF(IsVulkan() && (IsAndroid() || (IsWindows() && IsIntel())));
GLuint test; GLuint test;
memcpy(&test, &GLColor::black, 4); memcpy(&test, &GLColor::black, 4);
...@@ -176,6 +179,10 @@ TEST_P(SixteenBppTextureTest, RGB565Validation) ...@@ -176,6 +179,10 @@ TEST_P(SixteenBppTextureTest, RGB565Validation)
// Samples from the texture, renders to it, generates mipmaps etc. // Samples from the texture, renders to it, generates mipmaps etc.
TEST_P(SixteenBppTextureTest, RGBA5551Validation) TEST_P(SixteenBppTextureTest, RGBA5551Validation)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2649
ANGLE_SKIP_TEST_IF(IsVulkan());
GLushort pixels[4] = GLushort pixels[4] =
{ {
0xF801, // Red 0xF801, // Red
...@@ -202,6 +209,10 @@ TEST_P(SixteenBppTextureTest, RGBA5551Validation) ...@@ -202,6 +209,10 @@ TEST_P(SixteenBppTextureTest, RGBA5551Validation)
// Based on WebGL test conformance/textures/texture-attachment-formats.html // Based on WebGL test conformance/textures/texture-attachment-formats.html
TEST_P(SixteenBppTextureTest, RGBA5551ClearAlpha) TEST_P(SixteenBppTextureTest, RGBA5551ClearAlpha)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2649
ANGLE_SKIP_TEST_IF(IsVulkan());
GLTexture tex; GLTexture tex;
GLFramebuffer fbo; GLFramebuffer fbo;
...@@ -494,7 +505,8 @@ ANGLE_INSTANTIATE_TEST(SixteenBppTextureTest, ...@@ -494,7 +505,8 @@ ANGLE_INSTANTIATE_TEST(SixteenBppTextureTest,
ES2_D3D11(), ES2_D3D11(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(SixteenBppTextureTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(SixteenBppTextureTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
......
...@@ -160,6 +160,10 @@ TEST_P(StateChangeTest, FramebufferIncompleteWithTexStorage) ...@@ -160,6 +160,10 @@ TEST_P(StateChangeTest, FramebufferIncompleteWithTexStorage)
{ {
ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_EXT_texture_storage")); ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_EXT_texture_storage"));
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2651
ANGLE_SKIP_TEST_IF(IsVulkan());
glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
glBindTexture(GL_TEXTURE_2D, mTextures[0]); glBindTexture(GL_TEXTURE_2D, mTextures[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
...@@ -232,6 +236,10 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthAttachment) ...@@ -232,6 +236,10 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthAttachment)
// Test that Framebuffer completeness caching works when stencil attachments change. // Test that Framebuffer completeness caching works when stencil attachments change.
TEST_P(StateChangeTest, FramebufferIncompleteStencilAttachment) TEST_P(StateChangeTest, FramebufferIncompleteStencilAttachment)
{ {
// TODO(lucferron): Figure out why this fails on android and Intel/Windows and fix.
// http://anglebug.com/2655
ANGLE_SKIP_TEST_IF(IsVulkan() && (IsAndroid() || (IsIntel() && IsWindows())));
glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
glBindTexture(GL_TEXTURE_2D, mTextures[0]); glBindTexture(GL_TEXTURE_2D, mTextures[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
...@@ -296,6 +304,10 @@ void main() ...@@ -296,6 +304,10 @@ void main()
// Tests that using a buffered attribute, then disabling it and using current value, works. // Tests that using a buffered attribute, then disabling it and using current value, works.
TEST_P(StateChangeTest, DisablingBufferedVertexAttribute) TEST_P(StateChangeTest, DisablingBufferedVertexAttribute)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2650
ANGLE_SKIP_TEST_IF(IsVulkan());
ANGLE_GL_PROGRAM(program, kSimpleAttributeVS, kSimpleAttributeFS); ANGLE_GL_PROGRAM(program, kSimpleAttributeVS, kSimpleAttributeFS);
glUseProgram(program); glUseProgram(program);
GLint attribLoc = glGetAttribLocation(program, "testAttrib"); GLint attribLoc = glGetAttribLocation(program, "testAttrib");
...@@ -604,6 +616,10 @@ TEST_P(StateChangeRenderTest, RecreateRenderbuffer) ...@@ -604,6 +616,10 @@ TEST_P(StateChangeRenderTest, RecreateRenderbuffer)
// Test that recreating a texture with GenerateMipmaps signals the FBO is dirty. // Test that recreating a texture with GenerateMipmaps signals the FBO is dirty.
TEST_P(StateChangeRenderTest, GenerateMipmap) TEST_P(StateChangeRenderTest, GenerateMipmap)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2652
ANGLE_SKIP_TEST_IF(IsVulkan());
glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
glBindTexture(GL_TEXTURE_2D, mTextures[0]); glBindTexture(GL_TEXTURE_2D, mTextures[0]);
...@@ -2041,7 +2057,7 @@ TEST_P(SimpleStateChangeTest, ReleaseShaderInUseThatReadsFromUniforms) ...@@ -2041,7 +2057,7 @@ TEST_P(SimpleStateChangeTest, ReleaseShaderInUseThatReadsFromUniforms)
} // anonymous namespace } // anonymous namespace
ANGLE_INSTANTIATE_TEST(StateChangeTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL()); ANGLE_INSTANTIATE_TEST(StateChangeTest, ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(LineLoopStateChangeTest, ANGLE_INSTANTIATE_TEST(LineLoopStateChangeTest,
ES2_D3D9(), ES2_D3D9(),
ES2_D3D11(), ES2_D3D11(),
...@@ -2051,6 +2067,7 @@ ANGLE_INSTANTIATE_TEST(StateChangeRenderTest, ...@@ -2051,6 +2067,7 @@ ANGLE_INSTANTIATE_TEST(StateChangeRenderTest,
ES2_D3D9(), ES2_D3D9(),
ES2_D3D11(), ES2_D3D11(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_D3D11_FL9_3()); ES2_D3D11_FL9_3(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(StateChangeTestES3, ES3_D3D11(), ES3_OPENGL()); ANGLE_INSTANTIATE_TEST(StateChangeTestES3, ES3_D3D11(), ES3_OPENGL());
ANGLE_INSTANTIATE_TEST(SimpleStateChangeTest, ES2_VULKAN(), ES2_OPENGL()); ANGLE_INSTANTIATE_TEST(SimpleStateChangeTest, ES2_VULKAN(), ES2_OPENGL());
...@@ -1339,6 +1339,10 @@ TEST_P(SamplerArrayAsFunctionParameterTest, SamplerArrayAsFunctionParameter) ...@@ -1339,6 +1339,10 @@ TEST_P(SamplerArrayAsFunctionParameterTest, SamplerArrayAsFunctionParameter)
// Copy of a test in conformance/textures/texture-mips, to test generate mipmaps // Copy of a test in conformance/textures/texture-mips, to test generate mipmaps
TEST_P(Texture2DTestWithDrawScale, MipmapsTwice) TEST_P(Texture2DTestWithDrawScale, MipmapsTwice)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2653
ANGLE_SKIP_TEST_IF(IsVulkan());
int px = getWindowWidth() / 2; int px = getWindowWidth() / 2;
int py = getWindowHeight() / 2; int py = getWindowHeight() / 2;
...@@ -1381,6 +1385,9 @@ TEST_P(Texture2DTestWithDrawScale, MipmapsTwice) ...@@ -1381,6 +1385,9 @@ TEST_P(Texture2DTestWithDrawScale, MipmapsTwice)
// https://code.google.com/p/angleproject/issues/detail?id=849 // https://code.google.com/p/angleproject/issues/detail?id=849
TEST_P(TextureCubeTest, CubeMapFBO) TEST_P(TextureCubeTest, CubeMapFBO)
{ {
// TODO(jmadill): Cube map render targets. http://anglebug.com/2470
ANGLE_SKIP_TEST_IF(IsVulkan());
GLuint fbo; GLuint fbo;
glGenFramebuffers(1, &fbo); glGenFramebuffers(1, &fbo);
glBindFramebuffer(GL_FRAMEBUFFER, fbo); glBindFramebuffer(GL_FRAMEBUFFER, fbo);
...@@ -2933,6 +2940,10 @@ TEST_P(TextureLimitsTest, MaxFragmentTextures) ...@@ -2933,6 +2940,10 @@ TEST_P(TextureLimitsTest, MaxFragmentTextures)
// Test rendering with maximum combined texture units. // Test rendering with maximum combined texture units.
TEST_P(TextureLimitsTest, MaxCombinedTextures) TEST_P(TextureLimitsTest, MaxCombinedTextures)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2654
ANGLE_SKIP_TEST_IF(IsVulkan());
GLint vertexTextures = mMaxVertexTextures; GLint vertexTextures = mMaxVertexTextures;
if (vertexTextures + mMaxFragmentTextures > mMaxCombinedTextures) if (vertexTextures + mMaxFragmentTextures > mMaxCombinedTextures)
...@@ -2967,6 +2978,10 @@ TEST_P(TextureLimitsTest, ExcessiveFragmentTextures) ...@@ -2967,6 +2978,10 @@ TEST_P(TextureLimitsTest, ExcessiveFragmentTextures)
// Test active vertex textures under the limit, but excessive textures specified. // Test active vertex textures under the limit, but excessive textures specified.
TEST_P(TextureLimitsTest, MaxActiveVertexTextures) TEST_P(TextureLimitsTest, MaxActiveVertexTextures)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2654
ANGLE_SKIP_TEST_IF(IsVulkan());
compileProgramWithTextureCounts("tex", mMaxVertexTextures + 4, mMaxVertexTextures, "tex", 0, 0); compileProgramWithTextureCounts("tex", mMaxVertexTextures + 4, mMaxVertexTextures, "tex", 0, 0);
ASSERT_NE(0u, mProgram); ASSERT_NE(0u, mProgram);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
...@@ -2977,6 +2992,10 @@ TEST_P(TextureLimitsTest, MaxActiveVertexTextures) ...@@ -2977,6 +2992,10 @@ TEST_P(TextureLimitsTest, MaxActiveVertexTextures)
// Test active fragment textures under the limit, but excessive textures specified. // Test active fragment textures under the limit, but excessive textures specified.
TEST_P(TextureLimitsTest, MaxActiveFragmentTextures) TEST_P(TextureLimitsTest, MaxActiveFragmentTextures)
{ {
// TODO(lucferron): Diagnose and fix
// http://anglebug.com/2654
ANGLE_SKIP_TEST_IF(IsVulkan());
compileProgramWithTextureCounts("tex", 0, 0, "tex", mMaxFragmentTextures + 4, compileProgramWithTextureCounts("tex", 0, 0, "tex", mMaxFragmentTextures + 4,
mMaxFragmentTextures); mMaxFragmentTextures);
ASSERT_NE(0u, mProgram); ASSERT_NE(0u, mProgram);
...@@ -3757,13 +3776,15 @@ ANGLE_INSTANTIATE_TEST(TextureCubeTest, ...@@ -3757,13 +3776,15 @@ ANGLE_INSTANTIATE_TEST(TextureCubeTest,
ES2_D3D11_FL10_0(), ES2_D3D11_FL10_0(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(Texture2DTestWithDrawScale, ANGLE_INSTANTIATE_TEST(Texture2DTestWithDrawScale,
ES2_D3D9(), ES2_D3D9(),
ES2_D3D11(), ES2_D3D11(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(Sampler2DAsFunctionParameterTest, ANGLE_INSTANTIATE_TEST(Sampler2DAsFunctionParameterTest,
ES2_D3D9(), ES2_D3D9(),
ES2_D3D11(), ES2_D3D11(),
...@@ -3826,7 +3847,7 @@ ANGLE_INSTANTIATE_TEST(SamplerInStructAndOtherVariableTest, ...@@ -3826,7 +3847,7 @@ ANGLE_INSTANTIATE_TEST(SamplerInStructAndOtherVariableTest,
ES2_D3D9(), ES2_D3D9(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES());
ANGLE_INSTANTIATE_TEST(TextureLimitsTest, ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES()); ANGLE_INSTANTIATE_TEST(TextureLimitsTest, ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(Texture2DNorm16TestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(Texture2DNorm16TestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
ANGLE_INSTANTIATE_TEST(TextureCubeTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(TextureCubeTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
......
...@@ -303,6 +303,9 @@ std::string EnumStr(const GLenum v) ...@@ -303,6 +303,9 @@ std::string EnumStr(const GLenum v)
// Test all internalFormat/unpackFormat/unpackType combinations from ES3.0. // Test all internalFormat/unpackFormat/unpackType combinations from ES3.0.
TEST_P(TextureUploadFormatTest, All) TEST_P(TextureUploadFormatTest, All)
{ {
// TODO(lucferron): Diagnose and fix http://anglebug.com/2657
ANGLE_SKIP_TEST_IF(IsVulkan() && IsAndroid());
ANGLE_SKIP_TEST_IF(IsD3D9() || IsD3D11_FL93()); ANGLE_SKIP_TEST_IF(IsD3D9() || IsD3D11_FL93());
constexpr char kVertShaderES2[] = R"( constexpr char kVertShaderES2[] = R"(
...@@ -773,4 +776,5 @@ ANGLE_INSTANTIATE_TEST(TextureUploadFormatTest, ...@@ -773,4 +776,5 @@ ANGLE_INSTANTIATE_TEST(TextureUploadFormatTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
...@@ -778,6 +778,9 @@ TEST_P(UniformTestES3, OverflowArray) ...@@ -778,6 +778,9 @@ TEST_P(UniformTestES3, OverflowArray)
// Check setting a sampler uniform // Check setting a sampler uniform
TEST_P(UniformTest, Sampler) TEST_P(UniformTest, Sampler)
{ {
// TODO(jmadill): Implement sampler arrays. http://anglebug.com/2462
ANGLE_SKIP_TEST_IF(IsVulkan());
const std::string &vertShader = const std::string &vertShader =
"uniform sampler2D tex2D;\n" "uniform sampler2D tex2D;\n"
"void main() {\n" "void main() {\n"
...@@ -1269,7 +1272,8 @@ ANGLE_INSTANTIATE_TEST(UniformTest, ...@@ -1269,7 +1272,8 @@ ANGLE_INSTANTIATE_TEST(UniformTest,
ES2_D3D11(), ES2_D3D11(),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGL(), ES2_OPENGL(),
ES2_OPENGLES()); ES2_OPENGLES(),
ES2_VULKAN());
ANGLE_INSTANTIATE_TEST(UniformTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES()); ANGLE_INSTANTIATE_TEST(UniformTestES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
ANGLE_INSTANTIATE_TEST(UniformTestES31, ES31_D3D11(), ES31_OPENGL(), ES31_OPENGLES()); ANGLE_INSTANTIATE_TEST(UniformTestES31, ES31_D3D11(), ES31_OPENGL(), ES31_OPENGLES());
......
...@@ -112,6 +112,7 @@ ANGLE_INSTANTIATE_TEST(UnpackRowLengthTest, ...@@ -112,6 +112,7 @@ ANGLE_INSTANTIATE_TEST(UnpackRowLengthTest,
ES2_OPENGL(), ES2_OPENGL(),
ES3_OPENGL(), ES3_OPENGL(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace } // namespace
...@@ -249,6 +249,7 @@ ANGLE_INSTANTIATE_TEST(ViewportTest, ...@@ -249,6 +249,7 @@ ANGLE_INSTANTIATE_TEST(ViewportTest,
ES2_D3D11(EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE), ES2_D3D11(EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE),
ES2_D3D11_FL9_3(), ES2_D3D11_FL9_3(),
ES2_OPENGLES(), ES2_OPENGLES(),
ES3_OPENGLES()); ES3_OPENGLES(),
ES2_VULKAN());
} // namespace } // namespace
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment