summaryrefslogtreecommitdiffstats
path: root/src/render/io
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-07-17 13:00:33 +0200
committerSean Harmer <sean.harmer@kdab.com>2015-07-24 09:18:06 +0000
commitf71b223452f7f0eda62eddfc173c0d36d86dc32b (patch)
treef58f40a45b047e6f047151fc14d13a2b5e942904 /src/render/io
parent098b2181e98cf57b56712d7a335a0f3027653ff0 (diff)
TextureDataManager/TextureImageData improved
* Removed RenderTextureProvider which was never used * Add cleanup method in TextureImageData to reduced memory consumption when waiting for the object to be recycled by the resources manager * Improved the TextureDataManager to keep track for each functor of all the associated TextureImages which allows to release TextureImageData that we don't need to keep Change-Id: Id805fc0e7ef8d7c586eb77382bc66cd5e4cc8107 Task-number: QTBUG-47223 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/io')
-rw-r--r--src/render/io/texturedata.cpp13
-rw-r--r--src/render/io/texturedata.h3
2 files changed, 15 insertions, 1 deletions
diff --git a/src/render/io/texturedata.cpp b/src/render/io/texturedata.cpp
index 745e0f54e..893862731 100644
--- a/src/render/io/texturedata.cpp
+++ b/src/render/io/texturedata.cpp
@@ -52,6 +52,19 @@ TexImageData::TexImageData()
{
}
+TexImageData::~TexImageData()
+{
+}
+
+void TexImageData::cleanup()
+{
+ m_width = -1;
+ m_height = -1;
+ m_depth = -1;
+ m_isCompressed = false;
+ m_data.clear();
+}
+
void TexImageData::setImage(const QImage &image)
{
m_width = image.width();
diff --git a/src/render/io/texturedata.h b/src/render/io/texturedata.h
index ae8b14072..a403b0e8c 100644
--- a/src/render/io/texturedata.h
+++ b/src/render/io/texturedata.h
@@ -50,8 +50,9 @@ class QT3DRENDERERSHARED_EXPORT TexImageData
{
public:
TexImageData();
+ ~TexImageData();
- ~TexImageData() {}
+ void cleanup();
bool isCompressed() const
{ return m_isCompressed; }