diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-04-21 13:56:54 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-04-21 15:41:42 +0300 |
commit | 9781139590dbbeb6d246d4fbafa8ab1a4696c7fb (patch) | |
tree | 9275a763d008ecbe1d11249371897c6ec99a46d7 /intern/cycles/device/device.h | |
parent | b6da2a6a86fb948f11f9147c5ed722a064673e6d (diff) |
Cycles: Solve speed regression of classroom scene after principled commit
This way we can skip it from compiling into OpenCL kernels by making
this shader compile-time feature.
Diffstat (limited to 'intern/cycles/device/device.h')
-rw-r--r-- | intern/cycles/device/device.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index ac06e561795..6051dd8b3eb 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -124,6 +124,9 @@ public: /* Use various shadow tricks, such as shadow catcher. */ bool use_shadow_tricks; + /* Per-uber shader usage flags. */ + bool use_principled; + DeviceRequestedFeatures() { /* TODO(sergey): Find more meaningful defaults. */ @@ -141,6 +144,7 @@ public: use_patch_evaluation = false; use_transparent = false; use_shadow_tricks = false; + use_principled = false; } bool modified(const DeviceRequestedFeatures& requested_features) @@ -158,7 +162,8 @@ public: use_integrator_branched == requested_features.use_integrator_branched && use_patch_evaluation == requested_features.use_patch_evaluation && use_transparent == requested_features.use_transparent && - use_shadow_tricks == requested_features.use_shadow_tricks); + use_shadow_tricks == requested_features.use_shadow_tricks && + use_principled == requested_features.use_principled); } /* Convert the requested features structure to a build options, @@ -205,6 +210,9 @@ public: if(!use_shadow_tricks) { build_options += " -D__NO_SHADOW_TRICKS__"; } + if(!use_principled) { + build_options += " -D__NO_PRINCIPLED__"; + } return build_options; } }; |