diff options
author | Janne Koskinen <janne.p.koskinen@qt.io> | 2020-09-09 10:50:30 +0300 |
---|---|---|
committer | Janne Koskinen <janne.p.koskinen@qt.io> | 2020-09-14 13:28:59 +0300 |
commit | 05eb20d0b7e46101dd79d3f5788681f5a2a9446e (patch) | |
tree | a9c4666f07fb467d993d06f902bf497d17d02091 | |
parent | 6913b8eb032b265012671290b66c87e23a7dc7b6 (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.cpp | 5 |
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) |