Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/device.cpp
| Show All 21 Lines | |||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| enum ComputeDevice { | enum ComputeDevice { | ||||
| COMPUTE_DEVICE_CPU = 0, | COMPUTE_DEVICE_CPU = 0, | ||||
| COMPUTE_DEVICE_CUDA = 1, | COMPUTE_DEVICE_CUDA = 1, | ||||
| COMPUTE_DEVICE_OPTIX = 3, | COMPUTE_DEVICE_OPTIX = 3, | ||||
| COMPUTE_DEVICE_HIP = 4, | COMPUTE_DEVICE_HIP = 4, | ||||
| COMPUTE_DEVICE_METAL = 5, | |||||
| COMPUTE_DEVICE_NUM | COMPUTE_DEVICE_NUM | ||||
| }; | }; | ||||
| int blender_device_threads(BL::Scene &b_scene) | int blender_device_threads(BL::Scene &b_scene) | ||||
| { | { | ||||
| BL::RenderSettings b_r = b_scene.render(); | BL::RenderSettings b_r = b_scene.render(); | ||||
| ▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | if (compute_device != COMPUTE_DEVICE_CPU) { | ||||
| mask |= DEVICE_MASK_CUDA; | mask |= DEVICE_MASK_CUDA; | ||||
| } | } | ||||
| else if (compute_device == COMPUTE_DEVICE_OPTIX) { | else if (compute_device == COMPUTE_DEVICE_OPTIX) { | ||||
| mask |= DEVICE_MASK_OPTIX; | mask |= DEVICE_MASK_OPTIX; | ||||
| } | } | ||||
| else if (compute_device == COMPUTE_DEVICE_HIP) { | else if (compute_device == COMPUTE_DEVICE_HIP) { | ||||
| mask |= DEVICE_MASK_HIP; | mask |= DEVICE_MASK_HIP; | ||||
| } | } | ||||
| else if (compute_device == COMPUTE_DEVICE_METAL) { | |||||
| mask |= DEVICE_MASK_METAL; | |||||
| } | |||||
| vector<DeviceInfo> devices = Device::available_devices(mask); | vector<DeviceInfo> devices = Device::available_devices(mask); | ||||
| /* Match device preferences and available devices. */ | /* Match device preferences and available devices. */ | ||||
| vector<DeviceInfo> used_devices; | vector<DeviceInfo> used_devices; | ||||
| RNA_BEGIN (&cpreferences, device, "devices") { | RNA_BEGIN (&cpreferences, device, "devices") { | ||||
| if (get_boolean(device, "use")) { | if (get_boolean(device, "use")) { | ||||
| string id = get_string(device, "id"); | string id = get_string(device, "id"); | ||||
| foreach (DeviceInfo &info, devices) { | foreach (DeviceInfo &info, devices) { | ||||
| Show All 25 Lines | |||||