0
0
forked from blender/blender
blender/intern/cycles
Michael Jones (Apple) 5a29be3c75 Cycles: Fix #116243, #122022 - MetalRT live viewport stability issues
This PR fixes live viewport stability issues on Mac when MetalRT is enabled.

There were two sources of instability:

1) `MTLAccelerationStructure` instances were not being correctly retained meaning that use-after-free crashes could occur following a geometry sync.
2) `MTLIntersectionFunctionTable` objects could be unsafely shared between multiple `MetalDeviceQueue` instances (in this case, `setBuffer` being the unsafe mutation)

The solution to 2 involves creating a new `MetalDispatchPipeline` type which is strictly used by only 1 `MetalDeviceQueue` instance.

Pull Request: blender/blender#124055
2024-07-08 16:18:34 +02:00
..
app Cycles: Sync minor build related changes with standalone repo 2024-06-26 20:39:03 +02:00
blender Cycles: Cleanup calls to _cycles.available_devices 2024-07-03 16:00:42 +02:00
bvh Fix: Compiler warning about format string 2024-06-21 12:29:02 +02:00
cmake Cycles: Sync minor build related changes with standalone repo 2024-06-26 20:39:03 +02:00
device Cycles: Fix #116243, #122022 - MetalRT live viewport stability issues 2024-07-08 16:18:34 +02:00
doc License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
graph Fix: Cycles build error with GCC and Clang with some build options 2024-06-26 20:39:02 +02:00
hydra Hydra: Fix Cycles render delegate to build with USD 24.x 2024-06-26 21:06:40 +02:00
integrator Cycles: Fix automatic OptiX denoiser section criteria 2024-07-03 16:00:02 +02:00
kernel Fix #124241: Light-linked objects render incorrectly in volumes 2024-07-08 16:17:39 +02:00
scene Fix #123763: Cycles Metal renders with MNEE stuck on some Macs 2024-06-26 14:15:01 +02:00
session Fix: Command line Cycles render crash on multi-CUDA device 2024-06-07 17:53:44 +02:00
subd Cleanup: use braces for sources in intern/ 2023-09-17 09:05:40 +10:00
test Fix and test direction_to_fisheye_lens_polynomial 2024-07-01 13:56:35 +02:00
util Fix: safe_normalize() not defined for float2 on Metal 2024-07-01 13:58:30 +02:00
CMakeLists.txt Cycles: Sync minor build related changes with standalone repo 2024-06-26 20:39:03 +02:00