diff options
author | Michael Jones <michael_p_jones@apple.com> | 2021-12-07 18:11:35 +0300 |
---|---|---|
committer | Michael Jones <michael_p_jones@apple.com> | 2021-12-07 18:52:21 +0300 |
commit | 9558fa5196033390111a2348caa66ab18b8a4f89 (patch) | |
tree | acc3ed446f709390abfef5f97f82c1ed9abe0100 /intern/cycles/device/device.h | |
parent | 565b33c0ad31966b860123837d2c4b5a8cbedad2 (diff) |
Cycles: Metal host-side code
This patch adds the Metal host-side code:
- Add all core host-side Metal backend files (device_impl, queue, etc)
- Add MetalRT BVH setup files
- Integrate with Cycles device enumeration code
- Revive `path_source_replace_includes` in util/path (required for MSL compilation)
This patch also includes a couple of small kernel-side fixes:
- Add an implementation of `lgammaf` for Metal [Nemes, Gergő (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik](https://users.renyi.hu/~gergonemes/)
- include "work_stealing.h" inside the Metal context class because it accesses state now
Ref T92212
Reviewed By: brecht
Maniphest Tasks: T92212
Differential Revision: https://developer.blender.org/D13423
Diffstat (limited to 'intern/cycles/device/device.h')
-rw-r--r-- | intern/cycles/device/device.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 346632de314..c032773ddd0 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -52,6 +52,7 @@ enum DeviceType { DEVICE_MULTI, DEVICE_OPTIX, DEVICE_HIP, + DEVICE_METAL, DEVICE_DUMMY, }; @@ -60,6 +61,7 @@ enum DeviceTypeMask { DEVICE_MASK_CUDA = (1 << DEVICE_CUDA), DEVICE_MASK_OPTIX = (1 << DEVICE_OPTIX), DEVICE_MASK_HIP = (1 << DEVICE_HIP), + DEVICE_MASK_METAL = (1 << DEVICE_METAL), DEVICE_MASK_ALL = ~0 }; @@ -281,6 +283,7 @@ class Device { static vector<DeviceInfo> optix_devices; static vector<DeviceInfo> cpu_devices; static vector<DeviceInfo> hip_devices; + static vector<DeviceInfo> metal_devices; static uint devices_initialized_mask; }; |