7#if (!defined(__KERNEL_GPU__) || (defined(__KERNEL_ONEAPI__) && defined(WITH_EMBREE_GPU))) && \
9# if EMBREE_MAJOR_VERSION == 4
10# include <embree4/rtcore.h>
11# include <embree4/rtcore_scene.h>
13# include <embree3/rtcore.h>
14# include <embree3/rtcore_scene.h>
20# include <TargetConditionals.h>
36#define OBJECT_MOTION_PASS_SIZE 2
37#define FILTER_TABLE_SIZE 1024
38#define RAMP_TABLE_SIZE 256
39#define SHUTTER_TABLE_SIZE 256
41#define BSSRDF_MIN_RADIUS 1e-8f
42#define BSSRDF_MAX_HITS 4
43#define BSSRDF_MAX_BOUNCES 256
44#define LOCAL_MAX_HITS 4
46#define VOLUME_BOUNDS_MAX 1024
48#define SHADER_NONE (~0)
49#define OBJECT_NONE (~0)
52#define EMITTER_NONE (~0)
54#define PASS_UNUSED (~0)
55#define LIGHTGROUP_NONE (~0)
57#define LIGHT_LINK_SET_MAX 64
58#define LIGHT_LINK_MASK_ALL (~uint64_t(0))
60#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU 1024U
61#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU 4U
64# define INTEGRATOR_SHADOW_ISECT_SIZE INTEGRATOR_SHADOW_ISECT_SIZE_GPU
66# define INTEGRATOR_SHADOW_ISECT_SIZE INTEGRATOR_SHADOW_ISECT_SIZE_CPU
72#define KERNEL_FEATURE_NODE_BSDF (1U << 0U)
73#define KERNEL_FEATURE_NODE_EMISSION (1U << 1U)
74#define KERNEL_FEATURE_NODE_VOLUME (1U << 2U)
75#define KERNEL_FEATURE_NODE_BUMP (1U << 3U)
76#define KERNEL_FEATURE_NODE_BUMP_STATE (1U << 4U)
77#define KERNEL_FEATURE_NODE_VORONOI_EXTRA (1U << 5U)
78#define KERNEL_FEATURE_NODE_RAYTRACE (1U << 6U)
79#define KERNEL_FEATURE_NODE_AOV (1U << 7U)
80#define KERNEL_FEATURE_NODE_LIGHT_PATH (1U << 8U)
81#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR (1U << 9U)
84#define KERNEL_FEATURE_PATH_TRACING (1U << 10U)
87#define KERNEL_FEATURE_POINTCLOUD (1U << 11U)
88#define KERNEL_FEATURE_HAIR (1U << 12U)
89#define KERNEL_FEATURE_HAIR_THICK (1U << 13U)
90#define KERNEL_FEATURE_OBJECT_MOTION (1U << 14U)
93#define KERNEL_FEATURE_BAKING (1U << 15U)
96#define KERNEL_FEATURE_SUBSURFACE (1U << 16U)
99#define KERNEL_FEATURE_VOLUME (1U << 17U)
102#define KERNEL_FEATURE_PATCH_EVALUATION (1U << 18U)
105#define KERNEL_FEATURE_TRANSPARENT (1U << 19U)
108#define KERNEL_FEATURE_SHADOW_CATCHER (1U << 20U)
111#define KERNEL_FEATURE_LIGHT_PASSES (1U << 21U)
114#define KERNEL_FEATURE_AO_PASS (1U << 22U)
115#define KERNEL_FEATURE_AO_ADDITIVE (1U << 23U)
116#define KERNEL_FEATURE_AO (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)
119#define KERNEL_FEATURE_MNEE (1U << 24U)
122#define KERNEL_FEATURE_PATH_GUIDING (1U << 25U)
125#define KERNEL_FEATURE_OSL (1U << 26U)
128#define KERNEL_FEATURE_LIGHT_LINKING (1U << 27U)
129#define KERNEL_FEATURE_SHADOW_LINKING (1U << 28U)
132#define KERNEL_FEATURE_DENOISING (1U << 29U)
135#define KERNEL_FEATURE_LIGHT_TREE (1U << 30U)
139#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT \
140 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
141 KERNEL_FEATURE_NODE_LIGHT_PATH)
142#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND \
143 (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)
144#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW \
145 (KERNEL_FEATURE_NODE_BSDF | KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_BUMP | \
146 KERNEL_FEATURE_NODE_BUMP_STATE | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
147 KERNEL_FEATURE_NODE_LIGHT_PATH | KERNEL_FEATURE_NODE_PRINCIPLED_HAIR)
148#define KERNEL_FEATURE_NODE_MASK_SURFACE \
149 (KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW | KERNEL_FEATURE_NODE_RAYTRACE | \
150 KERNEL_FEATURE_NODE_AOV | KERNEL_FEATURE_NODE_LIGHT_PATH)
151#define KERNEL_FEATURE_NODE_MASK_VOLUME \
152 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VOLUME | \
153 KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_LIGHT_PATH)
154#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT \
155 (KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_BUMP | KERNEL_FEATURE_NODE_BUMP_STATE)
156#define KERNEL_FEATURE_NODE_MASK_BUMP KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
161#if __cplusplus < 201703L
162# define IF_KERNEL_FEATURE(feature) if ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
163# define IF_KERNEL_NODES_FEATURE(feature) \
164 if ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
166# define IF_KERNEL_FEATURE(feature) \
167 if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
168# define IF_KERNEL_NODES_FEATURE(feature) \
169 if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
174#define __CAUSTICS_TRICKS__
175#define __CLAMP_SAMPLE__
176#define __DENOISING_FEATURES__
179#define __LIGHT_LINKING__
180#define __SHADOW_LINKING__
181#define __LIGHT_TREE__
182#define __OBJECT_MOTION__
185#define __PATCH_EVAL__
186#define __POINTCLOUD__
187#define __PRINCIPLED_HAIR__
188#define __RAY_DIFFERENTIALS__
189#define __SHADER_RAYTRACE__
190#define __SHADOW_CATCHER__
191#define __SHADOW_RECORD_ALL__
192#define __SUBSURFACE__
194#define __TRANSPARENT_SHADOWS__
195#define __VISIBILITY_FLAG__
201# ifdef __KERNEL_OPTIX__
206#ifndef __KERNEL_GPU__
207# ifdef WITH_PATH_GUIDING
208# define __PATH_GUIDING__
210# define __VOLUME_RECORD_ALL__
215#if defined(__KERNEL_METAL__) && (__KERNEL_METAL_MACOS__ < 13)
221#ifdef __KERNEL_FEATURES__
222# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_OBJECT_MOTION)
223# undef __OBJECT_MOTION__
225# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_HAIR)
228# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_POINTCLOUD)
229# undef __POINTCLOUD__
231# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_VOLUME)
233# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_TRANSPARENT)
234# undef __TRANSPARENT_SHADOWS__
235# undef __SHADOW_RECORD_ALL__
238# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SUBSURFACE)
239# undef __SUBSURFACE__
241# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_PATCH_EVALUATION)
242# undef __PATCH_EVAL__
244# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_CATCHER)
245# undef __SHADOW_CATCHER__
247# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_DENOISING)
248# undef __DENOISING_FEATURES__
250# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_AO)
253# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_MNEE)
256# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_PATH_GUIDING)
257# undef __PATH_GUIDING__
259# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_NODE_PRINCIPLED_HAIR)
260# undef __PRINCIPLED_HAIR__
262# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_LIGHT_LINKING)
263# undef __LIGHT_LINKING__
265# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_LINKING)
266# undef __SHADOW_LINKING__
270#ifdef WITH_CYCLES_DEBUG_NAN
271# define __KERNEL_DEBUG_NAN__
276#if defined(__SUBSURFACE__) || defined(__SHADER_RAYTRACE__)
277# define __BVH_LOCAL__
464#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) ((visibility) << 16)
466#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility) \
467 (((path_flag) & PATH_RAY_SHADOW_CATCHER_PASS) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : \
470#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility) \
471 (((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
491#define PASS_NAME_JOIN(a, b) a##_##b
492#define PASSMASK(pass) (1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
731#ifdef __RAY_DIFFERENTIALS__
753#if (defined(__APPLE__) && TARGET_CPU_ARM64) || \
754 (defined(__KERNEL_METAL_APPLE__) && defined(__KERNEL_METAL_TARGET_CPU_ARM64__))
755# define __INTEGRATOR_GPU_PACKED_STATE__
783# define KERNEL_STRUCT_BEGIN(name) struct dummy_##name {
784# define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature) struct packed_##parent_struct {
785# define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
786# define KERNEL_STRUCT_MEMBER_PACKED(parent_struct, type, name, feature) type name;
787# define KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature) type name;
788# define KERNEL_STRUCT_END(name) \
791# define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size) \
794# define KERNEL_STRUCT_VOLUME_STACK_SIZE MAX_VOLUME_STACK_SIZE
799# undef KERNEL_STRUCT_BEGIN
800# undef KERNEL_STRUCT_BEGIN_PACKED
801# undef KERNEL_STRUCT_MEMBER
802# undef KERNEL_STRUCT_MEMBER_PACKED
803# undef KERNEL_STRUCT_ARRAY_MEMBER
804# undef KERNEL_STRUCT_END
805# undef KERNEL_STRUCT_END_ARRAY
806# undef KERNEL_STRUCT_VOLUME_STACK_SIZE
838#define PRIMITIVE_INDEX(type) \
839 (bitscan((uint32_t)(type)) * 2 + (((type) & PRIMITIVE_MOTION) ? 1 : 0))
842#define PRIMITIVE_PACK_SEGMENT(type, segment) ((segment << PRIMITIVE_NUM_BITS) | (type))
843#define PRIMITIVE_UNPACK_SEGMENT(type) (type >> PRIMITIVE_NUM_BITS)
937#ifndef __MAX_CLOSURE__
938# define MAX_CLOSURE 64
940# define MAX_CLOSURE __MAX_CLOSURE__
948#ifndef __CAUSTICS_MAX_CLOSURE__
949# define CAUSTICS_MAX_CLOSURE 4
951# define CAUSTICS_MAX_CLOSURE __CAUSTICS_MAX_CLOSURE__
954#ifndef __MAX_VOLUME_STACK_SIZE__
955# define MAX_VOLUME_STACK_SIZE 32
957# define MAX_VOLUME_STACK_SIZE __MAX_VOLUME_STACK_SIZE__
960#define MAX_VOLUME_CLOSURE 8
974#define SHADER_CLOSURE_BASE \
977 float sample_weight; \
984#define SHADER_CLOSURE_VOLUME_BASE \
995 char pad[
sizeof(
Spectrum) * 2 +
sizeof(
float) * 4];
1158#ifdef __RAY_DIFFERENTIALS__
1174#ifdef __OBJECT_MOTION__
1186# ifdef __KERNEL_GPU__
1200 int num_closure_left;
1204 Spectrum closure_emission_background;
1205 Spectrum closure_transparent_extinction;
1228#define AS_SHADER_DATA(shader_data_tiny_storage) \
1229 ((ccl_private ShaderData *)shader_data_tiny_storage)
1428#define KERNEL_STRUCT_BEGIN(name, parent) \
1429 struct ccl_align(16) name \
1431#define KERNEL_STRUCT_END(name) \
1434 static_assert_align(name, 16);
1436#ifdef __KERNEL_USE_DATA_CONSTANTS__
1437# define KERNEL_STRUCT_MEMBER(parent, type, name) type __unused_##name;
1439# define KERNEL_STRUCT_MEMBER(parent, type, name) type name;
1475 uint kernel_features;
1478 uint volume_stack_size;
1487#define KERNEL_STRUCT_BEGIN(name, parent) name parent;
1491#ifdef __KERNEL_OPTIX__
1492 OptixTraversableHandle device_bvh;
1493#elif defined __METALRT__
1494 metalrt_as_type device_bvh;
1495#elif defined(__HIPRT__)
1499 RTCScene device_bvh;
1500# ifndef __KERNEL_64_BIT__
1504 int device_bvh, pad1;
1759#define PATCH_MAX_CONTROL_VERTS 16
1763#define PATCH_MAP_NODE_IS_SET (1 << 30)
1764#define PATCH_MAP_NODE_IS_LEAF (1u << 31)
1765#define PATCH_MAP_NODE_INDEX_MASK (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))
1801#define MIN_TAB_SOBOL_SAMPLES 256
1802#define MAX_TAB_SOBOL_SAMPLES 8192
1803#define NUM_TAB_SOBOL_DIMENSIONS 4
1804#define NUM_TAB_SOBOL_PATTERNS 256
1852#define DECLARE_FILM_CONVERT_KERNEL(variant) \
1853 DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA
1868#undef DECLARE_FILM_CONVERT_KERNEL
int pad[32 - sizeof(int)]
ATTR_WARN_UNUSED_RESULT const BMVert * v
#define CCL_NAMESPACE_END
struct KernelDistantLight KernelDistantLight
struct KernelShaderEvalInput KernelShaderEvalInput
@ PATH_MNEE_RECEIVER_ANCESTOR
@ PATH_MNEE_CULL_LIGHT_CONNECTION
struct BoundingCone { packed_float3 axis; float theta_o; float theta_e;} BoundingCone
struct KernelParticle KernelParticle
@ FILTER_CLOSURE_EMISSION
@ FILTER_CLOSURE_TRANSPARENT
@ FILTER_CLOSURE_DIRECT_LIGHT
@ FILTER_CLOSURE_TRANSMISSION
#define DECLARE_FILM_CONVERT_KERNEL(variant)
struct differential differential
struct LocalIntersection LocalIntersection
#define LIGHT_LINK_SET_MAX
struct KernelTables KernelTables
@ SD_HAS_TRANSPARENT_SHADOW
@ SD_HAS_CONSTANT_EMISSION
@ SD_IS_VOLUME_SHADER_EVAL
@ SD_NEED_VOLUME_ATTRIBUTES
@ SD_BSDF_HAS_TRANSMISSION
@ SD_USE_BUMP_MAP_CORRECTION
@ SD_HETEROGENEOUS_VOLUME
struct AttributeDescriptor AttributeDescriptor
@ PRIMITIVE_MOTION_CURVE_RIBBON
@ PRIMITIVE_MOTION_TRIANGLE
@ PRIMITIVE_MOTION_CURVE_THICK
#define MAX_VOLUME_CLOSURE
@ ATTR_STD_CURVE_INTERCEPT
@ ATTR_STD_GENERATED_TRANSFORM
@ ATTR_STD_MOTION_VERTEX_NORMAL
@ ATTR_STD_VOLUME_VELOCITY_Y
@ ATTR_STD_VOLUME_TEMPERATURE
@ ATTR_STD_VOLUME_VELOCITY_Z
@ ATTR_STD_VOLUME_DENSITY
@ ATTR_STD_POSITION_UNDISPLACED
@ ATTR_STD_VOLUME_VELOCITY
@ ATTR_STD_POSITION_UNDEFORMED
@ ATTR_STD_MOTION_VERTEX_POSITION
@ ATTR_STD_UV_TANGENT_SIGN
@ ATTR_STD_SHADOW_TRANSPARENCY
@ ATTR_STD_VOLUME_VELOCITY_X
@ ATTR_STD_RANDOM_PER_ISLAND
#define SHADER_CLOSURE_BASE
struct Intersection Intersection
@ DIRECT_LIGHT_SAMPLING_MIS
@ DIRECT_LIGHT_SAMPLING_NUM
@ DIRECT_LIGHT_SAMPLING_NEE
@ DIRECT_LIGHT_SAMPLING_FORWARD
struct ShaderVolumeClosure ShaderVolumeClosure
@ PRNG_SUBSURFACE_COLOR_CHANNEL
@ PRNG_SURFACE_BSDF_GUIDING
@ PRNG_SUBSURFACE_DISK_RESAMPLE
@ PRNG_VOLUME_SHADE_OFFSET
@ PRNG_SUBSURFACE_GUIDE_STRATEGY
@ PRNG_SUBSURFACE_SCATTER_DISTANCE
@ PRNG_VOLUME_PHASE_GUIDING_DISTANCE
@ PRNG_SURFACE_RIS_GUIDING_0
@ PRNG_VOLUME_PHASE_GUIDING_EQUIANGULAR
@ PRNG_SUBSURFACE_GUIDE_DIRECTION
@ PRNG_VOLUME_COLOR_CHANNEL
@ PRNG_VOLUME_SCATTER_DISTANCE
@ PRNG_SURFACE_RIS_GUIDING_1
@ PATH_RAY_SHADOW_CATCHER_HIT
@ PATH_RAY_TERMINATE_AFTER_TRANSPARENT
@ PATH_RAY_IMPORTANCE_BAKE
@ PATH_RAY_MIS_HAD_TRANSMISSION
@ PATH_RAY_SUBSURFACE_BACKFACING
@ PATH_RAY_TERMINATE_AFTER_VOLUME
@ PATH_RAY_SHADOW_CATCHER_PASS
@ PATH_RAY_SINGLE_PASS_DONE
@ PATH_RAY_SHADOW_TRANSPARENT
@ PATH_RAY_VOLUME_SCATTER
@ PATH_RAY_TERMINATE_IN_NEXT_VOLUME
@ PATH_RAY_DENOISING_FEATURES
@ PATH_RAY_ALL_VISIBILITY
@ PATH_RAY_SUBSURFACE_DISK
@ PATH_RAY_NODE_UNALIGNED
@ PATH_RAY_TRANSPARENT_BACKGROUND
@ PATH_RAY_SHADOW_CATCHER_BACKGROUND
@ PATH_RAY_TERMINATE_ON_NEXT_SURFACE
@ PATH_RAY_DIFFUSE_ANCESTOR
@ PATH_RAY_SUBSURFACE_RANDOM_WALK
struct KernelFilmConvert KernelFilmConvert
struct KernelCurveSegment KernelCurveSegment
struct KernelLight KernelLight
struct KernelShader KernelShader
struct KernelLightDistribution KernelLightDistribution
struct AttributeMap AttributeMap
struct KernelBake KernelBake
@ EMISSION_SAMPLING_FRONT_BACK
@ EMISSION_SAMPLING_FRONT
struct RaySelfPrimitives RaySelfPrimitives
@ SHADER_EXCLUDE_SHADOW_CATCHER
@ SHADER_EXCLUDE_TRANSMIT
struct KernelCurve KernelCurve
struct KernelSpotLight KernelSpotLight
GuidingDirectionalSamplingType
@ GUIDING_DIRECTIONAL_SAMPLING_NUM_TYPES
@ GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS
@ GUIDING_DIRECTIONAL_SAMPLING_TYPE_RIS
@ GUIDING_DIRECTIONAL_SAMPLING_TYPE_ROUGHNESS
@ SD_OBJECT_HAS_VOLUME_ATTRIBUTES
@ SD_OBJECT_INTERSECTS_VOLUME
@ SD_OBJECT_NEGATIVE_SCALE
@ SD_OBJECT_HAS_VOLUME_MOTION
@ SD_OBJECT_CAUSTICS_RECEIVER
@ SD_OBJECT_SHADOW_CATCHER
@ SD_OBJECT_TRANSFORM_APPLIED
@ SD_OBJECT_HAS_VERTEX_MOTION
@ SD_OBJECT_CAUSTICS_CASTER
@ DEVICE_KERNEL_INTEGRATOR_NUM
@ SAMPLING_PATTERN_AUTOMATIC
@ SAMPLING_PATTERN_BLUE_NOISE_FIRST
@ SAMPLING_PATTERN_TABULATED_SOBOL
@ SAMPLING_PATTERN_BLUE_NOISE_PURE
@ SAMPLING_PATTERN_SOBOL_BURLEY
@ SAMPLING_PATTERN_BLUE_NOISE_ROUND
struct KernelLightTreeEmitter KernelLightTreeEmitter
@ BVH_LAYOUT_MULTI_HIPRT_EMBREE
@ BVH_LAYOUT_MULTI_EMBREEGPU
@ BVH_LAYOUT_MULTI_METAL_EMBREE
@ BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE
@ BVH_LAYOUT_MULTI_OPTIX_EMBREE
@ ATTR_ELEMENT_CORNER_BYTE
@ ATTR_ELEMENT_CURVE_KEY_MOTION
@ ATTR_ELEMENT_VERTEX_MOTION
@ LABEL_TRANSMIT_TRANSPARENT
@ LABEL_SUBSURFACE_SCATTER
struct VolumeStack VolumeStack
struct MeshLight { int shader_flag; int object_id;} MeshLight
struct ShaderVolumePhases ShaderVolumePhases
struct KernelLightTreeNode KernelLightTreeNode
struct KernelObject KernelObject
@ PASS_SHADOW_CATCHER_SAMPLE_COUNT
@ PASS_TRANSMISSION_DIRECT
@ PASS_TRANSMISSION_COLOR
@ PASS_SHADOW_CATCHER_MATTE
@ PASS_TRANSMISSION_INDIRECT
@ PASS_GUIDING_PROBABILITY
@ PASS_ADAPTIVE_AUX_BUFFER
@ PASS_GUIDING_AVG_ROUGHNESS
@ PASS_DENOISING_PREVIOUS
@ PASS_CATEGORY_LIGHT_END
struct KernelWorkTile KernelWorkTile
struct KernelAreaLight KernelAreaLight
@ PANORAMA_FISHEYE_EQUISOLID
@ PANORAMA_CENTRAL_CYLINDRICAL
@ PANORAMA_EQUIANGULAR_CUBEMAP_FACE
@ PANORAMA_FISHEYE_EQUIDISTANT
@ PANORAMA_FISHEYE_LENS_POLYNOMIAL
@ PANORAMA_EQUIRECTANGULAR
#define CAUSTICS_MAX_CLOSURE
struct KernelLightLinkSet KernelLightLinkSet
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK
@ DEVICE_KERNEL_INTEGRATOR_RESET
@ DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT
@ DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT
@ DEVICE_KERNEL_FILTER_COLOR_PREPROCESS
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE
@ DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS
@ DEVICE_KERNEL_SHADER_EVAL_DISPLACE
@ DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE
@ DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO
@ DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW
@ DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK
@ DEVICE_KERNEL_SHADER_EVAL_BACKGROUND
@ DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE
@ DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT
@ DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES
@ DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE
@ DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL
@ DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y
@ DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X
@ DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS
@ DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY
@ DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE
@ DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY
@ DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST
@ DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND
@ DEVICE_KERNEL_PREFIX_SUM
@ GUIDING_TYPE_DIRECTIONAL_QUAD_TREE
@ GUIDING_TYPE_PARALLAX_AWARE_VMM
struct differential3 differential3
struct KernelCamera KernelCamera
ShaderDataCausticsStorage
#define static_assert_align(st, align)
unsigned __int64 uint64_t
ProjectionTransform ndctoworld
float pole_merge_angle_to
int have_perspective_motion
ProjectionTransform rastertocamera
float pole_merge_angle_from
float4 central_cylindrical_range
int use_dof_or_motion_blur
ProjectionTransform worldtoraster
float fisheye_lens_polynomial_bias
Transform motion_pass_post
float4 equirectangular_range
ProjectionTransform screentoworld
ProjectionTransform perspective_post
float rolling_shutter_duration
ProjectionTransform perspective_pre
ProjectionTransform worldtoscreen
Transform motion_pass_pre
ProjectionTransform worldtondc
float convergence_distance
ProjectionTransform rastertoworld
float4 fisheye_lens_polynomial_coefficients
float half_inv_sin_half_angle
int pass_shadow_catcher_matte
int use_approximate_shadow_catcher_background
int pass_adaptive_aux_buffer
int use_approximate_shadow_catcher
int pass_shadow_catcher_sample_count
struct KernelLightTreeEmitter::@1445::@1448 light
struct KernelLightTreeEmitter::@1445::@1447 triangle
EmissionSampling emission_sampling
struct KernelLightTreeEmitter::@1445::@1449 mesh
struct KernelLightTreeNode::@1440::@1444 instance
struct KernelLightTreeNode::@1440::@1442 leaf
struct KernelLightTreeNode::@1440::@1443 inner
uint64_t light_set_membership
uint64_t shadow_set_membership
KernelDistantLight distant
uint64_t shadow_set_membership
float shadow_terminator_geometry_offset
uint attribute_map_offset
uint64_t light_set_membership
float shadow_terminator_shading_offset
float constant_emission[3]
float half_cot_half_spot_angle
float cos_half_spot_angle
float cos_half_larger_spread
int ggx_gen_schlick_ior_s
struct Intersection hits[LOCAL_MAX_HITS]
float3 Ng[LOCAL_MAX_HITS]
ShaderVolumeClosure closure[MAX_VOLUME_CLOSURE]
SPECTRUM_DATA_TYPE Spectrum