fix texture reloading when compressed/uncompressed textures are rendered

This commit is contained in:
David Rose 2009-02-06 16:18:32 +00:00
parent 41216204cd
commit c98c2c0a7d
2 changed files with 12 additions and 4 deletions

View File

@ -1243,7 +1243,11 @@ compress_ram_image(Texture::CompressionMode compression,
Texture::QualityLevel quality_level,
GraphicsStateGuardianBase *gsg) {
MutexHolder holder(_lock);
return do_compress_ram_image(compression, quality_level, gsg);
if (do_compress_ram_image(compression, quality_level, gsg)) {
++_image_modified;
return true;
}
return false;
}
////////////////////////////////////////////////////////////////////
@ -1260,7 +1264,11 @@ compress_ram_image(Texture::CompressionMode compression,
INLINE bool Texture::
uncompress_ram_image() {
MutexHolder holder(_lock);
return do_uncompress_ram_image();
if (do_uncompress_ram_image()) {
++_image_modified;
return true;
}
return false;
}
////////////////////////////////////////////////////////////////////
@ -1413,6 +1421,7 @@ make_ram_mipmap_image(int n) {
INLINE void Texture::
clear_ram_mipmap_images() {
MutexHolder holder(_lock);
++_image_modified;
do_clear_ram_mipmap_images();
}
@ -1433,6 +1442,7 @@ clear_ram_mipmap_images() {
INLINE void Texture::
generate_ram_mipmap_images() {
MutexHolder holder(_lock);
++_image_modified;
do_generate_ram_mipmap_images();
}

View File

@ -5562,7 +5562,6 @@ do_squish(Texture::CompressionMode compression, int squish_flags) {
}
_ram_images.swap(compressed_ram_images);
_ram_image_compression = compression;
++_image_modified;
return true;
#else // HAVE_SQUISH
@ -5647,7 +5646,6 @@ do_unsquish(int squish_flags) {
}
_ram_images.swap(uncompressed_ram_images);
_ram_image_compression = CM_off;
++_image_modified;
return true;
#else // HAVE_SQUISH