summaryrefslogtreecommitdiff
path: root/src/resources/image.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-06-15 01:37:01 +0300
committerAndrei Karas <akaras@inbox.ru>2014-06-15 01:37:01 +0300
commit0f208c6842ef13d8c68b179eb0ab88a37a0926b0 (patch)
treedc60df46116896fc362ac5067fbc464982ee2cc9 /src/resources/image.cpp
parent8f9ffaa42e6fa11bb963fa9f1a1824d85a50b51b (diff)
downloadmanaverse-0f208c6842ef13d8c68b179eb0ab88a37a0926b0.tar.gz
manaverse-0f208c6842ef13d8c68b179eb0ab88a37a0926b0.tar.bz2
manaverse-0f208c6842ef13d8c68b179eb0ab88a37a0926b0.tar.xz
manaverse-0f208c6842ef13d8c68b179eb0ab88a37a0926b0.zip
Add OpenGL extension GL_ARB_invalidate_subdata.
And use it for invalidate prepared for deletion images.
Diffstat (limited to 'src/resources/image.cpp')
-rw-r--r--src/resources/image.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index d9d2a8a01..d6f5cd27c 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -467,3 +467,12 @@ void Image::SDLTerminateAlphaCache()
SDLCleanCache();
mUseAlphaCache = false;
}
+
+#ifdef USE_OPENGL
+void Image::decRef()
+{
+ if (getRefCount() <= 1)
+ OpenGLImageHelper::invalidate(mGLImage);
+ Resource::decRef();
+}
+#endif