From cba08f5c8f88c7745418efdb8ed953d8d51de91d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 14 Dec 2022 13:29:49 +0100 Subject: [PATCH] Shaders: somehow forgot to test the MeshVisualizer UBO objectId field. --- .../Shaders/Test/MeshVisualizerTest.cpp | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp b/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp index 2a09714cb..d4fa65f21 100644 --- a/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp +++ b/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp @@ -103,11 +103,15 @@ void MeshVisualizerTest::drawUniform2DConstructDefault() { MeshVisualizerDrawUniform2D b{DefaultInit}; CORRADE_COMPARE(a.materialId, 0); CORRADE_COMPARE(b.materialId, 0); + CORRADE_COMPARE(a.objectId, 0); + CORRADE_COMPARE(b.objectId, 0); constexpr MeshVisualizerDrawUniform2D ca; constexpr MeshVisualizerDrawUniform2D cb{DefaultInit}; CORRADE_COMPARE(ca.materialId, 0); CORRADE_COMPARE(cb.materialId, 0); + CORRADE_COMPARE(ca.objectId, 0); + CORRADE_COMPARE(cb.objectId, 0); CORRADE_VERIFY(std::is_nothrow_default_constructible::value); CORRADE_VERIFY(std::is_nothrow_constructible::value); @@ -120,6 +124,7 @@ void MeshVisualizerTest::drawUniform2DConstructNoInit() { /* Testing only some fields, should be enough */ MeshVisualizerDrawUniform2D a; a.materialId = 73; + a.objectId = 7; new(&a) MeshVisualizerDrawUniform2D{NoInit}; { @@ -130,6 +135,7 @@ void MeshVisualizerTest::drawUniform2DConstructNoInit() { CORRADE_EXPECT_FAIL("GCC 6.1+ misoptimizes and overwrites the value."); #endif CORRADE_COMPARE(a.materialId, 73); + CORRADE_COMPARE(a.objectId, 7); } CORRADE_VERIFY(std::is_nothrow_constructible::value); @@ -140,8 +146,10 @@ void MeshVisualizerTest::drawUniform2DConstructNoInit() { void MeshVisualizerTest::drawUniform2DSetters() { MeshVisualizerDrawUniform2D a; - a.setMaterialId(73); + a.setMaterialId(73) + .setObjectId(7); CORRADE_COMPARE(a.materialId, 73); + CORRADE_COMPARE(a.objectId, 7); } void MeshVisualizerTest::drawUniform2DMaterialIdPacking() { @@ -167,6 +175,8 @@ void MeshVisualizerTest::drawUniform3DConstructDefault() { })); CORRADE_COMPARE(a.materialId, 0); CORRADE_COMPARE(b.materialId, 0); + CORRADE_COMPARE(a.objectId, 0); + CORRADE_COMPARE(b.objectId, 0); constexpr MeshVisualizerDrawUniform3D ca; constexpr MeshVisualizerDrawUniform3D cb{DefaultInit}; @@ -182,6 +192,8 @@ void MeshVisualizerTest::drawUniform3DConstructDefault() { })); CORRADE_COMPARE(ca.materialId, 0); CORRADE_COMPARE(cb.materialId, 0); + CORRADE_COMPARE(ca.objectId, 0); + CORRADE_COMPARE(cb.objectId, 0); CORRADE_VERIFY(std::is_nothrow_default_constructible::value); CORRADE_VERIFY(std::is_nothrow_constructible::value); @@ -195,6 +207,7 @@ void MeshVisualizerTest::drawUniform3DConstructNoInit() { MeshVisualizerDrawUniform3D a; a.normalMatrix[2] = {1.5f, 0.3f, 3.1f, 0.5f}; a.materialId = 5; + a.objectId = 7; new(&a) MeshVisualizerDrawUniform3D{NoInit}; { @@ -206,6 +219,7 @@ void MeshVisualizerTest::drawUniform3DConstructNoInit() { #endif CORRADE_COMPARE(a.normalMatrix[2], (Vector4{1.5f, 0.3f, 3.1f, 0.5f})); CORRADE_COMPARE(a.materialId, 5); + CORRADE_COMPARE(a.objectId, 7); } CORRADE_VERIFY(std::is_nothrow_constructible::value); @@ -217,13 +231,15 @@ void MeshVisualizerTest::drawUniform3DConstructNoInit() { void MeshVisualizerTest::drawUniform3DSetters() { MeshVisualizerDrawUniform3D a; a.setNormalMatrix(Matrix4::rotationX(90.0_degf).normalMatrix()) - .setMaterialId(5); + .setMaterialId(5) + .setObjectId(7); CORRADE_COMPARE(a.normalMatrix, (Matrix3x4{ Vector4{1.0f, 0.0f, 0.0f, 0.0f}, Vector4{0.0f, 0.0f, 1.0f, 0.0f}, Vector4{0.0f, -1.0f, 0.0f, 0.0f} })); CORRADE_COMPARE(a.materialId, 5); + CORRADE_COMPARE(a.objectId, 7); } void MeshVisualizerTest::drawUniform3DMaterialIdPacking() {