summaryrefslogtreecommitdiffstats
path: root/src/Runtime
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2019-04-25 12:07:39 +0300
committerAntti Määttä <antti.maatta@qt.io>2019-04-26 11:59:33 +0000
commit57c4198a5bf84d12784c4b7a26438d4e635716bb (patch)
tree62f4e1885eb7522c0bfa80f5938ccd333df51178 /src/Runtime
parentbac2c7d3d3e9ef62891d60a6a9077b3d66e63993 (diff)
Convert RGBA64 images to RGBA8 when loading
Task-number: QT3DS-3354 Change-Id: I68396ec7ccf9a99820edd7b7501ee39191cbef63 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Runtime')
-rw-r--r--src/Runtime/Source/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Runtime/Source/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.cpp b/src/Runtime/Source/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.cpp
index 3365a2ce..b1993021 100644
--- a/src/Runtime/Source/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.cpp
+++ b/src/Runtime/Source/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.cpp
@@ -50,6 +50,17 @@ SLoadedTexture *SLoadedTexture::LoadQImage(const QString &inPath, QT3DSI32 flipV
SLoadedTexture *retval(NULL);
NVAllocatorCallback &alloc(fnd.getAllocator());
QImage image(inPath);
+ const QImage::Format format = image.format();
+ switch (format) {
+ case QImage::Format_RGBA64:
+ image = image.convertToFormat(QImage::Format_RGBA8888);
+ break;
+ case QImage::Format_RGBX64:
+ image = image.convertToFormat(QImage::Format_RGBX8888);
+ break;
+ default:
+ break;
+ }
image = image.mirrored();
image = image.rgbSwapped();
retval = QT3DS_NEW(alloc, SLoadedTexture)(alloc);