From 681eed7e4d46be8cf2945cb4c3dbd9c2d17362ab Mon Sep 17 00:00:00 2001 From: Michael Jones Date: Wed, 2 Jul 2025 10:41:42 +0200 Subject: [PATCH] Fix #135659: Some types of motion are incorrect at low step counts with MetalRT Following #136253, this PR enables decomposed MetalRT motion interpolation on macOS 15.6. The bounding box issue is fixed in the latest macOS 15.6 beta (24G5054d). Pull Request: https://projects.blender.org/blender/blender/pulls/141207 --- intern/cycles/device/metal/device_impl.mm | 3 ++- intern/cycles/util/debug.h | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/intern/cycles/device/metal/device_impl.mm b/intern/cycles/device/metal/device_impl.mm index 9bbc03cf87d..9616f625faa 100644 --- a/intern/cycles/device/metal/device_impl.mm +++ b/intern/cycles/device/metal/device_impl.mm @@ -105,7 +105,8 @@ MetalDevice::MetalDevice(const DeviceInfo &info, Stats &stats, Profiler &profile /* Use "Ray tracing with per component motion interpolation" if available. * Requires Apple9 support (https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf). */ if (use_metalrt && [mtlDevice supportsFamily:MTLGPUFamilyApple9]) { - if (@available(macos 15.0, *)) { + /* Concave motion paths weren't correctly bounded prior to macOS 15.6 (#136253). */ + if (@available(macos 15.6, *)) { use_pcmi = DebugFlags().metal.use_metalrt_pcmi; } } diff --git a/intern/cycles/util/debug.h b/intern/cycles/util/debug.h index 6e9032f7945..ef3b66a8769 100644 --- a/intern/cycles/util/debug.h +++ b/intern/cycles/util/debug.h @@ -102,9 +102,8 @@ class DebugFlags { bool use_async_pso_creation = true; /* Whether to use per-component motion interpolation. - * TODO: Enable by default when "multi step velocity motion blur" fail is fixed. */ - bool use_metalrt_pcmi = false; + bool use_metalrt_pcmi = true; }; /* Get instance of debug flags registry. */