[Bf-blender-cvs] [3e2957ea169] temp-gpu-texture-partial-updates: Added correct API usage check.

Jeroen Bakker noreply at git.blender.org
Wed Nov 17 15:29:45 CET 2021


Commit: 3e2957ea169163c553138eff89722bc773400705
Author: Jeroen Bakker
Date:   Wed Nov 17 14:43:15 2021 +0100
Branches: temp-gpu-texture-partial-updates
https://developer.blender.org/rB3e2957ea169163c553138eff89722bc773400705

Added correct API usage check.

===================================================================

M	source/blender/blenkernel/intern/image_partial_update.cc

===================================================================

diff --git a/source/blender/blenkernel/intern/image_partial_update.cc b/source/blender/blenkernel/intern/image_partial_update.cc
index a2ee522e0f3..9aabc5d802f 100644
--- a/source/blender/blenkernel/intern/image_partial_update.cc
+++ b/source/blender/blenkernel/intern/image_partial_update.cc
@@ -100,6 +100,11 @@ struct PartialUpdateUserImpl {
   /** \brief regions that have been updated. */
   Vector<PartialUpdateRegion> updated_regions;
 
+#ifdef NDEBUG
+  /** \brief reference to image to validate correct API usage. */
+  void *debug_image_;
+#endif
+
   /**
    * \brief Clear the list of updated regions.
    *
@@ -349,8 +354,14 @@ static struct PartialUpdateRegister *image_partial_update_register_ensure(Image
 // TODO(jbakker): cleanup parameter.
 struct PartialUpdateUser *BKE_image_partial_update_create(struct Image *image)
 {
-  BLI_assert(image);
   PartialUpdateUserImpl *user_impl = OBJECT_GUARDED_NEW(PartialUpdateUserImpl);
+
+#ifdef NDEBUG
+  user_impl->debug_image_ = image;
+#else
+  UNUSED_VARS(image);
+#endif
+
   return wrap(user_impl);
 }
 
@@ -364,6 +375,10 @@ ePartialUpdateCollectResult BKE_image_partial_update_collect_changes(Image *imag
                                                                      PartialUpdateUser *user)
 {
   PartialUpdateUserImpl *user_impl = unwrap(user);
+#ifdef NDEBUG
+  BLI_assert(image == user_impl->debug_image_);
+#endif
+
   user_impl->clear_updated_regions();
 
   PartialUpdateRegisterImpl *partial_updater = unwrap(image_partial_update_register_ensure(image));



More information about the Bf-blender-cvs mailing list