[Bf-blender-cvs] [bd0a0b36a0d] cycles_oneapi: Cycles: cleanup oneAPI mem_copy_from

Xavier Hallade noreply at git.blender.org
Fri Jun 3 13:43:32 CEST 2022


Commit: bd0a0b36a0de2f79396ee955c41d03331f383c0b
Author: Xavier Hallade
Date:   Fri Jun 3 12:49:56 2022 +0200
Branches: cycles_oneapi
https://developer.blender.org/rBbd0a0b36a0de2f79396ee955c41d03331f383c0b

Cycles: cleanup oneAPI mem_copy_from

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

M	intern/cycles/device/oneapi/device_impl.cpp
M	intern/cycles/device/oneapi/device_impl.h

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

diff --git a/intern/cycles/device/oneapi/device_impl.cpp b/intern/cycles/device/oneapi/device_impl.cpp
index 896834d9c55..0a29f08b3c3 100644
--- a/intern/cycles/device/oneapi/device_impl.cpp
+++ b/intern/cycles/device/oneapi/device_impl.cpp
@@ -243,7 +243,7 @@ void OneapiDevice::mem_copy_from(device_memory &mem, size_t y, size_t w, size_t
     assert(!"mem_copy_from not supported for textures.");
   }
   else if (mem.host_pointer) {
-    const size_t size = elem * w * h;
+    const size_t size = (w > 0 || h > 0 || elem > 0) ? (elem * w * h) : mem.memory_size();
     const size_t offset = elem * y * w;
 
     if (mem.name) {
diff --git a/intern/cycles/device/oneapi/device_impl.h b/intern/cycles/device/oneapi/device_impl.h
index b5edb48d2b3..e3bdaa959af 100644
--- a/intern/cycles/device/oneapi/device_impl.h
+++ b/intern/cycles/device/oneapi/device_impl.h
@@ -63,6 +63,11 @@ class OneapiDevice : public Device {
 
   void mem_copy_from(device_memory &mem, size_t y, size_t w, size_t h, size_t elem) override;
 
+  void mem_copy_from(device_memory &mem)
+  {
+    mem_copy_from(mem, 0, 0, 0, 0);
+  }
+
   void mem_zero(device_memory &mem) override;
 
   void mem_free(device_memory &mem) override;



More information about the Bf-blender-cvs mailing list