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
36#define THIN_FILM_TABLE_SIZE 512
38#define BSSRDF_MIN_RADIUS 1e-8f
39#define BSSRDF_MAX_HITS 4
40#define BSSRDF_MAX_BOUNCES 256
41#define LOCAL_MAX_HITS 4
43#define VOLUME_BOUNDS_MAX 1024
45#define SHADER_NONE (~0)
46#define OBJECT_NONE (~0)
49#define EMITTER_NONE (~0)
51#define PASS_UNUSED (~0)
52#define LIGHTGROUP_NONE (~0)
54#define LIGHT_LINK_SET_MAX 64
55#define LIGHT_LINK_MASK_ALL (~uint64_t(0))
57#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU 1024U
58#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU 4U
61# define INTEGRATOR_SHADOW_ISECT_SIZE INTEGRATOR_SHADOW_ISECT_SIZE_GPU
63# define INTEGRATOR_SHADOW_ISECT_SIZE INTEGRATOR_SHADOW_ISECT_SIZE_CPU
73#define KERNEL_FEATURE_NODE_BSDF (1U << 0U)
74#define KERNEL_FEATURE_NODE_EMISSION (1U << 1U)
75#define KERNEL_FEATURE_NODE_VOLUME (1U << 2U)
76#define KERNEL_FEATURE_NODE_BUMP (1U << 3U)
77#define KERNEL_FEATURE_NODE_BUMP_STATE (1U << 4U)
78#define KERNEL_FEATURE_NODE_VORONOI_EXTRA (1U << 5U)
79#define KERNEL_FEATURE_NODE_RAYTRACE (1U << 6U)
80#define KERNEL_FEATURE_NODE_AOV (1U << 7U)
81#define KERNEL_FEATURE_NODE_LIGHT_PATH (1U << 8U)
82#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR (1U << 9U)
83#define KERNEL_FEATURE_NODE_PORTAL (1U << 10U)
86#define KERNEL_FEATURE_PATH_TRACING (1U << 11U)
89#define KERNEL_FEATURE_POINTCLOUD (1U << 12U)
90#define KERNEL_FEATURE_HAIR_RIBBON (1U << 13U)
91#define KERNEL_FEATURE_HAIR_THICK (1U << 14U)
92#define KERNEL_FEATURE_HAIR (KERNEL_FEATURE_HAIR_RIBBON | KERNEL_FEATURE_HAIR_THICK)
93#define KERNEL_FEATURE_OBJECT_MOTION (1U << 15U)
96#define KERNEL_FEATURE_BAKING (1U << 16U)
99#define KERNEL_FEATURE_SUBSURFACE (1U << 17U)
102#define KERNEL_FEATURE_VOLUME (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_SHADING (1U << 26U)
126#define KERNEL_FEATURE_OSL_CAMERA (1U << 27U)
129#define KERNEL_FEATURE_LIGHT_LINKING (1U << 28U)
130#define KERNEL_FEATURE_SHADOW_LINKING (1U << 29U)
133#define KERNEL_FEATURE_DENOISING (1U << 30U)
136#define KERNEL_FEATURE_LIGHT_TREE (1U << 31U)
140#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT \
141 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
142 KERNEL_FEATURE_NODE_LIGHT_PATH | KERNEL_FEATURE_NODE_PORTAL)
143#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND \
144 (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)
145#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW \
146 (KERNEL_FEATURE_NODE_BSDF | KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_BUMP | \
147 KERNEL_FEATURE_NODE_BUMP_STATE | KERNEL_FEATURE_NODE_VORONOI_EXTRA | \
148 KERNEL_FEATURE_NODE_LIGHT_PATH | KERNEL_FEATURE_NODE_PRINCIPLED_HAIR | \
149 KERNEL_FEATURE_NODE_PORTAL)
150#define KERNEL_FEATURE_NODE_MASK_SURFACE \
151 (KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW | KERNEL_FEATURE_NODE_RAYTRACE | \
152 KERNEL_FEATURE_NODE_AOV | KERNEL_FEATURE_NODE_LIGHT_PATH)
153#define KERNEL_FEATURE_NODE_MASK_VOLUME \
154 (KERNEL_FEATURE_NODE_EMISSION | KERNEL_FEATURE_NODE_VOLUME | \
155 KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_LIGHT_PATH | \
156 KERNEL_FEATURE_NODE_PORTAL)
157#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT \
158 (KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_BUMP | \
159 KERNEL_FEATURE_NODE_BUMP_STATE | KERNEL_FEATURE_NODE_PORTAL)
160#define KERNEL_FEATURE_NODE_MASK_BUMP KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
162#define IF_KERNEL_FEATURE(feature) \
163 if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
164#define IF_KERNEL_NODES_FEATURE(feature) \
165 if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
169#define __CAUSTICS_TRICKS__
170#define __CLAMP_SAMPLE__
171#define __DENOISING_FEATURES__
174#define __LIGHT_LINKING__
175#define __SHADOW_LINKING__
176#define __LIGHT_TREE__
177#define __OBJECT_MOTION__
180#define __POINTCLOUD__
181#define __PRINCIPLED_HAIR__
182#define __RAY_DIFFERENTIALS__
183#define __SHADER_RAYTRACE__
184#define __SHADOW_CATCHER__
185#define __SHADOW_RECORD_ALL__
186#define __SUBSURFACE__
188#define __TRANSPARENT_SHADOWS__
189#define __VISIBILITY_FLAG__
195# ifdef __KERNEL_OPTIX__
200#ifndef __KERNEL_GPU__
201# if defined(WITH_PATH_GUIDING)
202# define __PATH_GUIDING__
204# define __VOLUME_RECORD_ALL__
209#if defined(__KERNEL_METAL__) && (__KERNEL_METAL_MACOS__ < 13)
214#ifdef __KERNEL_FEATURES__
215# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_OBJECT_MOTION)
216# undef __OBJECT_MOTION__
218# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_HAIR)
221# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_POINTCLOUD)
222# undef __POINTCLOUD__
224# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_VOLUME)
226# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_TRANSPARENT)
227# undef __TRANSPARENT_SHADOWS__
228# undef __SHADOW_RECORD_ALL__
231# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SUBSURFACE)
232# undef __SUBSURFACE__
234# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_CATCHER)
235# undef __SHADOW_CATCHER__
237# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_DENOISING)
238# undef __DENOISING_FEATURES__
240# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_AO)
243# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_MNEE)
246# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_PATH_GUIDING)
247# undef __PATH_GUIDING__
249# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_NODE_PRINCIPLED_HAIR)
250# undef __PRINCIPLED_HAIR__
252# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_LIGHT_LINKING)
253# undef __LIGHT_LINKING__
255# if !(__KERNEL_FEATURES__ & KERNEL_FEATURE_SHADOW_LINKING)
256# undef __SHADOW_LINKING__
260#ifdef WITH_CYCLES_DEBUG_NAN
261# define __KERNEL_DEBUG_NAN__
266#if defined(__SUBSURFACE__) || defined(__SHADER_RAYTRACE__)
267# define __BVH_LOCAL__
466#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) ((visibility) << 16)
468#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility) \
469 (((path_flag) & PATH_RAY_SHADOW_CATCHER_PASS) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : \
472#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility) \
473 (((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
493#define PASS_NAME_JOIN(a, b) a##_##b
494#define PASSMASK(pass) (1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
739#ifdef __RAY_DIFFERENTIALS__
761#if (defined(__APPLE__) && TARGET_CPU_ARM64) || \
762 (defined(__KERNEL_METAL_APPLE__) && defined(__KERNEL_METAL_TARGET_CPU_ARM64__))
763# define __INTEGRATOR_GPU_PACKED_STATE__
791# define KERNEL_STRUCT_BEGIN(name) struct dummy_##name {
792# define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature) struct packed_##parent_struct {
793# define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
794# define KERNEL_STRUCT_MEMBER_PACKED(parent_struct, type, name, feature) type name;
795# define KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature) type name;
796# define KERNEL_STRUCT_END(name) \
799# define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size) \
802# define KERNEL_STRUCT_VOLUME_STACK_SIZE MAX_VOLUME_STACK_SIZE
807# undef KERNEL_STRUCT_BEGIN
808# undef KERNEL_STRUCT_BEGIN_PACKED
809# undef KERNEL_STRUCT_MEMBER
810# undef KERNEL_STRUCT_MEMBER_PACKED
811# undef KERNEL_STRUCT_ARRAY_MEMBER
812# undef KERNEL_STRUCT_END
813# undef KERNEL_STRUCT_END_ARRAY
814# undef KERNEL_STRUCT_VOLUME_STACK_SIZE
848#define PRIMITIVE_INDEX(type) \
849 (bitscan((uint32_t)(type)) * 2 + (((type) & PRIMITIVE_MOTION) ? 1 : 0))
852#define PRIMITIVE_PACK_SEGMENT(type, segment) ((segment << PRIMITIVE_NUM_BITS) | (type))
853#define PRIMITIVE_UNPACK_SEGMENT(type) (type >> PRIMITIVE_NUM_BITS)
949#ifndef __MAX_CLOSURE__
950# define MAX_CLOSURE 64
952# define MAX_CLOSURE __MAX_CLOSURE__
960#ifndef __CAUSTICS_MAX_CLOSURE__
961# define CAUSTICS_MAX_CLOSURE 4
963# define CAUSTICS_MAX_CLOSURE __CAUSTICS_MAX_CLOSURE__
966#ifndef __MAX_VOLUME_STACK_SIZE__
967# define MAX_VOLUME_STACK_SIZE 32
969# define MAX_VOLUME_STACK_SIZE __MAX_VOLUME_STACK_SIZE__
972#define MAX_VOLUME_CLOSURE 8
974#define VOLUME_OCTREE_MAX_DEPTH 7
988#define SHADER_CLOSURE_BASE \
991 float sample_weight; \
998#define SHADER_CLOSURE_VOLUME_BASE \
1156 int num_closure_left;
1174#ifdef __RAY_DIFFERENTIALS__
1190#ifdef __OBJECT_MOTION__
1206 Spectrum closure_emission_background;
1207 Spectrum closure_transparent_extinction;
1213#ifdef __KERNEL_GPU__
1217 char pad[
sizeof(ShaderData) -
sizeof(ShaderClosure) *
MAX_CLOSURE];
1231#define AS_SHADER_DATA(shader_data_tiny_storage) \
1232 ((ccl_private ShaderData *)shader_data_tiny_storage)
1431#define KERNEL_STRUCT_BEGIN(name, parent) struct ccl_align(16) name {
1432#define KERNEL_STRUCT_END(name) \
1435 static_assert_align(name, 16);
1437#ifdef __KERNEL_USE_DATA_CONSTANTS__
1438# define KERNEL_STRUCT_MEMBER(parent, type, name) type __unused_##name;
1440# 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# if RTC_VERSION >= 40400
1502 RTCScene device_bvh;
1504# ifndef __KERNEL_64_BIT__
1508 int device_bvh, pad1;
1778#define PATCH_MAX_CONTROL_VERTS 16
1782#define PATCH_MAP_NODE_IS_SET (1 << 30)
1783#define PATCH_MAP_NODE_IS_LEAF (1u << 31)
1784#define PATCH_MAP_NODE_INDEX_MASK (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))
1822#define MIN_TAB_SOBOL_SAMPLES 256
1823#define MAX_TAB_SOBOL_SAMPLES 8192
1824#define NUM_TAB_SOBOL_DIMENSIONS 4
1825#define NUM_TAB_SOBOL_PATTERNS 256
1876#define DECLARE_FILM_CONVERT_KERNEL(variant) \
1877 DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA
1894#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, 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_CURVE_THICK_LINEAR
@ PRIMITIVE_MOTION_TRIANGLE
@ PRIMITIVE_MOTION_CURVE_THICK
@ PRIMITIVE_MOTION_CURVE_THICK_LINEAR
#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_UV_TANGENT_SIGN_UNDISPLACED
@ ATTR_STD_SHADOW_TRANSPARENCY
@ ATTR_STD_UV_TANGENT_UNDISPLACED
@ 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_BAKE_VOLUME_DENSITY_EVAL
@ PRNG_VOLUME_EXPANSION_ORDER
@ 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_VOLUME_PRIMARY_TRANSMIT
@ 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_VOLUME_MAJORANT_SAMPLE_COUNT
@ PASS_GUIDING_PROBABILITY
@ PASS_ADAPTIVE_AUX_BUFFER
@ PASS_GUIDING_AVG_ROUGHNESS
@ PASS_DENOISING_PREVIOUS
@ PASS_CATEGORY_LIGHT_END
ShaderData ShaderDataCausticsStorage
@ PANORAMA_FISHEYE_EQUISOLID
@ PANORAMA_CENTRAL_CYLINDRICAL
@ PANORAMA_EQUIANGULAR_CUBEMAP_FACE
@ PANORAMA_FISHEYE_EQUIDISTANT
@ PANORAMA_FISHEYE_LENS_POLYNOMIAL
@ PANORAMA_EQUIRECTANGULAR
@ DEVICE_KERNEL_INTEGRATOR_NUM
@ 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_SHADER_EVAL_VOLUME_DENSITY
@ DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE
@ DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X
@ DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY
@ DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO
@ DEVICE_KERNEL_FILTER_COLOR_FLIP_Y
@ 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_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING
@ 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_VOLUME_GUIDING_FILTER_Y
@ 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::@100244224035147311323362061026206066304156105230::@145257001270125053357336343156215202056055243242 light
struct KernelLightTreeEmitter::@100244224035147311323362061026206066304156105230::@155115103153173066061151154125014102203306247176 mesh
EmissionSampling emission_sampling
struct KernelLightTreeEmitter::@100244224035147311323362061026206066304156105230::@126172035204211036214107167014276257320000170324 triangle
struct KernelLightTreeNode::@075060275333356206225201163255143122031204113015::@064327011010203173153234374026232040346041241257 instance
struct KernelLightTreeNode::@075060275333356206225201163255143122031204113015::@121232343267032302300332005257270111102366024356 inner
struct KernelLightTreeNode::@075060275333356206225201163255143122031204113015::@354167317357124241334100100220231122277063225056 leaf
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
packed_float3 translation
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]