From c40c1da9b5f2454bdb30b250f1a6f4fd35d4dc10 Mon Sep 17 00:00:00 2001 From: Rene Thrane Date: Thu, 11 Sep 2025 17:41:02 +0200 Subject: [PATCH] Made the failure to change the desired bitmap origin (which is a hint flag) just give a warning when it fails to apply instead of throwing a exception. --- .../Base/Service/ImageBasic/ImageBasicService.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/DemoFramework/FslDemoHost/Base/source/FslDemoHost/Base/Service/ImageBasic/ImageBasicService.cpp b/DemoFramework/FslDemoHost/Base/source/FslDemoHost/Base/Service/ImageBasic/ImageBasicService.cpp index 8ab4c7b865..c1ac229aed 100644 --- a/DemoFramework/FslDemoHost/Base/source/FslDemoHost/Base/Service/ImageBasic/ImageBasicService.cpp +++ b/DemoFramework/FslDemoHost/Base/source/FslDemoHost/Base/Service/ImageBasic/ImageBasicService.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -234,16 +235,18 @@ namespace Fsl } const bool isCompressed = PixelFormatUtil::IsCompressed(rTexture.GetPixelFormat()); + auto resolvedOrigin = desiredOrigin; if (isCompressed && desiredOrigin != BitmapOrigin::Undefined && rTexture.GetBitmapOrigin() != desiredOrigin) { - throw NotSupportedException("The origin of compressed formats can not be modified"); + resolvedOrigin = rTexture.GetBitmapOrigin(); + FSLLOG3_WARNING("The origin of compressed formats can not be modified (desired: {}) using {}", desiredOrigin, resolvedOrigin); } const auto usedDesiredPixelFormat = (desiredPixelFormat != PixelFormat::Undefined ? desiredPixelFormat : rTexture.GetPixelFormat()); - if (rTexture.GetPixelFormat() != usedDesiredPixelFormat || rTexture.GetBitmapOrigin() != desiredOrigin) + if (rTexture.GetPixelFormat() != usedDesiredPixelFormat || rTexture.GetBitmapOrigin() != resolvedOrigin) { - m_bitmapConverter->Convert(rTexture, usedDesiredPixelFormat, desiredOrigin); + m_bitmapConverter->Convert(rTexture, usedDesiredPixelFormat, resolvedOrigin); } // When loading a undefined pixel format we prefer the unorm variant