diff options
Diffstat (limited to 'intern/cycles/render/image.cpp')
-rw-r--r-- | intern/cycles/render/image.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index 2865b0e5e97..bead0118a02 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -278,12 +278,14 @@ bool ImageManager::get_image_metadata(const string& filename, static bool image_equals(ImageManager::Image *image, const string& filename, void *builtin_data, + int tile, InterpolationType interpolation, ExtensionType extension, bool use_alpha) { return image->filename == filename && image->builtin_data == builtin_data && + image->tile == tile && image->interpolation == interpolation && image->extension == extension && image->use_alpha == use_alpha; @@ -292,6 +294,7 @@ static bool image_equals(ImageManager::Image *image, int ImageManager::add_image(const string& filename, void *builtin_data, bool animated, + int tile, float frame, InterpolationType interpolation, ExtensionType extension, @@ -322,6 +325,7 @@ int ImageManager::add_image(const string& filename, if(img && image_equals(img, filename, builtin_data, + tile, interpolation, extension, use_alpha)) @@ -370,6 +374,7 @@ int ImageManager::add_image(const string& filename, img->metadata = metadata; img->need_load = true; img->animated = animated; + img->tile = tile; img->frame = frame; img->interpolation = interpolation; img->extension = extension; @@ -406,6 +411,7 @@ void ImageManager::remove_image(int flat_slot) void ImageManager::remove_image(const string& filename, void *builtin_data, + int tile, InterpolationType interpolation, ExtensionType extension, bool use_alpha) @@ -417,6 +423,7 @@ void ImageManager::remove_image(const string& filename, if(images[type][slot] && image_equals(images[type][slot], filename, builtin_data, + tile, interpolation, extension, use_alpha)) @@ -434,6 +441,7 @@ void ImageManager::remove_image(const string& filename, */ void ImageManager::tag_reload_image(const string& filename, void *builtin_data, + int tile, InterpolationType interpolation, ExtensionType extension, bool use_alpha) @@ -443,6 +451,7 @@ void ImageManager::tag_reload_image(const string& filename, if(images[type][slot] && image_equals(images[type][slot], filename, builtin_data, + tile, interpolation, extension, use_alpha)) @@ -581,6 +590,7 @@ bool ImageManager::file_load_image(Image *img, if(FileFormat == TypeDesc::FLOAT) { builtin_image_float_pixels_cb(img->filename, img->builtin_data, + img->tile, (float*)&pixels[0], num_pixels * components, img->metadata.builtin_free_cache); @@ -588,6 +598,7 @@ bool ImageManager::file_load_image(Image *img, else if(FileFormat == TypeDesc::UINT8) { builtin_image_pixels_cb(img->filename, img->builtin_data, + img->tile, (uchar*)&pixels[0], num_pixels * components, img->metadata.builtin_free_cache); |