diff --git a/intern/cycles/device/metal/device.mm b/intern/cycles/device/metal/device.mm index 2a517f67a06..917b7a8573e 100644 --- a/intern/cycles/device/metal/device.mm +++ b/intern/cycles/device/metal/device.mm @@ -59,7 +59,13 @@ void device_metal_info(vector &devices) info.has_nanovdb = vendor == METAL_GPU_APPLE; info.has_light_tree = vendor != METAL_GPU_AMD; + info.use_hardware_raytracing = vendor != METAL_GPU_INTEL; + if (info.use_hardware_raytracing) { + if (@available(macos 11.0, *)) { + info.use_hardware_raytracing = device.supportsRaytracing; + } + } devices.push_back(info); device_index++; diff --git a/source/blender/blenkernel/intern/image_partial_update.cc b/source/blender/blenkernel/intern/image_partial_update.cc index 4bf52340f1e..e6c5ae2d7cc 100644 --- a/source/blender/blenkernel/intern/image_partial_update.cc +++ b/source/blender/blenkernel/intern/image_partial_update.cc @@ -420,7 +420,15 @@ struct PartialUpdateRegisterImpl { */ bool can_construct(ChangesetID changeset_id) { - return changeset_id >= first_changeset_id; + if (changeset_id < first_changeset_id) { + return false; + } + + if (changeset_id > last_changeset_id) { + return false; + } + + return true; } /**