Blender V5.0
context_begin.h File Reference

Go to the source code of this file.

Macros

#define kernel_assert(cond)
#define ccl_device   static inline
#define ccl_device_extern   extern "C"
#define ccl_device_noinline   static inline
#define ccl_device_noinline_cpu   ccl_device_noinline
#define ccl_device_inline   static inline __attribute__((always_inline))
#define ccl_device_forceinline   static inline __attribute__((always_inline))
#define ccl_device_inline_method   __attribute__((always_inline))
#define ccl_device_template_spec   template<> inline __attribute__((always_inline))
#define ccl_align(...)
#define __forceinline   inline __attribute__((always_inline))
#define ccl_try_align(...)
#define ccl_may_alias   __attribute__((__may_alias__))
#define ccl_always_inline   __attribute__((always_inline))
#define ccl_never_inline   __attribute__((noinline))
#define ccl_global
#define ccl_inline_constant   inline constexpr
#define ccl_static_constexpr   static constexpr
#define ccl_constant   const
#define ccl_private
#define ccl_ray_data   ccl_private
#define ccl_restrict   __restrict
#define ccl_optional_struct_init
#define ccl_attr_maybe_unused   [[maybe_unused]]
#define __KERNEL_WITH_SSE_ALIGN__
#define ATTR_FALLTHROUGH   ((void)0)
#define ccl_ignore_integer_overflow
#define LIKELY(x)
#define UNLIKELY(x)
#define util_assert(statement)
#define CONCAT_HELPER(a, ...)
#define CONCAT(a, ...)
#define SIMD_SET_FLUSH_TO_ZERO
#define __KERNEL_PRINTF__
#define M_PI_F   (3.1415926535897932f) /* `pi` */
#define M_PI_2_F   (1.5707963267948966f) /* `pi/2` */
#define M_PI_4_F   (0.7853981633974830f) /* `pi/4` */
#define M_1_PI_F   (0.3183098861837067f) /* `1/pi` */
#define M_2_PI_F   (0.6366197723675813f) /* `2/pi` */
#define M_1_2PI_F   (0.1591549430918953f) /* `1/(2*pi)` */
#define M_1_4PI_F   (0.0795774715459476f) /* `1/(4*pi)` */
#define M_SQRT_PI_8_F   (0.6266570686577501f) /* `sqrt(pi/8)` */
#define M_LN_2PI_F   (1.8378770664093454f) /* `ln(2*pi)` */
#define M_2PI_F   (6.2831853071795864f) /* `2*pi` */
#define M_4PI_F   (12.566370614359172f) /* `4*pi` */
#define M_PI_4F   0.78539816339744830962f /* `pi/4` */
#define M_SQRT2_F   (1.4142135623730950f) /* `sqrt(2)` */
#define M_CBRT2_F   1.2599210498948732f /* `cbrt(2)` */
#define M_SQRT1_2F   0.70710678118654752440f /* `sqrt(1/2)` */
#define M_SQRT3_F   (1.7320508075688772f) /* `sqrt(3)` */
#define M_LN2_F   (0.6931471805599453f) /* `ln(2)` */
#define M_LN10_F   (2.3025850929940457f) /* `ln(10)` */
#define __has_builtin(v)
#define RGBE_EXP_BIAS   15
#define RGBE_MANTISSA_BITS   8
#define RGBE_EXPONENT_BITS   5
#define RGBE_MAX   65280.0f
#define SPECTRUM_CHANNELS   3
#define make_spectrum(f)
#define load_spectrum(f)
#define store_spectrum(s, f)
#define zero_spectrum   zero_float3
#define one_spectrum   one_float3
#define FOREACH_SPECTRUM_CHANNEL(counter)
#define GET_SPECTRUM_CHANNEL(v, i)
#define transform_point_auto   transform_point
#define transform_direction_auto   transform_direction
#define transform_direction_transposed_auto   transform_direction_transposed
#define static_assert_align(st, align)
#define SVM_STACK_SIZE   255
#define SVM_STACK_INVALID   255
#define SVM_BUMP_EVAL_STATE_SIZE   10
#define SHADER_NODE_TYPE(name)
#define CLOSURE_IS_BSDF(type)
#define CLOSURE_IS_BSDF_DIFFUSE(type)
#define CLOSURE_IS_BSDF_GLOSSY(type)
#define CLOSURE_IS_BSDF_TRANSMISSION(type)
#define CLOSURE_IS_BSDF_SINGULAR(type)
#define CLOSURE_IS_BSDF_TRANSPARENT(type)
#define CLOSURE_IS_BSDF_MULTISCATTER(type)
#define CLOSURE_IS_BSDF_MICROFACET(type)
#define CLOSURE_IS_BSDF_OR_BSSRDF(type)
#define CLOSURE_IS_BSSRDF(type)
#define CLOSURE_IS_VOLUME(type)
#define CLOSURE_IS_VOLUME_SCATTER(type)
#define CLOSURE_IS_VOLUME_ABSORPTION(type)
#define CLOSURE_IS_HOLDOUT(type)
#define CLOSURE_IS_PHASE(type)
#define CLOSURE_IS_REFRACTION(type)
#define CLOSURE_IS_GLASS(type)
#define CLOSURE_IS_PRINCIPLED(type)
#define CLOSURE_IS_RAY_PORTAL(type)
#define CLOSURE_WEIGHT_CUTOFF   1e-5f
#define BSDF_ROUGHNESS_SQ_THRESH   2e-10f
#define THINFILM_THICKNESS_CUTOFF   0.1f
#define OBJECT_MOTION_PASS_SIZE   2
#define FILTER_TABLE_SIZE   1024
#define RAMP_TABLE_SIZE   256
#define SHUTTER_TABLE_SIZE   256
#define THIN_FILM_TABLE_SIZE   512
#define BSSRDF_MIN_RADIUS   1e-8f
#define BSSRDF_MAX_HITS   4
#define BSSRDF_MAX_BOUNCES   256
#define LOCAL_MAX_HITS   4
#define VOLUME_BOUNDS_MAX   1024
#define SHADER_NONE   (~0)
#define OBJECT_NONE   (~0)
#define PRIM_NONE   (~0)
#define LAMP_NONE   (~0)
#define EMITTER_NONE   (~0)
#define ID_NONE   (0.0f)
#define PASS_UNUSED   (~0)
#define LIGHTGROUP_NONE   (~0)
#define LIGHT_LINK_SET_MAX   64
#define LIGHT_LINK_MASK_ALL   (~uint64_t(0))
#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU   1024U
#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU   4U
#define INTEGRATOR_SHADOW_ISECT_SIZE   INTEGRATOR_SHADOW_ISECT_SIZE_CPU
#define KERNEL_FEATURE_NODE_BSDF   (1U << 0U)
#define KERNEL_FEATURE_NODE_EMISSION   (1U << 1U)
#define KERNEL_FEATURE_NODE_VOLUME   (1U << 2U)
#define KERNEL_FEATURE_NODE_BUMP   (1U << 3U)
#define KERNEL_FEATURE_NODE_BUMP_STATE   (1U << 4U)
#define KERNEL_FEATURE_NODE_VORONOI_EXTRA   (1U << 5U)
#define KERNEL_FEATURE_NODE_RAYTRACE   (1U << 6U)
#define KERNEL_FEATURE_NODE_AOV   (1U << 7U)
#define KERNEL_FEATURE_NODE_LIGHT_PATH   (1U << 8U)
#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR   (1U << 9U)
#define KERNEL_FEATURE_NODE_PORTAL   (1U << 10U)
#define KERNEL_FEATURE_PATH_TRACING   (1U << 11U)
#define KERNEL_FEATURE_POINTCLOUD   (1U << 12U)
#define KERNEL_FEATURE_HAIR_RIBBON   (1U << 13U)
#define KERNEL_FEATURE_HAIR_THICK   (1U << 14U)
#define KERNEL_FEATURE_HAIR   (KERNEL_FEATURE_HAIR_RIBBON | KERNEL_FEATURE_HAIR_THICK)
#define KERNEL_FEATURE_OBJECT_MOTION   (1U << 15U)
#define KERNEL_FEATURE_BAKING   (1U << 16U)
#define KERNEL_FEATURE_SUBSURFACE   (1U << 17U)
#define KERNEL_FEATURE_VOLUME   (1U << 18U)
#define KERNEL_FEATURE_TRANSPARENT   (1U << 19U)
#define KERNEL_FEATURE_SHADOW_CATCHER   (1U << 20U)
#define KERNEL_FEATURE_LIGHT_PASSES   (1U << 21U)
#define KERNEL_FEATURE_AO_PASS   (1U << 22U)
#define KERNEL_FEATURE_AO_ADDITIVE   (1U << 23U)
#define KERNEL_FEATURE_AO   (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)
#define KERNEL_FEATURE_MNEE   (1U << 24U)
#define KERNEL_FEATURE_PATH_GUIDING   (1U << 25U)
#define KERNEL_FEATURE_OSL_SHADING   (1U << 26U)
#define KERNEL_FEATURE_OSL_CAMERA   (1U << 27U)
#define KERNEL_FEATURE_LIGHT_LINKING   (1U << 28U)
#define KERNEL_FEATURE_SHADOW_LINKING   (1U << 29U)
#define KERNEL_FEATURE_DENOISING   (1U << 30U)
#define KERNEL_FEATURE_LIGHT_TREE   (1U << 31U)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT
#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND   (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
#define KERNEL_FEATURE_NODE_MASK_SURFACE
#define KERNEL_FEATURE_NODE_MASK_VOLUME
#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
#define IF_KERNEL_FEATURE(feature)
#define IF_KERNEL_NODES_FEATURE(feature)
#define __AO__
#define __CAUSTICS_TRICKS__
#define __CLAMP_SAMPLE__
#define __DENOISING_FEATURES__
#define __DPDU__
#define __HAIR__
#define __LIGHT_LINKING__
#define __SHADOW_LINKING__
#define __LIGHT_TREE__
#define __OBJECT_MOTION__
#define __MNEE__
#define __PASSES__
#define __POINTCLOUD__
#define __PRINCIPLED_HAIR__
#define __RAY_DIFFERENTIALS__
#define __SHADER_RAYTRACE__
#define __SHADOW_CATCHER__
#define __SHADOW_RECORD_ALL__
#define __SUBSURFACE__
#define __SVM__
#define __TRANSPARENT_SHADOWS__
#define __VISIBILITY_FLAG__
#define __VOLUME__
#define __VOLUME_RECORD_ALL__
#define __BVH_LOCAL__
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)
#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility)
#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility)
#define PASS_NAME_JOIN(a, b)
#define PASSMASK(pass)
#define PASS_ANY   (~0)
#define PRIMITIVE_INDEX(type)
#define PRIMITIVE_PACK_SEGMENT(type, segment)
#define PRIMITIVE_UNPACK_SEGMENT(type)
#define MAX_CLOSURE   64
#define CAUSTICS_MAX_CLOSURE   4
#define MAX_VOLUME_STACK_SIZE   32
#define MAX_VOLUME_CLOSURE   8
#define VOLUME_OCTREE_MAX_DEPTH   7
#define SHADER_CLOSURE_BASE
#define SHADER_CLOSURE_VOLUME_BASE
#define AS_SHADER_DATA(shader_data_tiny_storage)
#define KERNEL_STRUCT_BEGIN(name, parent)
#define KERNEL_STRUCT_END(name)
#define KERNEL_STRUCT_MEMBER(parent, type, name)
#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE
#define SHADER_NODE_TYPE(type)
#define KERNEL_STRUCT_BEGIN(name, parent)
#define KERNEL_STRUCT_END(name)
#define KERNEL_STRUCT_MEMBER(parent, type, name)
#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE
#define SHADER_NODE_TYPE(type)
#define PATCH_MAX_CONTROL_VERTS   16
#define PATCH_MAP_NODE_IS_SET   (1 << 30)
#define PATCH_MAP_NODE_IS_LEAF   (1u << 31)
#define PATCH_MAP_NODE_INDEX_MASK   (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))
#define MIN_TAB_SOBOL_SAMPLES   256
#define MAX_TAB_SOBOL_SAMPLES   8192
#define NUM_TAB_SOBOL_DIMENSIONS   4
#define NUM_TAB_SOBOL_PATTERNS   256
#define DECLARE_FILM_CONVERT_KERNEL(variant)
#define MEM_GUARDED_CALL(progress, func, ...)
#define PROFILING_INIT(kg, event)
#define PROFILING_EVENT(event)
#define PROFILING_INIT_FOR_SHADER(kg, event)
#define PROFILING_SHADER(object, shader)
#define KERNEL_DATA_ARRAY(type, name)
#define kernel_data_fetch(name, index)
#define kernel_data_array(name)
#define kernel_data   (kg->data)

Macro Definition Documentation

◆ __AO__

#define __AO__

◆ __BVH_LOCAL__

#define __BVH_LOCAL__

◆ __CAUSTICS_TRICKS__

#define __CAUSTICS_TRICKS__

◆ __CLAMP_SAMPLE__

#define __CLAMP_SAMPLE__

◆ __DENOISING_FEATURES__

#define __DENOISING_FEATURES__

◆ __DPDU__

#define __DPDU__

◆ __forceinline

#define __forceinline   inline __attribute__((always_inline))

◆ __HAIR__

#define __HAIR__

◆ __has_builtin

#define __has_builtin ( v)
Value:
0

◆ __KERNEL_PRINTF__

#define __KERNEL_PRINTF__

◆ __KERNEL_WITH_SSE_ALIGN__

#define __KERNEL_WITH_SSE_ALIGN__

◆ __LIGHT_LINKING__

#define __LIGHT_LINKING__

◆ __LIGHT_TREE__

#define __LIGHT_TREE__

◆ __MNEE__

#define __MNEE__

◆ __OBJECT_MOTION__

#define __OBJECT_MOTION__

◆ __PASSES__

#define __PASSES__

◆ __POINTCLOUD__

#define __POINTCLOUD__

◆ __PRINCIPLED_HAIR__

#define __PRINCIPLED_HAIR__

◆ __RAY_DIFFERENTIALS__

#define __RAY_DIFFERENTIALS__

◆ __SHADER_RAYTRACE__

#define __SHADER_RAYTRACE__

◆ __SHADOW_CATCHER__

#define __SHADOW_CATCHER__

◆ __SHADOW_LINKING__

#define __SHADOW_LINKING__

◆ __SHADOW_RECORD_ALL__

#define __SHADOW_RECORD_ALL__

◆ __SUBSURFACE__

#define __SUBSURFACE__

◆ __SVM__

#define __SVM__

◆ __TRANSPARENT_SHADOWS__

#define __TRANSPARENT_SHADOWS__

◆ __VISIBILITY_FLAG__

#define __VISIBILITY_FLAG__

◆ __VOLUME__

#define __VOLUME__

◆ __VOLUME_RECORD_ALL__

#define __VOLUME_RECORD_ALL__

◆ AS_SHADER_DATA

#define AS_SHADER_DATA ( shader_data_tiny_storage)
Value:
((ccl_private ShaderData *)shader_data_tiny_storage)
#define ccl_private

◆ ATTR_FALLTHROUGH

#define ATTR_FALLTHROUGH   ((void)0)

◆ BSDF_ROUGHNESS_SQ_THRESH

#define BSDF_ROUGHNESS_SQ_THRESH   2e-10f

◆ BSSRDF_MAX_BOUNCES

#define BSSRDF_MAX_BOUNCES   256

◆ BSSRDF_MAX_HITS

#define BSSRDF_MAX_HITS   4

◆ BSSRDF_MIN_RADIUS

#define BSSRDF_MIN_RADIUS   1e-8f

◆ CAUSTICS_MAX_CLOSURE

#define CAUSTICS_MAX_CLOSURE   4

◆ ccl_align

#define ccl_align ( ...)
Value:
__attribute__((aligned(__VA_ARGS__)))
static __attribute__((constructor)) void cpu_check()
Definition cpu_check.cc:94

◆ ccl_always_inline

#define ccl_always_inline   __attribute__((always_inline))

◆ ccl_attr_maybe_unused

#define ccl_attr_maybe_unused   [[maybe_unused]]

◆ ccl_constant

#define ccl_constant   const

◆ ccl_device

#define ccl_device   static inline

◆ ccl_device_extern

#define ccl_device_extern   extern "C"

◆ ccl_device_forceinline

#define ccl_device_forceinline   static inline __attribute__((always_inline))

◆ ccl_device_inline

#define ccl_device_inline   static inline __attribute__((always_inline))

◆ ccl_device_inline_method

#define ccl_device_inline_method   __attribute__((always_inline))

◆ ccl_device_noinline

#define ccl_device_noinline   static inline

◆ ccl_device_noinline_cpu

#define ccl_device_noinline_cpu   ccl_device_noinline

◆ ccl_device_template_spec

#define ccl_device_template_spec   template<> inline __attribute__((always_inline))

◆ ccl_global

#define ccl_global

◆ ccl_ignore_integer_overflow

#define ccl_ignore_integer_overflow

◆ ccl_inline_constant

#define ccl_inline_constant   inline constexpr

◆ ccl_may_alias

#define ccl_may_alias   __attribute__((__may_alias__))

◆ ccl_never_inline

#define ccl_never_inline   __attribute__((noinline))

◆ ccl_optional_struct_init

#define ccl_optional_struct_init

◆ ccl_private

#define ccl_private

◆ ccl_ray_data

#define ccl_ray_data   ccl_private

◆ ccl_restrict

#define ccl_restrict   __restrict

◆ ccl_static_constexpr

#define ccl_static_constexpr   static constexpr

◆ ccl_try_align

#define ccl_try_align ( ...)
Value:
__attribute__((aligned(__VA_ARGS__)))

◆ CLOSURE_IS_BSDF

#define CLOSURE_IS_BSDF ( type)
Value:
@ CLOSURE_BSDF_TRANSPARENT_ID
@ CLOSURE_NONE_ID

◆ CLOSURE_IS_BSDF_DIFFUSE

#define CLOSURE_IS_BSDF_DIFFUSE ( type)
Value:
@ CLOSURE_BSDF_DIFFUSE_ID
@ CLOSURE_BSDF_TRANSLUCENT_ID

◆ CLOSURE_IS_BSDF_GLOSSY

#define CLOSURE_IS_BSDF_GLOSSY ( type)
Value:
@ CLOSURE_BSDF_MICROFACET_GGX_ID
@ CLOSURE_BSDF_HAIR_HUANG_ID
@ CLOSURE_BSDF_HAIR_CHIANG_ID
@ CLOSURE_BSDF_HAIR_REFLECTION_ID

◆ CLOSURE_IS_BSDF_MICROFACET

#define CLOSURE_IS_BSDF_MICROFACET ( type)
Value:

◆ CLOSURE_IS_BSDF_MULTISCATTER

#define CLOSURE_IS_BSDF_MULTISCATTER ( type)

◆ CLOSURE_IS_BSDF_OR_BSSRDF

#define CLOSURE_IS_BSDF_OR_BSSRDF ( type)
Value:
@ CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID

◆ CLOSURE_IS_BSDF_SINGULAR

#define CLOSURE_IS_BSDF_SINGULAR ( type)
Value:

◆ CLOSURE_IS_BSDF_TRANSMISSION

#define CLOSURE_IS_BSDF_TRANSMISSION ( type)

◆ CLOSURE_IS_BSDF_TRANSPARENT

#define CLOSURE_IS_BSDF_TRANSPARENT ( type)
Value:

◆ CLOSURE_IS_BSSRDF

#define CLOSURE_IS_BSSRDF ( type)

◆ CLOSURE_IS_GLASS

#define CLOSURE_IS_GLASS ( type)

◆ CLOSURE_IS_HOLDOUT

#define CLOSURE_IS_HOLDOUT ( type)
Value:
@ CLOSURE_HOLDOUT_ID

◆ CLOSURE_IS_PHASE

#define CLOSURE_IS_PHASE ( type)
Value:
@ CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID
@ CLOSURE_VOLUME_DRAINE_ID

◆ CLOSURE_IS_PRINCIPLED

#define CLOSURE_IS_PRINCIPLED ( type)
Value:
@ CLOSURE_BSDF_PRINCIPLED_ID

◆ CLOSURE_IS_RAY_PORTAL

#define CLOSURE_IS_RAY_PORTAL ( type)
Value:

◆ CLOSURE_IS_REFRACTION

#define CLOSURE_IS_REFRACTION ( type)

◆ CLOSURE_IS_VOLUME

#define CLOSURE_IS_VOLUME ( type)
Value:
@ CLOSURE_VOLUME_ID

◆ CLOSURE_IS_VOLUME_ABSORPTION

#define CLOSURE_IS_VOLUME_ABSORPTION ( type)
Value:
@ CLOSURE_VOLUME_ABSORPTION_ID

◆ CLOSURE_IS_VOLUME_SCATTER

#define CLOSURE_IS_VOLUME_SCATTER ( type)

◆ CLOSURE_WEIGHT_CUTOFF

#define CLOSURE_WEIGHT_CUTOFF   1e-5f

◆ CONCAT

#define CONCAT ( a,
... )
Value:
CONCAT_HELPER(a, __VA_ARGS__)
#define CONCAT_HELPER(a,...)

◆ CONCAT_HELPER

#define CONCAT_HELPER ( a,
... )
Value:
a##__VA_ARGS__

◆ DECLARE_FILM_CONVERT_KERNEL

#define DECLARE_FILM_CONVERT_KERNEL ( variant)
Value:
DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA

◆ EMITTER_NONE

#define EMITTER_NONE   (~0)

◆ FILTER_TABLE_SIZE

#define FILTER_TABLE_SIZE   1024

◆ FOREACH_SPECTRUM_CHANNEL

#define FOREACH_SPECTRUM_CHANNEL ( counter)
Value:
for (int counter = 0; counter < SPECTRUM_CHANNELS; counter++)
#define SPECTRUM_CHANNELS

◆ GET_SPECTRUM_CHANNEL

#define GET_SPECTRUM_CHANNEL ( v,
i )
Value:
(((ccl_private float *)(&(v)))[i])
ATTR_WARN_UNUSED_RESULT const BMVert * v
i
Definition text_draw.cc:230

◆ ID_NONE

#define ID_NONE   (0.0f)

◆ IF_KERNEL_FEATURE

#define IF_KERNEL_FEATURE ( feature)
Value:
if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
#define U

◆ IF_KERNEL_NODES_FEATURE

#define IF_KERNEL_NODES_FEATURE ( feature)
Value:
if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)

◆ INTEGRATOR_SHADOW_ISECT_SIZE

#define INTEGRATOR_SHADOW_ISECT_SIZE   INTEGRATOR_SHADOW_ISECT_SIZE_CPU

◆ INTEGRATOR_SHADOW_ISECT_SIZE_CPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU   1024U

◆ INTEGRATOR_SHADOW_ISECT_SIZE_GPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU   4U

◆ kernel_assert

#define kernel_assert ( cond)
Value:
assert(cond)
#define assert(assertion)

◆ kernel_data

#define kernel_data   (kg->data)

◆ KERNEL_DATA_ARRAY

#define KERNEL_DATA_ARRAY ( type,
name )

◆ kernel_data_array

#define kernel_data_array ( name)
Value:
(kg->name.data)

◆ kernel_data_fetch

#define kernel_data_fetch ( name,
index )
Value:
(kg->name.fetch(index))

◆ KERNEL_FEATURE_AO

#define KERNEL_FEATURE_AO   (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)

◆ KERNEL_FEATURE_AO_ADDITIVE

#define KERNEL_FEATURE_AO_ADDITIVE   (1U << 23U)

◆ KERNEL_FEATURE_AO_PASS

#define KERNEL_FEATURE_AO_PASS   (1U << 22U)

◆ KERNEL_FEATURE_BAKING

#define KERNEL_FEATURE_BAKING   (1U << 16U)

◆ KERNEL_FEATURE_DENOISING

#define KERNEL_FEATURE_DENOISING   (1U << 30U)

◆ KERNEL_FEATURE_HAIR

#define KERNEL_FEATURE_HAIR   (KERNEL_FEATURE_HAIR_RIBBON | KERNEL_FEATURE_HAIR_THICK)

◆ KERNEL_FEATURE_HAIR_RIBBON

#define KERNEL_FEATURE_HAIR_RIBBON   (1U << 13U)

◆ KERNEL_FEATURE_HAIR_THICK

#define KERNEL_FEATURE_HAIR_THICK   (1U << 14U)

◆ KERNEL_FEATURE_LIGHT_LINKING

#define KERNEL_FEATURE_LIGHT_LINKING   (1U << 28U)

◆ KERNEL_FEATURE_LIGHT_PASSES

#define KERNEL_FEATURE_LIGHT_PASSES   (1U << 21U)

◆ KERNEL_FEATURE_LIGHT_TREE

#define KERNEL_FEATURE_LIGHT_TREE   (1U << 31U)

◆ KERNEL_FEATURE_MNEE

#define KERNEL_FEATURE_MNEE   (1U << 24U)

◆ KERNEL_FEATURE_NODE_AOV

#define KERNEL_FEATURE_NODE_AOV   (1U << 7U)

◆ KERNEL_FEATURE_NODE_BSDF

#define KERNEL_FEATURE_NODE_BSDF   (1U << 0U)

◆ KERNEL_FEATURE_NODE_BUMP

#define KERNEL_FEATURE_NODE_BUMP   (1U << 3U)

◆ KERNEL_FEATURE_NODE_BUMP_STATE

#define KERNEL_FEATURE_NODE_BUMP_STATE   (1U << 4U)

◆ KERNEL_FEATURE_NODE_EMISSION

#define KERNEL_FEATURE_NODE_EMISSION   (1U << 1U)

◆ KERNEL_FEATURE_NODE_LIGHT_PATH

#define KERNEL_FEATURE_NODE_LIGHT_PATH   (1U << 8U)

◆ KERNEL_FEATURE_NODE_MASK_BUMP

#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

◆ KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
Value:
#define KERNEL_FEATURE_NODE_PORTAL
#define KERNEL_FEATURE_NODE_BUMP_STATE
#define KERNEL_FEATURE_NODE_VORONOI_EXTRA
#define KERNEL_FEATURE_NODE_BUMP

◆ KERNEL_FEATURE_NODE_MASK_SURFACE

#define KERNEL_FEATURE_NODE_MASK_SURFACE
Value:
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
#define KERNEL_FEATURE_NODE_LIGHT_PATH
#define KERNEL_FEATURE_NODE_RAYTRACE
#define KERNEL_FEATURE_NODE_AOV

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND

#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND   (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT

#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW

◆ KERNEL_FEATURE_NODE_MASK_VOLUME

◆ KERNEL_FEATURE_NODE_PORTAL

#define KERNEL_FEATURE_NODE_PORTAL   (1U << 10U)

◆ KERNEL_FEATURE_NODE_PRINCIPLED_HAIR

#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR   (1U << 9U)

◆ KERNEL_FEATURE_NODE_RAYTRACE

#define KERNEL_FEATURE_NODE_RAYTRACE   (1U << 6U)

◆ KERNEL_FEATURE_NODE_VOLUME

#define KERNEL_FEATURE_NODE_VOLUME   (1U << 2U)

◆ KERNEL_FEATURE_NODE_VORONOI_EXTRA

#define KERNEL_FEATURE_NODE_VORONOI_EXTRA   (1U << 5U)

◆ KERNEL_FEATURE_OBJECT_MOTION

#define KERNEL_FEATURE_OBJECT_MOTION   (1U << 15U)

◆ KERNEL_FEATURE_OSL_CAMERA

#define KERNEL_FEATURE_OSL_CAMERA   (1U << 27U)

◆ KERNEL_FEATURE_OSL_SHADING

#define KERNEL_FEATURE_OSL_SHADING   (1U << 26U)

◆ KERNEL_FEATURE_PATH_GUIDING

#define KERNEL_FEATURE_PATH_GUIDING   (1U << 25U)

◆ KERNEL_FEATURE_PATH_TRACING

#define KERNEL_FEATURE_PATH_TRACING   (1U << 11U)

◆ KERNEL_FEATURE_POINTCLOUD

#define KERNEL_FEATURE_POINTCLOUD   (1U << 12U)

◆ KERNEL_FEATURE_SHADOW_CATCHER

#define KERNEL_FEATURE_SHADOW_CATCHER   (1U << 20U)

◆ KERNEL_FEATURE_SHADOW_LINKING

#define KERNEL_FEATURE_SHADOW_LINKING   (1U << 29U)

◆ KERNEL_FEATURE_SUBSURFACE

#define KERNEL_FEATURE_SUBSURFACE   (1U << 17U)

◆ KERNEL_FEATURE_TRANSPARENT

#define KERNEL_FEATURE_TRANSPARENT   (1U << 19U)

◆ KERNEL_FEATURE_VOLUME

#define KERNEL_FEATURE_VOLUME   (1U << 18U)

◆ KERNEL_STRUCT_BEGIN [1/2]

#define KERNEL_STRUCT_BEGIN ( name,
parent )
Value:
name parent;

◆ KERNEL_STRUCT_BEGIN [2/2]

#define KERNEL_STRUCT_BEGIN ( name,
parent )
Value:
struct ccl_align(16) name {
#define ccl_align(...)

◆ KERNEL_STRUCT_END [1/2]

#define KERNEL_STRUCT_END ( name)

◆ KERNEL_STRUCT_END [2/2]

#define KERNEL_STRUCT_END ( name)
Value:
} \
; \
static_assert_align(name, 16);

◆ KERNEL_STRUCT_MEMBER [1/2]

#define KERNEL_STRUCT_MEMBER ( parent,
type,
name )

◆ KERNEL_STRUCT_MEMBER [2/2]

#define KERNEL_STRUCT_MEMBER ( parent,
type,
name )
Value:
type name;

◆ KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE [1/2]

#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE

◆ KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE [2/2]

#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE

◆ LAMP_NONE

#define LAMP_NONE   (~0)

◆ LIGHT_LINK_MASK_ALL

#define LIGHT_LINK_MASK_ALL   (~uint64_t(0))

◆ LIGHT_LINK_SET_MAX

#define LIGHT_LINK_SET_MAX   64

◆ LIGHTGROUP_NONE

#define LIGHTGROUP_NONE   (~0)

◆ LIKELY

#define LIKELY ( x)
Value:

◆ load_spectrum

#define load_spectrum ( f)
Value:
load_float3(f)

◆ LOCAL_MAX_HITS

#define LOCAL_MAX_HITS   4

◆ M_1_2PI_F

#define M_1_2PI_F   (0.1591549430918953f) /* `1/(2*pi)` */

◆ M_1_4PI_F

#define M_1_4PI_F   (0.0795774715459476f) /* `1/(4*pi)` */

◆ M_1_PI_F

#define M_1_PI_F   (0.3183098861837067f) /* `1/pi` */

◆ M_2_PI_F

#define M_2_PI_F   (0.6366197723675813f) /* `2/pi` */

◆ M_2PI_F

#define M_2PI_F   (6.2831853071795864f) /* `2*pi` */

◆ M_4PI_F

#define M_4PI_F   (12.566370614359172f) /* `4*pi` */

◆ M_CBRT2_F

#define M_CBRT2_F   1.2599210498948732f /* `cbrt(2)` */

◆ M_LN10_F

#define M_LN10_F   (2.3025850929940457f) /* `ln(10)` */

◆ M_LN2_F

#define M_LN2_F   (0.6931471805599453f) /* `ln(2)` */

◆ M_LN_2PI_F

#define M_LN_2PI_F   (1.8378770664093454f) /* `ln(2*pi)` */

◆ M_PI_2_F

#define M_PI_2_F   (1.5707963267948966f) /* `pi/2` */

◆ M_PI_4_F

#define M_PI_4_F   (0.7853981633974830f) /* `pi/4` */

◆ M_PI_4F

#define M_PI_4F   0.78539816339744830962f /* `pi/4` */

◆ M_PI_F

#define M_PI_F   (3.1415926535897932f) /* `pi` */

◆ M_SQRT1_2F

#define M_SQRT1_2F   0.70710678118654752440f /* `sqrt(1/2)` */

◆ M_SQRT2_F

#define M_SQRT2_F   (1.4142135623730950f) /* `sqrt(2)` */

◆ M_SQRT3_F

#define M_SQRT3_F   (1.7320508075688772f) /* `sqrt(3)` */

◆ M_SQRT_PI_8_F

#define M_SQRT_PI_8_F   (0.6266570686577501f) /* `sqrt(pi/8)` */

◆ make_spectrum

#define make_spectrum ( f)
Value:
ccl_device_forceinline float3 make_float3(const float x, const float y, const float z)

◆ MAX_CLOSURE

#define MAX_CLOSURE   64

◆ MAX_TAB_SOBOL_SAMPLES

#define MAX_TAB_SOBOL_SAMPLES   8192

◆ MAX_VOLUME_CLOSURE

#define MAX_VOLUME_CLOSURE   8

◆ MAX_VOLUME_STACK_SIZE

#define MAX_VOLUME_STACK_SIZE   32

◆ MEM_GUARDED_CALL

#define MEM_GUARDED_CALL ( progress,
func,
... )
Value:
do { \
try { \
(func)(__VA_ARGS__); \
} \
catch (std::bad_alloc &) { \
LOG_ERROR << "Out of memory"; \
fflush(stderr); \
(progress)->set_error("Out of memory"); \
} \
} while (false)
#define LOG_ERROR
Definition log.h:101

◆ MIN_TAB_SOBOL_SAMPLES

#define MIN_TAB_SOBOL_SAMPLES   256

◆ NUM_TAB_SOBOL_DIMENSIONS

#define NUM_TAB_SOBOL_DIMENSIONS   4

◆ NUM_TAB_SOBOL_PATTERNS

#define NUM_TAB_SOBOL_PATTERNS   256

◆ OBJECT_MOTION_PASS_SIZE

#define OBJECT_MOTION_PASS_SIZE   2

◆ OBJECT_NONE

#define OBJECT_NONE   (~0)

◆ one_spectrum

#define one_spectrum   one_float3

◆ PASS_ANY

#define PASS_ANY   (~0)

◆ PASS_NAME_JOIN

#define PASS_NAME_JOIN ( a,
b )

◆ PASS_UNUSED

#define PASS_UNUSED   (~0)

◆ PASSMASK

#define PASSMASK ( pass)
Value:
(1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
#define PASS_NAME_JOIN(a, b)

◆ PATCH_MAP_NODE_INDEX_MASK

#define PATCH_MAP_NODE_INDEX_MASK   (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))

◆ PATCH_MAP_NODE_IS_LEAF

#define PATCH_MAP_NODE_IS_LEAF   (1u << 31)

◆ PATCH_MAP_NODE_IS_SET

#define PATCH_MAP_NODE_IS_SET   (1 << 30)

◆ PATCH_MAX_CONTROL_VERTS

#define PATCH_MAX_CONTROL_VERTS   16

◆ PRIM_NONE

#define PRIM_NONE   (~0)

◆ PRIMITIVE_INDEX

#define PRIMITIVE_INDEX ( type)
Value:
(bitscan((uint32_t)(type)) * 2 + (((type) & PRIMITIVE_MOTION) ? 1 : 0))
@ PRIMITIVE_MOTION
__forceinline uint32_t bitscan(const uint32_t value)
Definition simd.h:449

◆ PRIMITIVE_PACK_SEGMENT

#define PRIMITIVE_PACK_SEGMENT ( type,
segment )
Value:
((segment << PRIMITIVE_NUM_BITS) | (type))
@ PRIMITIVE_NUM_BITS

◆ PRIMITIVE_UNPACK_SEGMENT

#define PRIMITIVE_UNPACK_SEGMENT ( type)
Value:

◆ PROFILING_EVENT

#define PROFILING_EVENT ( event)
Value:
profiling_helper.set_event(event)

◆ PROFILING_INIT

#define PROFILING_INIT ( kg,
event )
Value:
ProfilingHelper profiling_helper((ProfilingState *)&kg->profiler, event)

◆ PROFILING_INIT_FOR_SHADER

#define PROFILING_INIT_FOR_SHADER ( kg,
event )
Value:
ProfilingWithShaderHelper profiling_helper((ProfilingState *)&kg->profiler, event)

◆ PROFILING_SHADER

#define PROFILING_SHADER ( object,
shader )
Value:
profiling_helper.set_shader(object, (shader) & SHADER_MASK);
@ SHADER_MASK

◆ RAMP_TABLE_SIZE

#define RAMP_TABLE_SIZE   256

◆ RGBE_EXP_BIAS

#define RGBE_EXP_BIAS   15

◆ RGBE_EXPONENT_BITS

#define RGBE_EXPONENT_BITS   5

◆ RGBE_MANTISSA_BITS

#define RGBE_MANTISSA_BITS   8

◆ RGBE_MAX

#define RGBE_MAX   65280.0f

◆ SHADER_CLOSURE_BASE

#define SHADER_CLOSURE_BASE
Value:
Spectrum weight; \
ClosureType type; \
float sample_weight; \
ClosureType
#define N
float3 Spectrum

◆ SHADER_CLOSURE_VOLUME_BASE

#define SHADER_CLOSURE_VOLUME_BASE
Value:
Spectrum weight; \
ClosureType type; \
float sample_weight

◆ SHADER_NODE_TYPE [1/3]

#define SHADER_NODE_TYPE ( name)
Value:

◆ SHADER_NODE_TYPE [2/3]

#define SHADER_NODE_TYPE ( type)
Value:
KERNEL_STRUCT_MEMBER(svm_usage, int, type)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)

◆ SHADER_NODE_TYPE [3/3]

#define SHADER_NODE_TYPE ( type)
Value:
KERNEL_STRUCT_MEMBER(svm_usage, int, type)

◆ SHADER_NONE

#define SHADER_NONE   (~0)

◆ SHADOW_CATCHER_OBJECT_VISIBILITY

#define SHADOW_CATCHER_OBJECT_VISIBILITY ( is_shadow_catcher,
visibility )
Value:
(((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)

◆ SHADOW_CATCHER_PATH_VISIBILITY

#define SHADOW_CATCHER_PATH_VISIBILITY ( path_flag,
visibility )
Value:
(visibility))
@ PATH_RAY_SHADOW_CATCHER_PASS

◆ SHADOW_CATCHER_VISIBILITY_SHIFT

#define SHADOW_CATCHER_VISIBILITY_SHIFT ( visibility)
Value:
((visibility) << 16)

◆ SHUTTER_TABLE_SIZE

#define SHUTTER_TABLE_SIZE   256

◆ SIMD_SET_FLUSH_TO_ZERO

#define SIMD_SET_FLUSH_TO_ZERO

◆ SPECTRUM_CHANNELS

#define SPECTRUM_CHANNELS   3

◆ static_assert_align

#define static_assert_align ( st,
align )
Value:
static_assert((sizeof(st) % (align) == 0), "Structure must be strictly aligned")

◆ store_spectrum

#define store_spectrum ( s,
f )
Value:
store_float3(f)

◆ SVM_BUMP_EVAL_STATE_SIZE

#define SVM_BUMP_EVAL_STATE_SIZE   10

◆ SVM_STACK_INVALID

#define SVM_STACK_INVALID   255

◆ SVM_STACK_SIZE

#define SVM_STACK_SIZE   255

◆ THIN_FILM_TABLE_SIZE

#define THIN_FILM_TABLE_SIZE   512

◆ THINFILM_THICKNESS_CUTOFF

#define THINFILM_THICKNESS_CUTOFF   0.1f

◆ transform_direction_auto

#define transform_direction_auto   transform_direction

◆ transform_direction_transposed_auto

#define transform_direction_transposed_auto   transform_direction_transposed

◆ transform_point_auto

#define transform_point_auto   transform_point

◆ UNLIKELY

#define UNLIKELY ( x)
Value:
(x)

◆ util_assert

#define util_assert ( statement)
Value:
assert(statement)

◆ VOLUME_BOUNDS_MAX

#define VOLUME_BOUNDS_MAX   1024

◆ VOLUME_OCTREE_MAX_DEPTH

#define VOLUME_OCTREE_MAX_DEPTH   7

◆ zero_spectrum

#define zero_spectrum   zero_float3