Blender Git Loki

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021