From 2b36fd2136a03350898d25898165d185aad6150d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 4 Sep 2020 20:59:54 +0200 Subject: [PATCH] MeshTools, Shaders: adapt thresholds for SwiftShader. The Phong bugfix causes some rounding errors to be larger than before. --- src/Magnum/MeshTools/Test/CompileGLTest.cpp | 2 +- src/Magnum/Shaders/Test/PhongGLTest.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Magnum/MeshTools/Test/CompileGLTest.cpp b/src/Magnum/MeshTools/Test/CompileGLTest.cpp index 6ee5e1ab0..e257ca150 100644 --- a/src/Magnum/MeshTools/Test/CompileGLTest.cpp +++ b/src/Magnum/MeshTools/Test/CompileGLTest.cpp @@ -762,7 +762,7 @@ template void CompileGLTest::threeDimensions() { _framebuffer.read({{}, {32, 32}}, {PixelFormat::RGBA8Unorm}), Utility::Directory::join(COMPILEGLTEST_TEST_DIR, "phong-flat.tga"), /* SwiftShader has some minor off-by-one precision differences */ - (DebugTools::CompareImageToFile{_manager, 0.25f, 0.0079f})); + (DebugTools::CompareImageToFile{_manager, 0.5f, 0.0079f})); } else if(data.flags & Flag::GeneratedSmoothNormals) { _framebuffer.clear(GL::FramebufferClear::Color); _phong diff --git a/src/Magnum/Shaders/Test/PhongGLTest.cpp b/src/Magnum/Shaders/Test/PhongGLTest.cpp index 0e301e6ad..4e8e01ea6 100644 --- a/src/Magnum/Shaders/Test/PhongGLTest.cpp +++ b/src/Magnum/Shaders/Test/PhongGLTest.cpp @@ -314,10 +314,10 @@ constexpr struct { {"diffuse + normal", "instanced-normal.tga", Phong::Flag::NormalTexture, #if !(defined(MAGNUM_TARGET_GLES2) && defined(MAGNUM_TARGET_WEBGL)) /* AMD has one off pixel, llvmpipe more */ - 94.0f, 0.333f, + 94.5f, 0.333f, #else /* WebGL 1 doesn't have 8bit renderbuffer storage */ - 94.0f, 0.132f, + 94.5f, 0.132f, #endif } }; @@ -1126,7 +1126,7 @@ void PhongGLTest::renderShininess() { Utility::Directory::join({_testDir, "PhongTestFiles", "shininess0-overflow.tga"}), /* The threshold = 0.001 case has a slight reddish tone on SwiftShader; ARM Mali has one pixel off */ - (DebugTools::CompareImageToFile{_manager, 255.0f, 1.475f})); + (DebugTools::CompareImageToFile{_manager, 255.0f, 1.476f})); } } @@ -1364,10 +1364,10 @@ void PhongGLTest::renderLowLightAngle() { CORRADE_SKIP("AnyImageImporter / TgaImageImporter plugins not found."); #if !(defined(MAGNUM_TARGET_GLES2) && defined(MAGNUM_TARGET_WEBGL)) - const Float maxThreshold = 0.0f, meanThreshold = 0.0f; + const Float maxThreshold = 63.0f, meanThreshold = 0.36f; #else /* WebGL 1 doesn't have 8bit renderbuffer storage, so it's way worse */ - const Float maxThreshold = 0.0f, meanThreshold = 0.0f; + const Float maxThreshold = 63.0f, meanThreshold = 0.36f; #endif CORRADE_COMPARE_WITH( /* Dropping the alpha channel, as it's always 1.0 */