From d8a2e706177ae8989f28ee1675d433def11af1e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 2 Mar 2019 02:34:08 +0100 Subject: [PATCH] GL: XFAIL on SwiftShader with integer data type mismatches. Accepted everywhere else (or so is my experience). --- src/Magnum/GL/Test/MeshGLTest.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Magnum/GL/Test/MeshGLTest.cpp b/src/Magnum/GL/Test/MeshGLTest.cpp index 531d4d0b0..da5fc2b64 100644 --- a/src/Magnum/GL/Test/MeshGLTest.cpp +++ b/src/Magnum/GL/Test/MeshGLTest.cpp @@ -1210,6 +1210,11 @@ void MeshGLTest::addVertexBufferUnsignedIntWithUnsignedShort() { const auto value = Checker(IntegerShader("uint"), RenderbufferFormat::R16UI, mesh) .get(PixelFormat::RedInteger, PixelType::UnsignedShort); + #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_WEBGL) + CORRADE_EXPECT_FAIL_IF(Context::current().detectedDriver() & Context::DetectedDriver::SwiftShader, + "SwiftShader doesn't like integer buffers with anything else than (Unsigned)Int"); + #endif + MAGNUM_VERIFY_NO_GL_ERROR(); CORRADE_COMPARE(value, 16583); } @@ -1243,6 +1248,11 @@ void MeshGLTest::addVertexBufferUnsignedIntWithShort() { const auto value = Checker(IntegerShader("uint"), RenderbufferFormat::R16I, mesh) .get(PixelFormat::RedInteger, PixelType::Short); + #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_WEBGL) + CORRADE_EXPECT_FAIL_IF(Context::current().detectedDriver() & Context::DetectedDriver::SwiftShader, + "SwiftShader doesn't like integer buffers with anything else than (Unsigned)Int"); + #endif + MAGNUM_VERIFY_NO_GL_ERROR(); CORRADE_COMPARE(value, 16583); } @@ -1276,6 +1286,11 @@ void MeshGLTest::addVertexBufferIntWithUnsignedShort() { const auto value = Checker(IntegerShader("int"), RenderbufferFormat::R16UI, mesh) .get(PixelFormat::RedInteger, PixelType::UnsignedShort); + #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_WEBGL) + CORRADE_EXPECT_FAIL_IF(Context::current().detectedDriver() & Context::DetectedDriver::SwiftShader, + "SwiftShader doesn't like integer buffers with anything else than (Unsigned)Int"); + #endif + MAGNUM_VERIFY_NO_GL_ERROR(); CORRADE_COMPARE(value, 16583); } @@ -1309,6 +1324,11 @@ void MeshGLTest::addVertexBufferIntWithShort() { const auto value = Checker(IntegerShader("int"), RenderbufferFormat::R16I, mesh) .get(PixelFormat::RedInteger, PixelType::Short); + #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_WEBGL) + CORRADE_EXPECT_FAIL_IF(Context::current().detectedDriver() & Context::DetectedDriver::SwiftShader, + "SwiftShader doesn't like integer buffers with anything else than (Unsigned)Int"); + #endif + MAGNUM_VERIFY_NO_GL_ERROR(); CORRADE_COMPARE(value, -16583); }