[Bf-blender-cvs] [64018d55cf5] temp-multi-function-eval-varray: progress

Jacques Lucke noreply at git.blender.org
Wed Apr 6 16:18:13 CEST 2022


Commit: 64018d55cf56ba9b5675670774c3508867abbad5
Author: Jacques Lucke
Date:   Wed Apr 6 14:01:53 2022 +0200
Branches: temp-multi-function-eval-varray
https://developer.blender.org/rB64018d55cf56ba9b5675670774c3508867abbad5

progress

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

M	source/blender/blenlib/BLI_generic_virtual_array.hh
M	source/blender/blenlib/intern/generic_virtual_array.cc

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

diff --git a/source/blender/blenlib/BLI_generic_virtual_array.hh b/source/blender/blenlib/BLI_generic_virtual_array.hh
index f4c9e745cf9..3b9ae33c9f1 100644
--- a/source/blender/blenlib/BLI_generic_virtual_array.hh
+++ b/source/blender/blenlib/BLI_generic_virtual_array.hh
@@ -590,6 +590,9 @@ class GVArrayImpl_For_GSpan : public GVMutableArrayImpl {
 
   bool is_span() const override;
   GSpan get_internal_span() const override;
+
+  virtual void materialize(const IndexMask mask, void *dst) const override;
+  virtual void materialize_to_uninitialized(const IndexMask mask, void *dst) const override;
 };
 
 /** \} */
diff --git a/source/blender/blenlib/intern/generic_virtual_array.cc b/source/blender/blenlib/intern/generic_virtual_array.cc
index 974c40fecd1..7a2b45ff857 100644
--- a/source/blender/blenlib/intern/generic_virtual_array.cc
+++ b/source/blender/blenlib/intern/generic_virtual_array.cc
@@ -172,6 +172,16 @@ GSpan GVArrayImpl_For_GSpan::get_internal_span() const
   return GSpan(*type_, data_, size_);
 }
 
+void GVArrayImpl_For_GSpan::materialize(const IndexMask mask, void *dst) const
+{
+  type_->copy_assign_indices(data_, dst, mask);
+}
+
+void GVArrayImpl_For_GSpan::materialize_to_uninitialized(const IndexMask mask, void *dst) const
+{
+  type_->copy_construct_indices(data_, dst, mask);
+}
+
 class GVArrayImpl_For_GSpan_final final : public GVArrayImpl_For_GSpan {
  public:
   using GVArrayImpl_For_GSpan::GVArrayImpl_For_GSpan;



More information about the Bf-blender-cvs mailing list