11#if (!defined(__KERNEL_GPU__) || (defined(__KERNEL_ONEAPI__) && defined(WITH_EMBREE_GPU))) && \
13# include <embree4/rtcore.h>
14# include <embree4/rtcore_scene.h>
19# include <TargetConditionals.h>
32#define OBJECT_MOTION_PASS_SIZE 2
33#define FILTER_TABLE_SIZE 1024
34#define RAMP_TABLE_SIZE 256
35#define SHUTTER_TABLE_SIZE 256
37#define BSSRDF_MIN_RADIUS 1e-8f
38#define BSSRDF_MAX_HITS 4
39#define BSSRDF_MAX_BOUNCES 256
40#define LOCAL_MAX_HITS 4
42#define VOLUME_BOUNDS_MAX 1024
44#define SHADER_NONE (~0)
45#define OBJECT_NONE (~0)
48#define EMITTER_NONE (~0)
50#define PASS_UNUSED (~0)
51#define LIGHTGROUP_NONE (~0)
53#define LIGHT_LINK_SET_MAX 64
54#define LIGHT_LINK_MASK_ALL (~uint64_t(0))
56#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU 1024U
57#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU 4U
60# define INTEGRATOR_SHADOW_ISECT_SIZE INTEGRATOR_SHADOW_ISECT_SIZE_GPU
62# 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_TRANSPARENT (1U << 18U)
105#define KERNEL_FEATURE_SHADOW_CATCHER (1U << 19U)
108#define KERNEL_FEATURE_LIGHT_PASSES (1U << 20U)
111#define KERNEL_FEATURE_AO_PASS (1U << 21U)
112#define KERNEL_FEATURE_AO_ADDITIVE (1U << 22U)
113#define KERNEL_FEATURE_AO (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)
116#define KERNEL_FEATURE_MNEE (1U << 23U)
119#define KERNEL_FEATURE_PATH_GUIDING (1U << 24U)
122#define KERNEL_FEATURE_OSL_SHADING (1U << 25U)
123#define KERNEL_FEATURE_OSL_CAMERA (1U << 26U)
126#define KERNEL_FEATURE_LIGHT_LINKING (1U << 27U)
127#define KERNEL_FEATURE_SHADOW_LINKING (1U << 28U)
130#define KERNEL_FEATURE_DENOISING (1U << 29U)
133#define KERNEL_FEATURE_LIGHT_TREE (1U << 30U)
137#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT \
138 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
139 KERNEL_FEATURE_NODE_LIGHT_PATH)
140#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND \
141 (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)
142#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW \
143 (KERNEL_FEATURE_NODE_BSDF | KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_BUMP | \
144 KERNEL_FEATURE_NODE_BUMP_STATE | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
145 KERNEL_FEATURE_NODE_LIGHT_PATH | KERNEL_FEATURE_NODE_PRINCIPLED_HAIR)
146#define KERNEL_FEATURE_NODE_MASK_SURFACE \
147 (KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW | KERNEL_FEATURE_NODE_RAYTRACE | \
148 KERNEL_FEATURE_NODE_AOV | KERNEL_FEATURE_NODE_LIGHT_PATH)
149#define KERNEL_FEATURE_NODE_MASK_VOLUME \
150 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VOLUME | \
151 KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_LIGHT_PATH)
152#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT \
153 (KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_BUMP | KERNEL_FEATURE_NODE_BUMP_STATE)
154#define KERNEL_FEATURE_NODE_MASK_BUMP KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
159#if __cplusplus < 201703L
160# define IF_KERNEL_FEATURE(feature) if ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
161# define IF_KERNEL_NODES_FEATURE(feature) \
162 if ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
164# define IF_KERNEL_FEATURE(feature) \
165 if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
166# define IF_KERNEL_NODES_FEATURE(feature) \
167 if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
172#define __CAUSTICS_TRICKS__
173#define __CLAMP_SAMPLE__
174#define __DENOISING_FEATURES__
177#define __LIGHT_LINKING__
178#define __SHADOW_LINKING__
179#define __LIGHT_TREE__
180#define __OBJECT_MOTION__
183#define __POINTCLOUD__
184#define __PRINCIPLED_HAIR__
185#define __RAY_DIFFERENTIALS__
186#define __SHADER_RAYTRACE__
187#define __SHADOW_CATCHER__
188#define __SHADOW_RECORD_ALL__
189#define __SUBSURFACE__
191#define __TRANSPARENT_SHADOWS__
192#define __VISIBILITY_FLAG__
198# ifdef __KERNEL_OPTIX__
203#ifndef __KERNEL_GPU__
204# ifdef WITH_PATH_GUIDING
205# define __PATH_GUIDING__
207# define __VOLUME_RECORD_ALL__
212#if defined(__KERNEL_METAL__) && (__KERNEL_METAL_MACOS__ < 13)
217#ifdef __KERNEL_FEATURES__
218# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_OBJECT_MOTION)
219# undef __OBJECT_MOTION__
221# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_HAIR)
224# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_POINTCLOUD)
225# undef __POINTCLOUD__
227# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_VOLUME)
229# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_TRANSPARENT)
230# undef __TRANSPARENT_SHADOWS__
231# undef __SHADOW_RECORD_ALL__
234# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SUBSURFACE)
235# undef __SUBSURFACE__
237# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_CATCHER)
238# undef __SHADOW_CATCHER__
240# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_DENOISING)
241# undef __DENOISING_FEATURES__
243# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_AO)
246# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_MNEE)
249# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_PATH_GUIDING)
250# undef __PATH_GUIDING__
252# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_NODE_PRINCIPLED_HAIR)
253# undef __PRINCIPLED_HAIR__
255# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_LIGHT_LINKING)
256# undef __LIGHT_LINKING__
258# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_LINKING)
259# undef __SHADOW_LINKING__
263#ifdef WITH_CYCLES_DEBUG_NAN
264# define __KERNEL_DEBUG_NAN__
269#if defined(__SUBSURFACE__) || defined(__SHADER_RAYTRACE__)
270# define __BVH_LOCAL__
457#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) ((visibility) << 16)
459#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility) \
460 (((path_flag) & PATH_RAY_SHADOW_CATCHER_PASS) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : \
463#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility) \
464 (((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
484#define PASS_NAME_JOIN(a, b) a##_##b
485#define PASSMASK(pass) (1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
723#ifdef __RAY_DIFFERENTIALS__
745#if (defined(__APPLE__) && TARGET_CPU_ARM64) || \
746 (defined(__KERNEL_METAL_APPLE__) && defined(__KERNEL_METAL_TARGET_CPU_ARM64__))
747# define __INTEGRATOR_GPU_PACKED_STATE__
775# define KERNEL_STRUCT_BEGIN(name) struct dummy_##name {
776# define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature) struct packed_##parent_struct {
777# define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
778# define KERNEL_STRUCT_MEMBER_PACKED(parent_struct, type, name, feature) type name;
779# define KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature) type name;
780# define KERNEL_STRUCT_END(name) \
783# define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size) \
786# define KERNEL_STRUCT_VOLUME_STACK_SIZE MAX_VOLUME_STACK_SIZE
791# undef KERNEL_STRUCT_BEGIN
792# undef KERNEL_STRUCT_BEGIN_PACKED
793# undef KERNEL_STRUCT_MEMBER
794# undef KERNEL_STRUCT_MEMBER_PACKED
795# undef KERNEL_STRUCT_ARRAY_MEMBER
796# undef KERNEL_STRUCT_END
797# undef KERNEL_STRUCT_END_ARRAY
798# undef KERNEL_STRUCT_VOLUME_STACK_SIZE
830#define PRIMITIVE_INDEX(type) \
831 (bitscan((uint32_t)(type)) * 2 + (((type) & PRIMITIVE_MOTION) ? 1 : 0))
834#define PRIMITIVE_PACK_SEGMENT(type, segment) ((segment << PRIMITIVE_NUM_BITS) | (type))
835#define PRIMITIVE_UNPACK_SEGMENT(type) (type >> PRIMITIVE_NUM_BITS)
928#ifndef __MAX_CLOSURE__
929# define MAX_CLOSURE 64
931# define MAX_CLOSURE __MAX_CLOSURE__
939#ifndef __CAUSTICS_MAX_CLOSURE__
940# define CAUSTICS_MAX_CLOSURE 4
942# define CAUSTICS_MAX_CLOSURE __CAUSTICS_MAX_CLOSURE__
945#ifndef __MAX_VOLUME_STACK_SIZE__
946# define MAX_VOLUME_STACK_SIZE 32
948# define MAX_VOLUME_STACK_SIZE __MAX_VOLUME_STACK_SIZE__
951#define MAX_VOLUME_CLOSURE 8
965#define SHADER_CLOSURE_BASE \
968 float sample_weight; \
975#define SHADER_CLOSURE_VOLUME_BASE \
986 char pad[
sizeof(
Spectrum) * 2 +
sizeof(float) * 4];
1133 int num_closure_left;
1151#ifdef __RAY_DIFFERENTIALS__
1167#ifdef __OBJECT_MOTION__
1183 Spectrum closure_emission_background;
1184 Spectrum closure_transparent_extinction;
1190#ifdef __KERNEL_GPU__
1195 char pad[
sizeof(ShaderData) -
sizeof(ShaderClosure) *
MAX_CLOSURE];
1210#define AS_SHADER_DATA(shader_data_tiny_storage) \
1211 ((ccl_private ShaderData *)shader_data_tiny_storage)
1410#define KERNEL_STRUCT_BEGIN(name, parent) \
1411 struct ccl_align(16) name \
1413#define KERNEL_STRUCT_END(name) \
1416 static_assert_align(name, 16);
1418#ifdef __KERNEL_USE_DATA_CONSTANTS__
1419# define KERNEL_STRUCT_MEMBER(parent, type, name) type __unused_##name;
1421# define KERNEL_STRUCT_MEMBER(parent, type, name) type name;
1457 uint kernel_features;
1460 uint volume_stack_size;
1469#define KERNEL_STRUCT_BEGIN(name, parent) name parent;
1473#ifdef __KERNEL_OPTIX__
1474 OptixTraversableHandle device_bvh;
1475#elif defined __METALRT__
1476 metalrt_as_type device_bvh;
1477#elif defined(__HIPRT__)
1481# if RTC_VERSION >= 40400
1484 RTCScene device_bvh;
1486# ifndef __KERNEL_64_BIT__
1490 int device_bvh, pad1;
1739#define PATCH_MAX_CONTROL_VERTS 16
1743#define PATCH_MAP_NODE_IS_SET (1 << 30)
1744#define PATCH_MAP_NODE_IS_LEAF (1u << 31)
1745#define PATCH_MAP_NODE_INDEX_MASK (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))
1783#define MIN_TAB_SOBOL_SAMPLES 256
1784#define MAX_TAB_SOBOL_SAMPLES 8192
1785#define NUM_TAB_SOBOL_DIMENSIONS 4
1786#define NUM_TAB_SOBOL_PATTERNS 256
1835#define DECLARE_FILM_CONVERT_KERNEL(variant) \
1836 DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA
1851#undef DECLARE_FILM_CONVERT_KERNEL
int pad[32 - sizeof(int)]
ATTR_WARN_UNUSED_RESULT const BMVert * v
unsigned long long int uint64_t
#define static_assert_align(st, align)
#define LIGHT_LINK_SET_MAX
#define SHADER_CLOSURE_BASE
#define CAUSTICS_MAX_CLOSURE
#define CCL_NAMESPACE_END
VecBase< float, 4 > float4
VecBase< float, 3 > float3
@ PATH_MNEE_RECEIVER_ANCESTOR
@ PATH_MNEE_CULL_LIGHT_CONNECTION
@ FILTER_CLOSURE_EMISSION
@ FILTER_CLOSURE_TRANSPARENT
@ FILTER_CLOSURE_DIRECT_LIGHT
@ FILTER_CLOSURE_TRANSMISSION
#define DECLARE_FILM_CONVERT_KERNEL(variant)
@ 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
@ 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_NORMAL_UNDISPLACED
@ ATTR_STD_UV_TANGENT_SIGN
@ ATTR_STD_SHADOW_TRANSPARENCY
@ ATTR_STD_VOLUME_VELOCITY_X
@ ATTR_STD_RANDOM_PER_ISLAND
ShaderData ShaderDataTinyStorage
@ DIRECT_LIGHT_SAMPLING_MIS
@ DIRECT_LIGHT_SAMPLING_NUM
@ DIRECT_LIGHT_SAMPLING_NEE
@ DIRECT_LIGHT_SAMPLING_FORWARD
@ 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
@ ATTR_SUBDIVIDE_SMOOTH_FVAR
@ EMISSION_SAMPLING_FRONT_BACK
@ EMISSION_SAMPLING_FRONT
@ SHADER_EXCLUDE_SHADOW_CATCHER
@ SHADER_EXCLUDE_TRANSMIT
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
@ 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
@ 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
@ 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
ShaderData ShaderDataCausticsStorage
@ DEVICE_KERNEL_INTEGRATOR_NUM
@ PANORAMA_FISHEYE_EQUISOLID
@ PANORAMA_CENTRAL_CYLINDRICAL
@ PANORAMA_EQUIANGULAR_CUBEMAP_FACE
@ PANORAMA_FISHEYE_EQUIDISTANT
@ PANORAMA_FISHEYE_LENS_POLYNOMIAL
@ PANORAMA_EQUIRECTANGULAR
@ 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
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::@356200223170132330320170070041130000221032010070::@172104031172370276031323017374032051315124063022 mesh
struct KernelLightTreeEmitter::@356200223170132330320170070041130000221032010070::@325141344336311151332364035310340071171367304366 light
EmissionSampling emission_sampling
struct KernelLightTreeEmitter::@356200223170132330320170070041130000221032010070::@236317302131176144314033160004221054174362324170 triangle
struct KernelLightTreeNode::@377247211160321275045111202060143352174123115352::@147137002365230272241313027070044041350111220032 leaf
struct KernelLightTreeNode::@377247211160321275045111202060143352174123115352::@164037376102142200071133114324262371123223123045 instance
struct KernelLightTreeNode::@377247211160321275045111202060143352174123115352::@344000132072154240246265111115054310255155233173 inner
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]