Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mours <pmours@nvidia.com>2022-09-12 19:46:20 +0300
committerPatrick Mours <pmours@nvidia.com>2022-09-13 11:59:28 +0300
commita45c36efae07f22dd1da1ebac728324aeafce85e (patch)
tree842f27474a4b011786da5ef07ed5c6630e8203a9 /intern/cycles/kernel/integrator/displacement_shader.h
parent8e03df9bbc22baaf9d538e01c44f6857a8c9b43a (diff)
Cycles: Make OSL implementation independent from SVM
Cleans up the file structure to be more similar to that of the SVM and also makes it possible to build kernels with OSL support, but without having to include SVM support. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15949
Diffstat (limited to 'intern/cycles/kernel/integrator/displacement_shader.h')
-rw-r--r--intern/cycles/kernel/integrator/displacement_shader.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/intern/cycles/kernel/integrator/displacement_shader.h b/intern/cycles/kernel/integrator/displacement_shader.h
index 71a0f56fb3e..839dfe244ac 100644
--- a/intern/cycles/kernel/integrator/displacement_shader.h
+++ b/intern/cycles/kernel/integrator/displacement_shader.h
@@ -5,10 +5,11 @@
#pragma once
-#include "kernel/svm/svm.h"
-
+#ifdef __SVM__
+# include "kernel/svm/svm.h"
+#endif
#ifdef __OSL__
-# include "kernel/osl/shader.h"
+# include "kernel/osl/osl.h"
#endif
CCL_NAMESPACE_BEGIN
@@ -22,17 +23,18 @@ ccl_device void displacement_shader_eval(KernelGlobals kg,
sd->num_closure_left = 0;
/* this will modify sd->P */
-#ifdef __SVM__
-# ifdef __OSL__
- if (kg->osl)
+#ifdef __OSL__
+ if (kg->osl) {
OSLShader::eval_displacement(kg, state, sd);
+ }
else
-# endif
+#endif
{
+#ifdef __SVM__
svm_eval_nodes<KERNEL_FEATURE_NODE_MASK_DISPLACEMENT, SHADER_TYPE_DISPLACEMENT>(
kg, state, sd, NULL, 0);
- }
#endif
+ }
}
CCL_NAMESPACE_END