Blender Git Commit Log
Git Commits -> Revision 336ca67
Revision 336ca67 by Sergey Sharybin (master) November 22, 2021, 16:26 (GMT) |
Fix T90308: Cycles crash copying memory from device to host Happens when device runs out of memory and Cycles is moving some textures to the host memory. The delayed memory free for OptiX BVH was moving data from one device_memory to another, leaving the original device memory in an invalid state. This was ruining the allocation map in the CUDA device which is using pointer to the device_memory. This change makes it so the memory pointer is stolen from BVH into the delayed memory free list. Additionally, forbid copying and moving instances of device_memory and added sanity checks in the device implementation. Differential Revision: https://developer.blender.org/D13316 |
Commit Details:
Full Hash: 336ca6796a7a6ee26ff6d889643df07a37efa554
Parent Commit: 25c83c2
Lines Changed: +30, -55
8 Modified Paths:
/intern/cycles/bvh/optix.cpp (+6, -4) (Diff)
/intern/cycles/bvh/optix.h (+4, -2) (Diff)
/intern/cycles/device/cuda/device_impl.cpp (+2, -0) (Diff)
/intern/cycles/device/hip/device_impl.cpp (+2, -0) (Diff)
/intern/cycles/device/memory.cpp (+0, -39) (Diff)
/intern/cycles/device/memory.h (+7, -2) (Diff)
/intern/cycles/device/optix/device_impl.cpp (+7, -7) (Diff)
/intern/cycles/device/optix/device_impl.h (+2, -1) (Diff)
/intern/cycles/bvh/optix.h (+4, -2) (Diff)
/intern/cycles/device/cuda/device_impl.cpp (+2, -0) (Diff)
/intern/cycles/device/hip/device_impl.cpp (+2, -0) (Diff)
/intern/cycles/device/memory.cpp (+0, -39) (Diff)
/intern/cycles/device/memory.h (+7, -2) (Diff)
/intern/cycles/device/optix/device_impl.cpp (+7, -7) (Diff)
/intern/cycles/device/optix/device_impl.h (+2, -1) (Diff)