From 2f79d1c0584f4d72984e56db1f5878be3360e044 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 19 Jan 2018 10:59:58 +0100 Subject: Cycles: Replace use_qbvh boolean flag with an enum-based property This was we can introduce other types of BVH, for example, wider ones, without causing too much mess around boolean flags. Thoughs: - Ideally device info should probably return bitflag of what BVH types it supports. It is possible to implement based on simple logic in device/ and mesh.cpp, rest of the changes will stay the same. - Not happy with workarounds in util_debug and duplicated enum in kernel. Maybe enbum should be stores in kernel, but then it's kind of weird to include kernel types from utils. Soudns some cyclkic dependency. Reviewers: brecht, maxim_d33 Reviewed By: brecht Differential Revision: https://developer.blender.org/D3011 --- intern/cycles/device/device.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'intern/cycles/device/device.cpp') diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index d55a999c454..1ec0bc3e1c6 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -362,7 +362,7 @@ DeviceInfo Device::get_multi_device(const vector& subdevices, int th info.has_fermi_limits = false; info.has_half_images = true; info.has_volume_decoupled = true; - info.has_qbvh = true; + info.bvh_layout_mask = BVH_LAYOUT_ALL; info.has_osl = true; foreach(const DeviceInfo &device, subdevices) { @@ -399,7 +399,7 @@ DeviceInfo Device::get_multi_device(const vector& subdevices, int th device.has_fermi_limits; info.has_half_images &= device.has_half_images; info.has_volume_decoupled &= device.has_volume_decoupled; - info.has_qbvh &= device.has_qbvh; + info.bvh_layout_mask = device.bvh_layout_mask & info.bvh_layout_mask; info.has_osl &= device.has_osl; } -- cgit v1.2.3