forked from bartvdbraak/blender
Cleanup: simplify kernel features definition.
No functional changes, logic here got too complex after many changes over the years.
This commit is contained in:
parent
e17f7af0ce
commit
9873005ecd
@ -184,7 +184,7 @@ string OpenCLDevice::get_build_options(const DeviceRequestedFeatures& requested_
|
|||||||
if (preview_kernel) {
|
if (preview_kernel) {
|
||||||
DeviceRequestedFeatures preview_features;
|
DeviceRequestedFeatures preview_features;
|
||||||
preview_features.use_hair = true;
|
preview_features.use_hair = true;
|
||||||
build_options += "-D__KERNEL_OPENCL_PREVIEW__ ";
|
build_options += "-D__KERNEL_AO_PREVIEW__ ";
|
||||||
build_options += preview_features.get_build_options();
|
build_options += preview_features.get_build_options();
|
||||||
}
|
}
|
||||||
else if (opencl_program_name == "split_do_volume" && !requested_features.use_volume) {
|
else if (opencl_program_name == "split_do_volume" && !requested_features.use_volume) {
|
||||||
|
@ -125,7 +125,7 @@
|
|||||||
#define fmodf(x, y) fmod((float)(x), (float)(y))
|
#define fmodf(x, y) fmod((float)(x), (float)(y))
|
||||||
#define sinhf(x) sinh(((float)(x)))
|
#define sinhf(x) sinh(((float)(x)))
|
||||||
|
|
||||||
#ifndef __CL_USE_NATIVE__
|
#if !(defined(__KERNEL_OPENCL_AMD__) || defined(__KERNEL_OPENCL_INTEL_CPU__))
|
||||||
# define sinf(x) native_sin(((float)(x)))
|
# define sinf(x) native_sin(((float)(x)))
|
||||||
# define cosf(x) native_cos(((float)(x)))
|
# define cosf(x) native_cos(((float)(x)))
|
||||||
# define tanf(x) native_tan(((float)(x)))
|
# define tanf(x) native_tan(((float)(x)))
|
||||||
|
@ -83,76 +83,6 @@ CCL_NAMESPACE_BEGIN
|
|||||||
# define SHADER_SORT_LOCAL_SIZE 1
|
# define SHADER_SORT_LOCAL_SIZE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Device capabilities */
|
|
||||||
#ifdef __KERNEL_CPU__
|
|
||||||
# ifdef __KERNEL_SSE2__
|
|
||||||
# define __QBVH__
|
|
||||||
# endif
|
|
||||||
# define __KERNEL_SHADING__
|
|
||||||
# define __BRANCHED_PATH__
|
|
||||||
# ifdef WITH_OSL
|
|
||||||
# define __OSL__
|
|
||||||
# endif
|
|
||||||
# define __PRINCIPLED__
|
|
||||||
# define __SUBSURFACE__
|
|
||||||
# define __CMJ__
|
|
||||||
# define __VOLUME__
|
|
||||||
# define __VOLUME_SCATTER__
|
|
||||||
# define __SHADOW_RECORD_ALL__
|
|
||||||
# define __VOLUME_DECOUPLED__
|
|
||||||
# define __VOLUME_RECORD_ALL__
|
|
||||||
#endif /* __KERNEL_CPU__ */
|
|
||||||
|
|
||||||
#ifdef __KERNEL_CUDA__
|
|
||||||
# define __KERNEL_SHADING__
|
|
||||||
# define __VOLUME__
|
|
||||||
# define __VOLUME_SCATTER__
|
|
||||||
# define __SUBSURFACE__
|
|
||||||
# define __PRINCIPLED__
|
|
||||||
# define __SHADOW_RECORD_ALL__
|
|
||||||
# define __CMJ__
|
|
||||||
# ifndef __SPLIT_KERNEL__
|
|
||||||
# define __BRANCHED_PATH__
|
|
||||||
# endif
|
|
||||||
#endif /* __KERNEL_CUDA__ */
|
|
||||||
|
|
||||||
#ifdef __KERNEL_OPENCL__
|
|
||||||
|
|
||||||
# if defined(__KERNEL_OPENCL_AMD__) || defined(__KERNEL_OPENCL_INTEL_CPU__)
|
|
||||||
# define __CL_USE_NATIVE__
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Preview kernel is used as a small kernel when the optimized kernel is still being compiled. */
|
|
||||||
# ifdef __KERNEL_OPENCL_PREVIEW__
|
|
||||||
# define __AO__
|
|
||||||
# define __PASSES__
|
|
||||||
# define __HAIR__
|
|
||||||
# else
|
|
||||||
|
|
||||||
# define __KERNEL_SHADING__
|
|
||||||
# define __PRINCIPLED__
|
|
||||||
# define __CMJ__
|
|
||||||
|
|
||||||
# ifdef __KERNEL_OPENCL_NVIDIA__
|
|
||||||
# define __SUBSURFACE__
|
|
||||||
# define __VOLUME__
|
|
||||||
# define __VOLUME_SCATTER__
|
|
||||||
# define __SHADOW_RECORD_ALL__
|
|
||||||
# define __BRANCHED_PATH__
|
|
||||||
# endif /* __KERNEL_OPENCL_NVIDIA__ */
|
|
||||||
|
|
||||||
# ifdef __KERNEL_OPENCL_AMD__
|
|
||||||
# define __SUBSURFACE__
|
|
||||||
# define __VOLUME__
|
|
||||||
# define __VOLUME_SCATTER__
|
|
||||||
# define __SHADOW_RECORD_ALL__
|
|
||||||
# define __BRANCHED_PATH__
|
|
||||||
# endif /* __KERNEL_OPENCL_AMD__ */
|
|
||||||
|
|
||||||
# endif /* KERNEL_OPENCL_PREVIEW__ */
|
|
||||||
#endif /* __KERNEL_OPENCL__ */
|
|
||||||
|
|
||||||
/* Kernel features */
|
/* Kernel features */
|
||||||
#define __SOBOL__
|
#define __SOBOL__
|
||||||
#define __INSTANCING__
|
#define __INSTANCING__
|
||||||
@ -169,8 +99,12 @@ CCL_NAMESPACE_BEGIN
|
|||||||
#define __SHADOW_TRICKS__
|
#define __SHADOW_TRICKS__
|
||||||
#define __DENOISING_FEATURES__
|
#define __DENOISING_FEATURES__
|
||||||
#define __SHADER_RAYTRACE__
|
#define __SHADER_RAYTRACE__
|
||||||
|
#define __AO__
|
||||||
|
#define __PASSES__
|
||||||
|
#define __HAIR__
|
||||||
|
|
||||||
#ifdef __KERNEL_SHADING__
|
/* Without these we get an AO render, used by OpenCL preview kernel. */
|
||||||
|
#ifndef __KERNEL_AO_PREVIEW__
|
||||||
# define __SVM__
|
# define __SVM__
|
||||||
# define __EMISSION__
|
# define __EMISSION__
|
||||||
# define __TEXTURES__
|
# define __TEXTURES__
|
||||||
@ -178,16 +112,42 @@ CCL_NAMESPACE_BEGIN
|
|||||||
# define __HOLDOUT__
|
# define __HOLDOUT__
|
||||||
# define __MULTI_CLOSURE__
|
# define __MULTI_CLOSURE__
|
||||||
# define __TRANSPARENT_SHADOWS__
|
# define __TRANSPARENT_SHADOWS__
|
||||||
# define __PASSES__
|
|
||||||
# define __BACKGROUND_MIS__
|
# define __BACKGROUND_MIS__
|
||||||
# define __LAMP_MIS__
|
# define __LAMP_MIS__
|
||||||
# define __AO__
|
|
||||||
# define __CAMERA_MOTION__
|
# define __CAMERA_MOTION__
|
||||||
# define __OBJECT_MOTION__
|
# define __OBJECT_MOTION__
|
||||||
# define __HAIR__
|
# define __HAIR__
|
||||||
# define __BAKING__
|
# define __BAKING__
|
||||||
|
# define __PRINCIPLED__
|
||||||
|
# define __SUBSURFACE__
|
||||||
|
# define __VOLUME__
|
||||||
|
# define __VOLUME_SCATTER__
|
||||||
|
# define __CMJ__
|
||||||
|
# define __SHADOW_RECORD_ALL__
|
||||||
|
# define __BRANCHED_PATH__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Device specific features */
|
||||||
|
#ifdef __KERNEL_CPU__
|
||||||
|
# ifdef __KERNEL_SSE2__
|
||||||
|
# define __QBVH__
|
||||||
|
# endif
|
||||||
|
# ifdef WITH_OSL
|
||||||
|
# define __OSL__
|
||||||
|
# endif
|
||||||
|
# define __VOLUME_DECOUPLED__
|
||||||
|
# define __VOLUME_RECORD_ALL__
|
||||||
|
#endif /* __KERNEL_CPU__ */
|
||||||
|
|
||||||
|
#ifdef __KERNEL_CUDA__
|
||||||
|
# ifdef __SPLIT_KERNEL__
|
||||||
|
# undef __BRANCHED_PATH__
|
||||||
|
# endif
|
||||||
|
#endif /* __KERNEL_CUDA__ */
|
||||||
|
|
||||||
|
#ifdef __KERNEL_OPENCL__
|
||||||
|
#endif /* __KERNEL_OPENCL__ */
|
||||||
|
|
||||||
/* Scene-based selective features compilation. */
|
/* Scene-based selective features compilation. */
|
||||||
#ifdef __NO_CAMERA_MOTION__
|
#ifdef __NO_CAMERA_MOTION__
|
||||||
# undef __CAMERA_MOTION__
|
# undef __CAMERA_MOTION__
|
||||||
|
Loading…
Reference in New Issue
Block a user