diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-11-21 19:42:31 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-11-21 19:42:31 +0300 |
commit | a106da7f1dd92b7fc8559d7f83509e7f21758615 (patch) | |
tree | 218390ecd14a56fafa019b46fa2dd9a8d9e3c75a /intern/cycles/device/device_opencl.cpp | |
parent | 9aafec1ce1bfdb815c2ed6fe2da83f9451fde3e4 (diff) |
Cycles: Move build options constructions to DeviceRequestedFeatures
This way it's easier to re-use requested features logic across multiple
device implementations.
Diffstat (limited to 'intern/cycles/device/device_opencl.cpp')
-rw-r--r-- | intern/cycles/device/device_opencl.cpp | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 0db11e07c8b..5bef6a39728 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -1550,34 +1550,6 @@ protected: } } - string build_options_from_requested_features( - const DeviceRequestedFeatures& requested_features) - { - string build_options = ""; - if(requested_features.experimental) { - build_options += "-D__KERNEL_EXPERIMENTAL__ "; - } - build_options += "-D__NODES_MAX_GROUP__=" + - string_printf("%d", requested_features.max_nodes_group); - build_options += " -D__NODES_FEATURES__=" + - string_printf("%d", requested_features.nodes_features); - build_options += string_printf(" -D__MAX_CLOSURE__=%d", - requested_features.max_closure); - if(!requested_features.use_hair) { - build_options += " -D__NO_HAIR__"; - } - if(!requested_features.use_object_motion) { - build_options += " -D__NO_OBJECT_MOTION__"; - } - if(!requested_features.use_camera_motion) { - build_options += " -D__NO_CAMERA_MOTION__"; - } - if(!requested_features.use_baking) { - build_options += " -D__NO_BAKING__"; - } - return build_options; - } - /* ** Those guys are for workign around some compiler-specific bugs ** */ virtual cl_program load_cached_kernel( @@ -2312,7 +2284,7 @@ public: #ifdef __WORK_STEALING__ build_options += " -D__WORK_STEALING__"; #endif - build_options += build_options_from_requested_features(requested_features); + build_options += requested_features.get_build_options(); /* Set compute device build option. */ cl_device_type device_type; @@ -3585,7 +3557,7 @@ protected: string build_options_for_base_program( const DeviceRequestedFeatures& requested_features) { - return build_options_from_requested_features(requested_features); + return requested_features.get_build_options(); } }; |