diff --git a/src/Magnum/DebugTools/CompareImage.h b/src/Magnum/DebugTools/CompareImage.h index 36c8b01cb..38b3ae231 100644 --- a/src/Magnum/DebugTools/CompareImage.h +++ b/src/Magnum/DebugTools/CompareImage.h @@ -662,6 +662,12 @@ template<> constexpr PixelFormat pixelFormatFor(PixelFormat) { template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { return pixelFormatFor(expected); } +template<> constexpr PixelFormat pixelFormatFor(PixelFormat) { + return PixelFormat::R16F; +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { + return pixelFormatFor(expected); +} template<> constexpr PixelFormat pixelFormatFor(PixelFormat) { return PixelFormat::R32F; } @@ -717,6 +723,12 @@ template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { return pixelFormatFor>(expected); } +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { + return PixelFormat::RG16F; +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { + return pixelFormatFor>(expected); +} template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { return PixelFormat::RG32F; } @@ -792,6 +804,15 @@ template<> constexpr PixelFormat pixelFormatFor>(PixelForma } /* Skipping Math::Color3, as integer colors should always match normalized types */ +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { + return PixelFormat::RGB16F; +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { + return pixelFormatFor>(expected); +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { + return PixelFormat::RGB16F; +} template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { return PixelFormat::RGB32F; } @@ -872,6 +893,15 @@ template<> constexpr PixelFormat pixelFormatFor>(PixelForma } /* Skipping Math::Color4, as integer colors should always match normalized types */ +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { + return PixelFormat::RGBA16F; +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat expected) { + return pixelFormatFor>(expected); +} +template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { + return PixelFormat::RGBA16F; +} template<> constexpr PixelFormat pixelFormatFor>(PixelFormat) { return PixelFormat::RGBA32F; } diff --git a/src/Magnum/DebugTools/Test/CompareImageTest.cpp b/src/Magnum/DebugTools/Test/CompareImageTest.cpp index 56f9950d1..a8e353cc7 100644 --- a/src/Magnum/DebugTools/Test/CompareImageTest.cpp +++ b/src/Magnum/DebugTools/Test/CompareImageTest.cpp @@ -1709,6 +1709,9 @@ template void CompareImageTest::pixelFormatFor() { CORRADE_COMPARE( (Implementation::pixelFormatFor>(PixelFormat{})), pixelFormat(PixelFormat::R32I, dimensions, false)); + CORRADE_COMPARE( + (Implementation::pixelFormatFor>(PixelFormat{})), + pixelFormat(PixelFormat::R16F, dimensions, false)); CORRADE_COMPARE( (Implementation::pixelFormatFor>(PixelFormat{})), pixelFormat(PixelFormat::R32F, dimensions, false)); @@ -1767,6 +1770,12 @@ void CompareImageTest::pixelFormatForColor() { CORRADE_COMPARE( (Implementation::pixelFormatFor>(PixelFormat{})), PixelFormat::RGBA16Snorm); + CORRADE_COMPARE( + (Implementation::pixelFormatFor(PixelFormat{})), + PixelFormat::RGB16F); + CORRADE_COMPARE( + (Implementation::pixelFormatFor(PixelFormat{})), + PixelFormat::RGBA16F); CORRADE_COMPARE( (Implementation::pixelFormatFor(PixelFormat{})), PixelFormat::RGB32F);