v4.2.0
tagged this
23 Jul 20:08
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: https://projects.blender.org/blender/blender/pulls/124055