summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Koskinen <janne.p.koskinen@qt.io>2020-09-09 10:50:30 +0300
committerJanne Koskinen <janne.p.koskinen@qt.io>2020-09-14 13:28:59 +0300
commit05eb20d0b7e46101dd79d3f5788681f5a2a9446e (patch)
treea9c4666f07fb467d993d06f902bf497d17d02091
parent6913b8eb032b265012671290b66c87e23a7dc7b6 (diff)
Ignore schema when comparing texture keys
Use only filepath as the key for textures. Removes double loading of textures accessed in different style. Task-number: QT3DS-4154 Change-Id: I46dbfcef35944b61d74c821374d103a0d1b65134 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
-rw-r--r--src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp b/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
index 388ef1b..c52eb75 100644
--- a/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
+++ b/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
@@ -355,7 +355,12 @@ struct SBufferManager : public IBufferManager
bool inBsdfMipmaps,
bool flipCompressed) override
{
+ // Remove schema and root from keys. To prevent loading twice file "qrc:///foo" and "foo"
QString path = QString::fromLatin1(inSourcePath.c_str());
+ path = QUrl(path).path();
+ if (path.startsWith(QLatin1String("/")))
+ path = path.right(path.length() - 1);
+
const bool inserted = m_reloadableTextures.contains(path);
if (!inserted || (inserted && m_reloadableTextures[path]->m_initialized == false)) {
if (!inserted)