Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/types.h
| Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | |||||
| #define __SHADOW_RECORD_ALL__ | #define __SHADOW_RECORD_ALL__ | ||||
| #define __SUBSURFACE__ | #define __SUBSURFACE__ | ||||
| #define __SVM__ | #define __SVM__ | ||||
| #define __TRANSPARENT_SHADOWS__ | #define __TRANSPARENT_SHADOWS__ | ||||
| #define __VISIBILITY_FLAG__ | #define __VISIBILITY_FLAG__ | ||||
| #define __VOLUME__ | #define __VOLUME__ | ||||
| /* Device specific features */ | /* Device specific features */ | ||||
| #ifndef __KERNEL_GPU__ | |||||
| # ifdef WITH_OSL | #ifdef WITH_OSL | ||||
| # define __OSL__ | # define __OSL__ | ||||
| # ifdef __KERNEL_OPTIX__ | |||||
| /* Kernels with OSL support are built separately in OptiX and don't need SVM. */ | |||||
| # undef __SVM__ | |||||
| # endif | # endif | ||||
| #endif | |||||
| #ifndef __KERNEL_GPU__ | |||||
| # ifdef WITH_PATH_GUIDING | # ifdef WITH_PATH_GUIDING | ||||
| # define __PATH_GUIDING__ | # define __PATH_GUIDING__ | ||||
| # endif | # endif | ||||
| # define __VOLUME_RECORD_ALL__ | # define __VOLUME_RECORD_ALL__ | ||||
| #endif /* !__KERNEL_GPU__ */ | #endif /* !__KERNEL_GPU__ */ | ||||
| /* MNEE caused "Compute function exceeds available temporary registers" in macOS < 13 due to a bug | /* MNEE caused "Compute function exceeds available temporary registers" in macOS < 13 due to a bug | ||||
| * in spill buffer allocation sizing. */ | * in spill buffer allocation sizing. */ | ||||
| ▲ Show 20 Lines • Show All 822 Lines • ▼ Show 20 Lines | #ifdef __OBJECT_MOTION__ | ||||
| Transform ob_itfm_motion; | Transform ob_itfm_motion; | ||||
| #endif | #endif | ||||
| /* ray start position, only set for backgrounds */ | /* ray start position, only set for backgrounds */ | ||||
| float3 ray_P; | float3 ray_P; | ||||
| float ray_dP; | float ray_dP; | ||||
| #ifdef __OSL__ | #ifdef __OSL__ | ||||
| # ifdef __KERNEL_GPU__ | |||||
| ccl_private uint8_t *osl_closure_pool; | |||||
| # else | |||||
| const struct KernelGlobalsCPU *osl_globals; | const struct KernelGlobalsCPU *osl_globals; | ||||
| const struct IntegratorStateCPU *osl_path_state; | const struct IntegratorStateCPU *osl_path_state; | ||||
| const struct IntegratorShadowStateCPU *osl_shadow_path_state; | const struct IntegratorShadowStateCPU *osl_shadow_path_state; | ||||
| #endif | # endif | ||||
| #endif | |||||
| /* LCG state for closures that require additional random numbers. */ | /* LCG state for closures that require additional random numbers. */ | ||||
| uint lcg_state; | uint lcg_state; | ||||
| /* Closure data, we store a fixed array of closures */ | /* Closure data, we store a fixed array of closures */ | ||||
| int num_closure; | int num_closure; | ||||
| int num_closure_left; | int num_closure_left; | ||||
| Spectrum svm_closure_weight; | Spectrum svm_closure_weight; | ||||
| ▲ Show 20 Lines • Show All 592 Lines • ▼ Show 20 Lines | enum KernelFeatureFlag : uint32_t { | ||||
| KERNEL_FEATURE_AO_ADDITIVE = (1U << 24U), | KERNEL_FEATURE_AO_ADDITIVE = (1U << 24U), | ||||
| KERNEL_FEATURE_AO = (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE), | KERNEL_FEATURE_AO = (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE), | ||||
| /* MNEE. */ | /* MNEE. */ | ||||
| KERNEL_FEATURE_MNEE = (1U << 25U), | KERNEL_FEATURE_MNEE = (1U << 25U), | ||||
| /* Path guiding. */ | /* Path guiding. */ | ||||
| KERNEL_FEATURE_PATH_GUIDING = (1U << 26U), | KERNEL_FEATURE_PATH_GUIDING = (1U << 26U), | ||||
| /* OSL. */ | |||||
| KERNEL_FEATURE_OSL = (1U << 27U), | |||||
| }; | }; | ||||
| /* Shader node feature mask, to specialize shader evaluation for kernels. */ | /* Shader node feature mask, to specialize shader evaluation for kernels. */ | ||||
| #define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT \ | #define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT \ | ||||
| (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \ | (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \ | ||||
| KERNEL_FEATURE_NODE_LIGHT_PATH) | KERNEL_FEATURE_NODE_LIGHT_PATH) | ||||
| #define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND \ | #define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND \ | ||||
| Show All 30 Lines | |||||