diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2012-05-01 22:23:52 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2012-05-01 22:23:52 -0600 |
commit | 78fec489b53434a8ac8f9c0a8e72fd883067ce42 (patch) | |
tree | 7fe68254cc56335cd7e6cade8f7ba23706e15f14 /indra/llrender | |
parent | 2c0774302b11b1be9e5a41b10c5ec518669792e3 (diff) | |
parent | da29210ed601f2736ca36d3657cd7b1b463b3a9b (diff) |
Merge
Diffstat (limited to 'indra/llrender')
-rwxr-xr-x | indra/llrender/llimagegl.cpp | 17 | ||||
-rwxr-xr-x | indra/llrender/llimagegl.h | 1 |
2 files changed, 15 insertions, 3 deletions
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index ab744fb7ff..2c13fead97 100755 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1464,13 +1464,24 @@ void LLImageGL::destroyGLTexture() } LLImageGL::deleteTextures(1, &mTexName); - mTexName = 0; mCurrentDiscardLevel = -1 ; //invalidate mCurrentDiscardLevel. + mTexName = 0; mGLTextureCreated = FALSE ; - } + } } - +//force to invalidate the gl texture, most likely a sculpty texture +void LLImageGL::forceToInvalidateGLTexture() +{ + if (mTexName != 0) + { + destroyGLTexture(); + } + else + { + mCurrentDiscardLevel = -1 ; //invalidate mCurrentDiscardLevel. + } +} //---------------------------------------------------------------------------- diff --git a/indra/llrender/llimagegl.h b/indra/llrender/llimagegl.h index 2060be914b..e515d6b324 100755 --- a/indra/llrender/llimagegl.h +++ b/indra/llrender/llimagegl.h @@ -114,6 +114,7 @@ public: // Read back a raw image for this discard level, if it exists BOOL readBackRaw(S32 discard_level, LLImageRaw* imageraw, bool compressed_ok) const; void destroyGLTexture(); + void forceToInvalidateGLTexture(); void setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format = 0, BOOL swap_bytes = FALSE); void setComponents(S8 ncomponents) { mComponents = ncomponents; } |