[Bf-blender-cvs] [81159e99b81] blender2.7: Fix T61078: Cycles crash with adaptive smoke sim playback.
Brecht Van Lommel
noreply at git.blender.org
Fri Feb 1 19:08:59 CET 2019
Commit: 81159e99b819910b72cb3caba6b3cd4f35184ea9
Author: Brecht Van Lommel
Date: Fri Feb 1 19:05:00 2019 +0100
Branches: blender2.7
https://developer.blender.org/rB81159e99b819910b72cb3caba6b3cd4f35184ea9
Fix T61078: Cycles crash with adaptive smoke sim playback.
3D image dimensions should be updated on the Cycles side before loading
the smoke data.
===================================================================
M intern/cycles/render/image.cpp
M intern/cycles/render/image.h
===================================================================
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index a8e6f41e57a..341a95c0258 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -333,6 +333,10 @@ int ImageManager::add_image(const string& filename,
img->use_alpha = use_alpha;
img->need_load = true;
}
+ if(!(img->metadata == metadata)) {
+ img->metadata = metadata;
+ img->need_load = true;
+ }
img->users++;
return type_index_to_flattened_slot(slot, type);
}
diff --git a/intern/cycles/render/image.h b/intern/cycles/render/image.h
index b608bc30e70..cd7130b3898 100644
--- a/intern/cycles/render/image.h
+++ b/intern/cycles/render/image.h
@@ -44,6 +44,18 @@ public:
/* Automatically set. */
ImageDataType type;
bool is_linear;
+
+ bool operator==(const ImageMetaData& other) const
+ {
+ return is_float == other.is_float &&
+ is_half == other.is_half &&
+ channels == other.channels &&
+ width == other.width &&
+ height == other.height &&
+ depth == other.depth &&
+ type == other.type &&
+ is_linear == other.is_linear;
+ }
};
class ImageManager {
More information about the Bf-blender-cvs
mailing list