From d00d1cb7812940dff9ecad4cd5fe26ecc2da3c6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 30 Dec 2020 16:14:05 +0100 Subject: [PATCH] Shaders: initialize all members also with NoCreate. Otherwise the _lightCount gets a random value, which makes debugging of accidentally not created instances harder than strictly necessary. --- src/Magnum/Shaders/Phong.h | 2 +- src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp | 1 + src/Magnum/Shaders/Test/FlatTest.cpp | 1 + src/Magnum/Shaders/Test/MeshVisualizerTest.cpp | 2 ++ src/Magnum/Shaders/Test/PhongTest.cpp | 2 ++ src/Magnum/Shaders/Test/VectorTest.cpp | 1 + 6 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Magnum/Shaders/Phong.h b/src/Magnum/Shaders/Phong.h index 88991e033..675500593 100644 --- a/src/Magnum/Shaders/Phong.h +++ b/src/Magnum/Shaders/Phong.h @@ -1017,7 +1017,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram { #endif Flags _flags; - UnsignedInt _lightCount; + UnsignedInt _lightCount{}; Int _transformationMatrixUniform{0}, _projectionMatrixUniform{1}, _normalMatrixUniform{2}, diff --git a/src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp b/src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp index 2f07e92d8..ac14549be 100644 --- a/src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp +++ b/src/Magnum/Shaders/Test/DistanceFieldVectorTest.cpp @@ -58,6 +58,7 @@ template void DistanceFieldVectorTest::constructNoCreate { DistanceFieldVector shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), typename DistanceFieldVector::Flags{}); } CORRADE_VERIFY(true); diff --git a/src/Magnum/Shaders/Test/FlatTest.cpp b/src/Magnum/Shaders/Test/FlatTest.cpp index e3fc5995a..39cb9f22c 100644 --- a/src/Magnum/Shaders/Test/FlatTest.cpp +++ b/src/Magnum/Shaders/Test/FlatTest.cpp @@ -60,6 +60,7 @@ template void FlatTest::constructNoCreate() { { Flat shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), typename Flat::Flags{}); } CORRADE_VERIFY(true); diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp b/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp index 4d5454f29..36b0aa1a6 100644 --- a/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp +++ b/src/Magnum/Shaders/Test/MeshVisualizerTest.cpp @@ -67,6 +67,7 @@ void MeshVisualizerTest::constructNoCreate2D() { { MeshVisualizer2D shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), MeshVisualizer2D::Flags{}); } CORRADE_VERIFY(true); @@ -76,6 +77,7 @@ void MeshVisualizerTest::constructNoCreate3D() { { MeshVisualizer3D shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), MeshVisualizer3D::Flags{}); } CORRADE_VERIFY(true); diff --git a/src/Magnum/Shaders/Test/PhongTest.cpp b/src/Magnum/Shaders/Test/PhongTest.cpp index 0fa69f547..09def2541 100644 --- a/src/Magnum/Shaders/Test/PhongTest.cpp +++ b/src/Magnum/Shaders/Test/PhongTest.cpp @@ -55,6 +55,8 @@ void PhongTest::constructNoCreate() { { Phong shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), Phong::Flags{}); + CORRADE_COMPARE(shader.lightCount(), 0); } CORRADE_VERIFY(true); diff --git a/src/Magnum/Shaders/Test/VectorTest.cpp b/src/Magnum/Shaders/Test/VectorTest.cpp index 4b906cb85..49612be11 100644 --- a/src/Magnum/Shaders/Test/VectorTest.cpp +++ b/src/Magnum/Shaders/Test/VectorTest.cpp @@ -58,6 +58,7 @@ template void VectorTest::constructNoCreate() { { Vector shader{NoCreate}; CORRADE_COMPARE(shader.id(), 0); + CORRADE_COMPARE(shader.flags(), typename Vector::Flags{}); } CORRADE_VERIFY(true);