diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-10-21 18:00:37 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-10-21 22:25:34 +0300 |
commit | be558d2d9775b3d9d1f84d316d2675a205932d92 (patch) | |
tree | 0e3430fea912756561ed6a9fed32515c5dc75219 /intern/cycles/device | |
parent | aea2287af33c17c5f310ddb20f57d23d2cbe09ac (diff) |
Fix T92363: OptiX fails with ambient occlusion node, after recent changes
This triggered a compiler bug where it does not handle the sub.s16 PTX
instruction. Instead refactor the code so we don't need to do uint16_t
subtraction at all.
Also update OptiX device to remove the AO pass direct callable.
Thanks Patrick Mours for figuring this out.
Diffstat (limited to 'intern/cycles/device')
-rw-r--r-- | intern/cycles/device/optix/device_impl.cpp | 3 | ||||
-rw-r--r-- | intern/cycles/device/optix/device_impl.h | 1 |
2 files changed, 0 insertions, 4 deletions
diff --git a/intern/cycles/device/optix/device_impl.cpp b/intern/cycles/device/optix/device_impl.cpp index 89f4b696b4c..29e46be7745 100644 --- a/intern/cycles/device/optix/device_impl.cpp +++ b/intern/cycles/device/optix/device_impl.cpp @@ -377,9 +377,6 @@ bool OptiXDevice::load_kernels(const uint kernel_features) group_descs[PG_CALL_SVM_BEVEL].callables.moduleDC = optix_module; group_descs[PG_CALL_SVM_BEVEL].callables.entryFunctionNameDC = "__direct_callable__svm_node_bevel"; - group_descs[PG_CALL_AO_PASS].kind = OPTIX_PROGRAM_GROUP_KIND_CALLABLES; - group_descs[PG_CALL_AO_PASS].callables.moduleDC = optix_module; - group_descs[PG_CALL_AO_PASS].callables.entryFunctionNameDC = "__direct_callable__ao_pass"; } optix_assert(optixProgramGroupCreate( diff --git a/intern/cycles/device/optix/device_impl.h b/intern/cycles/device/optix/device_impl.h index 3695ac6afc2..b20d42f8c61 100644 --- a/intern/cycles/device/optix/device_impl.h +++ b/intern/cycles/device/optix/device_impl.h @@ -45,7 +45,6 @@ enum { PG_HITS_MOTION, PG_CALL_SVM_AO, PG_CALL_SVM_BEVEL, - PG_CALL_AO_PASS, NUM_PROGRAM_GROUPS }; |