Browse Source

Shaders: a crutch for MSVC's neverending fails.

Hope this is enough?
pull/518/head
Vladimír Vondruš 5 years ago
parent
commit
4aa5217947
  1. 6
      src/Magnum/Shaders/Test/DistanceFieldVectorGLTest.cpp
  2. 18
      src/Magnum/Shaders/Test/FlatGLTest.cpp
  3. 21
      src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp
  4. 36
      src/Magnum/Shaders/Test/PhongGLTest.cpp
  5. 6
      src/Magnum/Shaders/Test/VectorGLTest.cpp
  6. 3
      src/Magnum/Shaders/Test/VertexColorGLTest.cpp

6
src/Magnum/Shaders/Test/DistanceFieldVectorGLTest.cpp

@ -259,7 +259,8 @@ DistanceFieldVectorGLTest::DistanceFieldVectorGLTest() {
#endif #endif
}); });
addTests({ /* MSVC needs explicit type due to default template args */
addTests<DistanceFieldVectorGLTest>({
&DistanceFieldVectorGLTest::renderDefaults2D, &DistanceFieldVectorGLTest::renderDefaults2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&DistanceFieldVectorGLTest::renderDefaults2D<DistanceFieldVectorGL2D::Flag::UniformBuffers>, &DistanceFieldVectorGLTest::renderDefaults2D<DistanceFieldVectorGL2D::Flag::UniformBuffers>,
@ -272,7 +273,8 @@ DistanceFieldVectorGLTest::DistanceFieldVectorGLTest() {
&DistanceFieldVectorGLTest::renderSetup, &DistanceFieldVectorGLTest::renderSetup,
&DistanceFieldVectorGLTest::renderTeardown); &DistanceFieldVectorGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<DistanceFieldVectorGLTest>({
&DistanceFieldVectorGLTest::render2D, &DistanceFieldVectorGLTest::render2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&DistanceFieldVectorGLTest::render2D<DistanceFieldVectorGL2D::Flag::UniformBuffers>, &DistanceFieldVectorGLTest::render2D<DistanceFieldVectorGL2D::Flag::UniformBuffers>,

18
src/Magnum/Shaders/Test/FlatGLTest.cpp

@ -336,7 +336,8 @@ FlatGLTest::FlatGLTest() {
#endif #endif
}); });
addTests({ /* MSVC needs explicit type due to default template args */
addTests<FlatGLTest>({
&FlatGLTest::renderDefaults2D, &FlatGLTest::renderDefaults2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&FlatGLTest::renderDefaults2D<FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderDefaults2D<FlatGL2D::Flag::UniformBuffers>,
@ -365,7 +366,8 @@ FlatGLTest::FlatGLTest() {
&FlatGLTest::renderSetup, &FlatGLTest::renderSetup,
&FlatGLTest::renderTeardown); &FlatGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<FlatGLTest>({
&FlatGLTest::renderTextured2D, &FlatGLTest::renderTextured2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&FlatGLTest::renderTextured2D<FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderTextured2D<FlatGL2D::Flag::UniformBuffers>,
@ -379,7 +381,8 @@ FlatGLTest::FlatGLTest() {
&FlatGLTest::renderSetup, &FlatGLTest::renderSetup,
&FlatGLTest::renderTeardown); &FlatGLTest::renderTeardown);
addTests({ /* MSVC needs explicit type due to default template args */
addTests<FlatGLTest>({
&FlatGLTest::renderVertexColor2D<Color3>, &FlatGLTest::renderVertexColor2D<Color3>,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&FlatGLTest::renderVertexColor2D<Color3, FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderVertexColor2D<Color3, FlatGL2D::Flag::UniformBuffers>,
@ -400,7 +403,8 @@ FlatGLTest::FlatGLTest() {
&FlatGLTest::renderSetup, &FlatGLTest::renderSetup,
&FlatGLTest::renderTeardown); &FlatGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<FlatGLTest>({
&FlatGLTest::renderAlpha2D, &FlatGLTest::renderAlpha2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&FlatGLTest::renderAlpha2D<FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderAlpha2D<FlatGL2D::Flag::UniformBuffers>,
@ -415,7 +419,8 @@ FlatGLTest::FlatGLTest() {
&FlatGLTest::renderAlphaTeardown); &FlatGLTest::renderAlphaTeardown);
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<FlatGLTest>({
&FlatGLTest::renderObjectId2D, &FlatGLTest::renderObjectId2D,
&FlatGLTest::renderObjectId2D<FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderObjectId2D<FlatGL2D::Flag::UniformBuffers>,
&FlatGLTest::renderObjectId3D, &FlatGLTest::renderObjectId3D,
@ -425,7 +430,8 @@ FlatGLTest::FlatGLTest() {
&FlatGLTest::renderObjectIdTeardown); &FlatGLTest::renderObjectIdTeardown);
#endif #endif
addTests({ /* MSVC needs explicit type due to default template args */
addTests<FlatGLTest>({
&FlatGLTest::renderInstanced2D, &FlatGLTest::renderInstanced2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&FlatGLTest::renderInstanced2D<FlatGL2D::Flag::UniformBuffers>, &FlatGLTest::renderInstanced2D<FlatGL2D::Flag::UniformBuffers>,

21
src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp

@ -675,7 +675,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
}); });
#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
addTests({ /* MSVC needs explicit type due to default template args */
addTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderDefaultsWireframe2D, &MeshVisualizerGLTest::renderDefaultsWireframe2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderDefaultsWireframe2D<MeshVisualizerGL2D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderDefaultsWireframe2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
@ -690,7 +691,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
#endif #endif
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderDefaultsObjectId2D, &MeshVisualizerGLTest::renderDefaultsObjectId2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderDefaultsObjectId2D<MeshVisualizerGL2D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderDefaultsObjectId2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
@ -706,7 +708,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
#endif #endif
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
addTests({ /* MSVC needs explicit type due to default template args */
addTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderDefaultsVertexId2D, &MeshVisualizerGLTest::renderDefaultsVertexId2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderDefaultsVertexId2D<MeshVisualizerGL2D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderDefaultsVertexId2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
@ -734,7 +737,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
&MeshVisualizerGLTest::renderTeardown); &MeshVisualizerGLTest::renderTeardown);
#endif #endif
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderWireframe2D, &MeshVisualizerGLTest::renderWireframe2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderWireframe2D<MeshVisualizerGL2D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderWireframe2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
@ -744,7 +748,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
&MeshVisualizerGLTest::renderSetup, &MeshVisualizerGLTest::renderSetup,
&MeshVisualizerGLTest::renderTeardown); &MeshVisualizerGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderWireframe3D, &MeshVisualizerGLTest::renderWireframe3D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderWireframe3D<MeshVisualizerGL3D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderWireframe3D<MeshVisualizerGL3D::Flag::UniformBuffers>,
@ -755,7 +760,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
&MeshVisualizerGLTest::renderTeardown); &MeshVisualizerGLTest::renderTeardown);
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderObjectVertexPrimitiveId2D, &MeshVisualizerGLTest::renderObjectVertexPrimitiveId2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderObjectVertexPrimitiveId2D<MeshVisualizerGL2D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderObjectVertexPrimitiveId2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
@ -775,7 +781,8 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
&MeshVisualizerGLTest::renderSetup, &MeshVisualizerGLTest::renderSetup,
&MeshVisualizerGLTest::renderTeardown); &MeshVisualizerGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderTangentBitangentNormal, &MeshVisualizerGLTest::renderTangentBitangentNormal,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderTangentBitangentNormal<MeshVisualizerGL3D::Flag::UniformBuffers>, &MeshVisualizerGLTest::renderTangentBitangentNormal<MeshVisualizerGL3D::Flag::UniformBuffers>,

36
src/Magnum/Shaders/Test/PhongGLTest.cpp

@ -620,7 +620,8 @@ PhongGLTest::PhongGLTest() {
#endif #endif
}); });
addTests({ /* MSVC needs explicit type due to default template args */
addTests<PhongGLTest>({
&PhongGLTest::renderDefaults, &PhongGLTest::renderDefaults,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderDefaults<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderDefaults<PhongGL::Flag::UniformBuffers>
@ -629,7 +630,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderColored, &PhongGLTest::renderColored,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderColored<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderColored<PhongGL::Flag::UniformBuffers>
@ -639,7 +641,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderSinglePixelTextured, &PhongGLTest::renderSinglePixelTextured,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderSinglePixelTextured<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderSinglePixelTextured<PhongGL::Flag::UniformBuffers>
@ -649,7 +652,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderTextured, &PhongGLTest::renderTextured,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderTextured<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderTextured<PhongGL::Flag::UniformBuffers>
@ -659,7 +663,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderTexturedNormal, &PhongGLTest::renderTexturedNormal,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderTexturedNormal<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderTexturedNormal<PhongGL::Flag::UniformBuffers>
@ -669,7 +674,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addTests({ /* MSVC needs explicit type due to default template args */
addTests<PhongGLTest>({
&PhongGLTest::renderVertexColor<Color3>, &PhongGLTest::renderVertexColor<Color3>,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderVertexColor<Color3, PhongGL::Flag::UniformBuffers>, &PhongGLTest::renderVertexColor<Color3, PhongGL::Flag::UniformBuffers>,
@ -682,7 +688,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderShininess, &PhongGLTest::renderShininess,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderShininess<PhongGL::Flag::UniformBuffers>, &PhongGLTest::renderShininess<PhongGL::Flag::UniformBuffers>,
@ -692,7 +699,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderAlpha, &PhongGLTest::renderAlpha,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderAlpha<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderAlpha<PhongGL::Flag::UniformBuffers>
@ -703,7 +711,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderAlphaTeardown); &PhongGLTest::renderAlphaTeardown);
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderObjectId, &PhongGLTest::renderObjectId,
&PhongGLTest::renderObjectId<PhongGL::Flag::UniformBuffers>}, &PhongGLTest::renderObjectId<PhongGL::Flag::UniformBuffers>},
Containers::arraySize(RenderObjectIdData), Containers::arraySize(RenderObjectIdData),
@ -711,7 +720,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderObjectIdTeardown); &PhongGLTest::renderObjectIdTeardown);
#endif #endif
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderLights, &PhongGLTest::renderLights,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderLights<PhongGL::Flag::UniformBuffers>, &PhongGLTest::renderLights<PhongGL::Flag::UniformBuffers>,
@ -726,7 +736,8 @@ PhongGLTest::PhongGLTest() {
&PhongGLTest::renderSetup, &PhongGLTest::renderSetup,
&PhongGLTest::renderTeardown); &PhongGLTest::renderTeardown);
addTests({ /* MSVC needs explicit type due to default template args */
addTests<PhongGLTest>({
&PhongGLTest::renderZeroLights, &PhongGLTest::renderZeroLights,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderZeroLights<PhongGL::Flag::UniformBuffers> &PhongGLTest::renderZeroLights<PhongGL::Flag::UniformBuffers>
@ -741,7 +752,8 @@ PhongGLTest::PhongGLTest() {
#endif #endif
); );
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<PhongGLTest>({
&PhongGLTest::renderInstanced, &PhongGLTest::renderInstanced,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&PhongGLTest::renderInstanced<PhongGL::Flag::UniformBuffers>, &PhongGLTest::renderInstanced<PhongGL::Flag::UniformBuffers>,

6
src/Magnum/Shaders/Test/VectorGLTest.cpp

@ -237,7 +237,8 @@ VectorGLTest::VectorGLTest() {
#endif #endif
}); });
addTests({ /* MSVC needs explicit type due to default template args */
addTests<VectorGLTest>({
&VectorGLTest::renderDefaults2D, &VectorGLTest::renderDefaults2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&VectorGLTest::renderDefaults2D<VectorGL2D::Flag::UniformBuffers>, &VectorGLTest::renderDefaults2D<VectorGL2D::Flag::UniformBuffers>,
@ -250,7 +251,8 @@ VectorGLTest::VectorGLTest() {
&VectorGLTest::renderSetup, &VectorGLTest::renderSetup,
&VectorGLTest::renderTeardown); &VectorGLTest::renderTeardown);
addInstancedTests({ /* MSVC needs explicit type due to default template args */
addInstancedTests<VectorGLTest>({
&VectorGLTest::render2D, &VectorGLTest::render2D,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&VectorGLTest::render2D<VectorGL2D::Flag::UniformBuffers>, &VectorGLTest::render2D<VectorGL2D::Flag::UniformBuffers>,

3
src/Magnum/Shaders/Test/VertexColorGLTest.cpp

@ -188,7 +188,8 @@ VertexColorGLTest::VertexColorGLTest() {
#endif #endif
}); });
addTests({ /* MSVC needs explicit type due to default template args */
addTests<VertexColorGLTest>({
&VertexColorGLTest::renderDefaults2D<Color3>, &VertexColorGLTest::renderDefaults2D<Color3>,
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
&VertexColorGLTest::renderDefaults2D<Color3, VertexColorGL2D::Flag::UniformBuffers>, &VertexColorGLTest::renderDefaults2D<Color3, VertexColorGL2D::Flag::UniformBuffers>,

Loading…
Cancel
Save