Blender V5.0
KernelGlobalsCPU Struct Reference

#include <globals.h>

Inherited by ThreadKernelGlobalsCPU.

Classes

struct  uchar2
struct  uchar3
struct  uchar4
struct  int2
struct  packed_int3
struct  uint2
struct  uint3
struct  packed_uint3
struct  uint4
struct  ushort4
struct  float2
struct  packed_float3
struct  Interval
struct  Extrema
struct  RGBE
struct  dual
struct  dual< float2 >
struct  dual< float3 >
struct  dual< float4 >
struct  Transform
struct  DecomposedTransform
struct  ProjectionTransform
struct  PerspectiveMotionTransform
struct  BsdfEval
struct  differential3
struct  differential
struct  RaySelfPrimitives
struct  Ray
struct  Intersection
struct  AttributeDescriptor
struct  AttributeMap
struct  ShaderVolumeClosure
struct  ShaderVolumePhases
struct  VolumeStack
struct  LocalIntersection
struct  KernelCamera
struct  KernelFilmConvert
struct  KernelTables
struct  KernelBake
struct  KernelLightLinkSet
struct  KernelObject
struct  KernelCurve
struct  KernelCurveSegment
struct  KernelSpotLight
struct  KernelAreaLight
struct  KernelDistantLight
struct  KernelLight
struct  KernelLightDistribution
struct  KernelBoundingBox
struct  KernelBoundingCone
struct  KernelLightTreeNode
struct  KernelOctreeRoot
struct  KernelOctreeNode
struct  KernelLightTreeEmitter
struct  KernelParticle
struct  KernelShader
struct  KernelWorkTile
struct  KernelShaderEvalInput

Public Types

enum  ShaderNodeType { NODE_NUM }
enum  NodeAttributeOutputType { NODE_ATTR_OUTPUT_FLOAT3 = 0 , NODE_ATTR_OUTPUT_FLOAT , NODE_ATTR_OUTPUT_FLOAT_ALPHA }
enum  NodeAttributeType {
  NODE_ATTR_FLOAT = 0 , NODE_ATTR_FLOAT2 , NODE_ATTR_FLOAT3 , NODE_ATTR_FLOAT4 ,
  NODE_ATTR_RGBA , NODE_ATTR_MATRIX
}
enum  NodeGeometry {
  NODE_GEOM_P = 0 , NODE_GEOM_N , NODE_GEOM_T , NODE_GEOM_I ,
  NODE_GEOM_Ng , NODE_GEOM_uv
}
enum  NodeObjectInfo {
  NODE_INFO_OB_LOCATION , NODE_INFO_OB_COLOR , NODE_INFO_OB_ALPHA , NODE_INFO_OB_INDEX ,
  NODE_INFO_MAT_INDEX , NODE_INFO_OB_RANDOM
}
enum  NodeParticleInfo {
  NODE_INFO_PAR_INDEX , NODE_INFO_PAR_RANDOM , NODE_INFO_PAR_AGE , NODE_INFO_PAR_LIFETIME ,
  NODE_INFO_PAR_LOCATION , NODE_INFO_PAR_SIZE , NODE_INFO_PAR_VELOCITY , NODE_INFO_PAR_ANGULAR_VELOCITY
}
enum  NodeHairInfo {
  NODE_INFO_CURVE_IS_STRAND , NODE_INFO_CURVE_INTERCEPT , NODE_INFO_CURVE_LENGTH , NODE_INFO_CURVE_THICKNESS ,
  NODE_INFO_CURVE_TANGENT_NORMAL , NODE_INFO_CURVE_RANDOM
}
enum  NodePointInfo { NODE_INFO_POINT_POSITION , NODE_INFO_POINT_RADIUS , NODE_INFO_POINT_RANDOM }
enum  NodeLightPath {
  NODE_LP_camera = 0 , NODE_LP_shadow , NODE_LP_diffuse , NODE_LP_glossy ,
  NODE_LP_singular , NODE_LP_reflection , NODE_LP_transmission , NODE_LP_volume_scatter ,
  NODE_LP_backfacing , NODE_LP_ray_length , NODE_LP_ray_depth , NODE_LP_ray_diffuse ,
  NODE_LP_ray_glossy , NODE_LP_ray_transparent , NODE_LP_ray_transmission , NODE_LP_ray_portal
}
enum  NodeLightFalloff { NODE_LIGHT_FALLOFF_QUADRATIC , NODE_LIGHT_FALLOFF_LINEAR , NODE_LIGHT_FALLOFF_CONSTANT }
enum  NodeTexCoord {
  NODE_TEXCO_NORMAL , NODE_TEXCO_OBJECT , NODE_TEXCO_OBJECT_WITH_TRANSFORM , NODE_TEXCO_CAMERA ,
  NODE_TEXCO_WINDOW , NODE_TEXCO_REFLECTION , NODE_TEXCO_DUPLI_GENERATED , NODE_TEXCO_DUPLI_UV ,
  NODE_TEXCO_VOLUME_GENERATED
}
enum  NodeMix {
  NODE_MIX_BLEND = 0 , NODE_MIX_ADD , NODE_MIX_MUL , NODE_MIX_SUB ,
  NODE_MIX_SCREEN , NODE_MIX_DIV , NODE_MIX_DIFF , NODE_MIX_DARK ,
  NODE_MIX_LIGHT , NODE_MIX_OVERLAY , NODE_MIX_DODGE , NODE_MIX_BURN ,
  NODE_MIX_HUE , NODE_MIX_SAT , NODE_MIX_VAL , NODE_MIX_COL ,
  NODE_MIX_SOFT , NODE_MIX_LINEAR , NODE_MIX_EXCLUSION , NODE_MIX_CLAMP
}
enum  NodeMathType {
  NODE_MATH_ADD , NODE_MATH_SUBTRACT , NODE_MATH_MULTIPLY , NODE_MATH_DIVIDE ,
  NODE_MATH_SINE , NODE_MATH_COSINE , NODE_MATH_TANGENT , NODE_MATH_ARCSINE ,
  NODE_MATH_ARCCOSINE , NODE_MATH_ARCTANGENT , NODE_MATH_POWER , NODE_MATH_LOGARITHM ,
  NODE_MATH_MINIMUM , NODE_MATH_MAXIMUM , NODE_MATH_ROUND , NODE_MATH_LESS_THAN ,
  NODE_MATH_GREATER_THAN , NODE_MATH_MODULO , NODE_MATH_ABSOLUTE , NODE_MATH_ARCTAN2 ,
  NODE_MATH_FLOOR , NODE_MATH_CEIL , NODE_MATH_FRACTION , NODE_MATH_SQRT ,
  NODE_MATH_INV_SQRT , NODE_MATH_SIGN , NODE_MATH_EXPONENT , NODE_MATH_RADIANS ,
  NODE_MATH_DEGREES , NODE_MATH_SINH , NODE_MATH_COSH , NODE_MATH_TANH ,
  NODE_MATH_TRUNC , NODE_MATH_SNAP , NODE_MATH_WRAP , NODE_MATH_COMPARE ,
  NODE_MATH_MULTIPLY_ADD , NODE_MATH_PINGPONG , NODE_MATH_SMOOTH_MIN , NODE_MATH_SMOOTH_MAX ,
  NODE_MATH_FLOORED_MODULO
}
enum  NodeVectorMathType {
  NODE_VECTOR_MATH_ADD , NODE_VECTOR_MATH_SUBTRACT , NODE_VECTOR_MATH_MULTIPLY , NODE_VECTOR_MATH_DIVIDE ,
  NODE_VECTOR_MATH_CROSS_PRODUCT , NODE_VECTOR_MATH_PROJECT , NODE_VECTOR_MATH_REFLECT , NODE_VECTOR_MATH_DOT_PRODUCT ,
  NODE_VECTOR_MATH_DISTANCE , NODE_VECTOR_MATH_LENGTH , NODE_VECTOR_MATH_SCALE , NODE_VECTOR_MATH_NORMALIZE ,
  NODE_VECTOR_MATH_SNAP , NODE_VECTOR_MATH_FLOOR , NODE_VECTOR_MATH_CEIL , NODE_VECTOR_MATH_MODULO ,
  NODE_VECTOR_MATH_FRACTION , NODE_VECTOR_MATH_ABSOLUTE , NODE_VECTOR_MATH_MINIMUM , NODE_VECTOR_MATH_MAXIMUM ,
  NODE_VECTOR_MATH_WRAP , NODE_VECTOR_MATH_SINE , NODE_VECTOR_MATH_COSINE , NODE_VECTOR_MATH_TANGENT ,
  NODE_VECTOR_MATH_REFRACT , NODE_VECTOR_MATH_FACEFORWARD , NODE_VECTOR_MATH_MULTIPLY_ADD , NODE_VECTOR_MATH_POWER ,
  NODE_VECTOR_MATH_SIGN
}
enum  NodeClampType { NODE_CLAMP_MINMAX , NODE_CLAMP_RANGE }
enum  NodeMapRangeType { NODE_MAP_RANGE_LINEAR , NODE_MAP_RANGE_STEPPED , NODE_MAP_RANGE_SMOOTHSTEP , NODE_MAP_RANGE_SMOOTHERSTEP }
enum  NodeMappingType { NODE_MAPPING_TYPE_POINT , NODE_MAPPING_TYPE_TEXTURE , NODE_MAPPING_TYPE_VECTOR , NODE_MAPPING_TYPE_NORMAL }
enum  NodeVectorRotateType {
  NODE_VECTOR_ROTATE_TYPE_AXIS , NODE_VECTOR_ROTATE_TYPE_AXIS_X , NODE_VECTOR_ROTATE_TYPE_AXIS_Y , NODE_VECTOR_ROTATE_TYPE_AXIS_Z ,
  NODE_VECTOR_ROTATE_TYPE_EULER_XYZ
}
enum  NodeVectorTransformType { NODE_VECTOR_TRANSFORM_TYPE_VECTOR , NODE_VECTOR_TRANSFORM_TYPE_POINT , NODE_VECTOR_TRANSFORM_TYPE_NORMAL }
enum  NodeVectorTransformConvertSpace { NODE_VECTOR_TRANSFORM_CONVERT_SPACE_WORLD , NODE_VECTOR_TRANSFORM_CONVERT_SPACE_OBJECT , NODE_VECTOR_TRANSFORM_CONVERT_SPACE_CAMERA }
enum  NodeConvert {
  NODE_CONVERT_FV , NODE_CONVERT_FI , NODE_CONVERT_CF , NODE_CONVERT_CI ,
  NODE_CONVERT_VF , NODE_CONVERT_VI , NODE_CONVERT_IF , NODE_CONVERT_IV
}
enum  NodeNoiseType {
  NODE_NOISE_MULTIFRACTAL , NODE_NOISE_FBM , NODE_NOISE_HYBRID_MULTIFRACTAL , NODE_NOISE_RIDGED_MULTIFRACTAL ,
  NODE_NOISE_HETERO_TERRAIN
}
enum  NodeGaborType { NODE_GABOR_TYPE_2D , NODE_GABOR_TYPE_3D }
enum  NodeWaveType { NODE_WAVE_BANDS , NODE_WAVE_RINGS }
enum  NodeWaveBandsDirection { NODE_WAVE_BANDS_DIRECTION_X , NODE_WAVE_BANDS_DIRECTION_Y , NODE_WAVE_BANDS_DIRECTION_Z , NODE_WAVE_BANDS_DIRECTION_DIAGONAL }
enum  NodeWaveRingsDirection { NODE_WAVE_RINGS_DIRECTION_X , NODE_WAVE_RINGS_DIRECTION_Y , NODE_WAVE_RINGS_DIRECTION_Z , NODE_WAVE_RINGS_DIRECTION_SPHERICAL }
enum  NodeWaveProfile { NODE_WAVE_PROFILE_SIN , NODE_WAVE_PROFILE_SAW , NODE_WAVE_PROFILE_TRI }
enum  NodeSkyType { NODE_SKY_PREETHAM , NODE_SKY_HOSEK , NODE_SKY_SINGLE_SCATTERING , NODE_SKY_MULTIPLE_SCATTERING }
enum  NodeGradientType {
  NODE_BLEND_LINEAR , NODE_BLEND_QUADRATIC , NODE_BLEND_EASING , NODE_BLEND_DIAGONAL ,
  NODE_BLEND_RADIAL , NODE_BLEND_QUADRATIC_SPHERE , NODE_BLEND_SPHERICAL
}
enum  NodeVoronoiDistanceMetric { NODE_VORONOI_EUCLIDEAN , NODE_VORONOI_MANHATTAN , NODE_VORONOI_CHEBYCHEV , NODE_VORONOI_MINKOWSKI }
enum  NodeVoronoiFeature {
  NODE_VORONOI_F1 , NODE_VORONOI_F2 , NODE_VORONOI_SMOOTH_F1 , NODE_VORONOI_DISTANCE_TO_EDGE ,
  NODE_VORONOI_N_SPHERE_RADIUS
}
enum  NodeBlendWeightType { NODE_LAYER_WEIGHT_FRESNEL , NODE_LAYER_WEIGHT_FACING }
enum  NodeTangentDirectionType { NODE_TANGENT_RADIAL , NODE_TANGENT_UVMAP }
enum  NodeTangentAxis { NODE_TANGENT_AXIS_X , NODE_TANGENT_AXIS_Y , NODE_TANGENT_AXIS_Z }
enum  NodeNormalMapSpace {
  NODE_NORMAL_MAP_TANGENT , NODE_NORMAL_MAP_OBJECT , NODE_NORMAL_MAP_WORLD , NODE_NORMAL_MAP_BLENDER_OBJECT ,
  NODE_NORMAL_MAP_BLENDER_WORLD
}
enum  NodeImageProjection { NODE_IMAGE_PROJ_FLAT = 0 , NODE_IMAGE_PROJ_BOX = 1 , NODE_IMAGE_PROJ_SPHERE = 2 , NODE_IMAGE_PROJ_TUBE = 3 }
enum  NodeImageFlags { NODE_IMAGE_COMPRESS_AS_SRGB = 1 , NODE_IMAGE_ALPHA_UNASSOCIATE = 2 }
enum  NodeEnvironmentProjection { NODE_ENVIRONMENT_EQUIRECTANGULAR = 0 , NODE_ENVIRONMENT_MIRROR_BALL = 1 }
enum  NodeBumpOffset { NODE_BUMP_OFFSET_CENTER , NODE_BUMP_OFFSET_DX , NODE_BUMP_OFFSET_DY }
enum  NodeAO { NODE_AO_ONLY_LOCAL = (1 << 0) , NODE_AO_INSIDE = (1 << 1) , NODE_AO_GLOBAL_RADIUS = (1 << 2) }
enum  ShaderType { SHADER_TYPE_SURFACE , SHADER_TYPE_VOLUME , SHADER_TYPE_DISPLACEMENT , SHADER_TYPE_BUMP }
enum  NodePrincipledHairModel { NODE_PRINCIPLED_HAIR_CHIANG = 0 , NODE_PRINCIPLED_HAIR_HUANG = 1 , NODE_PRINCIPLED_HAIR_MODEL_NUM }
enum  NodePrincipledHairParametrization { NODE_PRINCIPLED_HAIR_REFLECTANCE = 0 , NODE_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION = 1 , NODE_PRINCIPLED_HAIR_DIRECT_ABSORPTION = 2 , NODE_PRINCIPLED_HAIR_PARAMETRIZATION_NUM }
enum  NodeCombSepColorType { NODE_COMBSEP_COLOR_RGB , NODE_COMBSEP_COLOR_HSV , NODE_COMBSEP_COLOR_HSL }
enum  ClosureType {
  CLOSURE_NONE_ID , CLOSURE_BSDF_ID , CLOSURE_BSDF_DIFFUSE_ID , CLOSURE_BSDF_OREN_NAYAR_ID ,
  CLOSURE_BSDF_BURLEY_ID , CLOSURE_BSDF_DIFFUSE_RAMP_ID , CLOSURE_BSDF_SHEEN_ID , CLOSURE_BSDF_DIFFUSE_TOON_ID ,
  CLOSURE_BSDF_TRANSLUCENT_ID , CLOSURE_BSDF_PHYSICAL_CONDUCTOR , CLOSURE_BSDF_F82_CONDUCTOR , CLOSURE_BSDF_MICROFACET_GGX_ID ,
  CLOSURE_BSDF_MICROFACET_BECKMANN_ID , CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID , CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID , CLOSURE_BSDF_ASHIKHMIN_VELVET_ID ,
  CLOSURE_BSDF_PHONG_RAMP_ID , CLOSURE_BSDF_GLOSSY_TOON_ID , CLOSURE_BSDF_HAIR_REFLECTION_ID , CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID ,
  CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID , CLOSURE_BSDF_HAIR_TRANSMISSION_ID , CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID , CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID ,
  CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID , CLOSURE_BSDF_HAIR_CHIANG_ID , CLOSURE_BSDF_HAIR_HUANG_ID , CLOSURE_BSDF_RAY_PORTAL_ID ,
  CLOSURE_BSDF_TRANSPARENT_ID , CLOSURE_BSSRDF_BURLEY_ID , CLOSURE_BSSRDF_RANDOM_WALK_ID , CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID ,
  CLOSURE_HOLDOUT_ID , CLOSURE_VOLUME_ID , CLOSURE_VOLUME_ABSORPTION_ID , CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID ,
  CLOSURE_VOLUME_MIE_ID , CLOSURE_VOLUME_FOURNIER_FORAND_ID , CLOSURE_VOLUME_RAYLEIGH_ID , CLOSURE_VOLUME_DRAINE_ID ,
  CLOSURE_BSDF_PRINCIPLED_ID , NBUILTIN_CLOSURES
}
enum  PathTraceDimension {
  PRNG_FILTER = 0 , PRNG_LENS_TIME = 1 , PRNG_TERMINATE = 0 , PRNG_LIGHT = 1 ,
  PRNG_LIGHT_TERMINATE = 2 , PRNG_SURFACE_BSDF = 3 , PRNG_SURFACE_AO = 4 , PRNG_SURFACE_BEVEL = 5 ,
  PRNG_SURFACE_BSDF_GUIDING = 6 , PRNG_SURFACE_RIS_GUIDING_0 = 10 , PRNG_SURFACE_RIS_GUIDING_1 = 11 , PRNG_VOLUME_PHASE = 3 ,
  PRNG_VOLUME_RESERVOIR = 4 , PRNG_VOLUME_SCATTER_DISTANCE = 5 , PRNG_VOLUME_EXPANSION_ORDER = 6 , PRNG_VOLUME_SHADE_OFFSET = 7 ,
  PRNG_VOLUME_PHASE_GUIDING_DISTANCE = 8 , PRNG_VOLUME_PHASE_GUIDING_EQUIANGULAR = 9 , PRNG_VOLUME_COLOR_CHANNEL = 4 , PRNG_VOLUME_OFFSET = 6 ,
  PRNG_SUBSURFACE_BSDF = 0 , PRNG_SUBSURFACE_COLOR_CHANNEL = 1 , PRNG_SUBSURFACE_SCATTER_DISTANCE = 2 , PRNG_SUBSURFACE_GUIDE_STRATEGY = 3 ,
  PRNG_SUBSURFACE_GUIDE_DIRECTION = 4 , PRNG_SUBSURFACE_DISK = 0 , PRNG_SUBSURFACE_DISK_RESAMPLE = 1 , PRNG_BAKE_VOLUME_DENSITY_EVAL = 0 ,
  PRNG_BOUNCE_NUM = 16
}
enum  SamplingPattern {
  SAMPLING_PATTERN_SOBOL_BURLEY = 0 , SAMPLING_PATTERN_TABULATED_SOBOL = 1 , SAMPLING_PATTERN_BLUE_NOISE_PURE = 2 , SAMPLING_PATTERN_BLUE_NOISE_FIRST = 3 ,
  SAMPLING_PATTERN_BLUE_NOISE_ROUND = 4 , SAMPLING_PATTERN_AUTOMATIC = 5 , SAMPLING_NUM_PATTERNS
}
enum  PathRayFlag : uint32_t {
  PATH_RAY_CAMERA = (1U << 0U) , PATH_RAY_REFLECT = (1U << 1U) , PATH_RAY_TRANSMIT = (1U << 2U) , PATH_RAY_DIFFUSE = (1U << 3U) ,
  PATH_RAY_GLOSSY = (1U << 4U) , PATH_RAY_SINGULAR = (1U << 5U) , PATH_RAY_TRANSPARENT = (1U << 6U) , PATH_RAY_VOLUME_SCATTER = (1U << 7U) ,
  PATH_RAY_IMPORTANCE_BAKE = (1U << 8U) , PATH_RAY_SHADOW_OPAQUE = (1U << 9U) , PATH_RAY_SHADOW_TRANSPARENT = (1U << 10U) , PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE | PATH_RAY_SHADOW_TRANSPARENT) ,
  PATH_RAY_ALL_VISIBILITY = ((1U << 11U) - 1U) , PATH_RAY_NODE_UNALIGNED = (1U << 11U) , PATH_RAY_MIS_HAD_TRANSMISSION = (1U << 11U) , PATH_RAY_MIS_SKIP = (1U << 12U) ,
  PATH_RAY_DIFFUSE_ANCESTOR = (1U << 13U) , PATH_RAY_SINGLE_PASS_DONE = (1U << 14U) , PATH_RAY_TRANSPARENT_BACKGROUND = (1U << 15U) , PATH_RAY_TERMINATE_ON_NEXT_SURFACE = (1U << 16U) ,
  PATH_RAY_TERMINATE_IN_NEXT_VOLUME = (1U << 17U) , PATH_RAY_TERMINATE_AFTER_TRANSPARENT = (1U << 18U) , PATH_RAY_TERMINATE_AFTER_VOLUME = (1U << 19U) , PATH_RAY_TERMINATE ,
  PATH_RAY_EMISSION = (1U << 20U) , PATH_RAY_SUBSURFACE_RANDOM_WALK = (1U << 21U) , PATH_RAY_SUBSURFACE_DISK = (1U << 22U) , PATH_RAY_SUBSURFACE_BACKFACING = (1U << 24U) ,
  PATH_RAY_SUBSURFACE , PATH_RAY_DENOISING_FEATURES = (1U << 25U) , PATH_RAY_SURFACE_PASS = (1U << 26U) , PATH_RAY_VOLUME_PASS = (1U << 27U) ,
  PATH_RAY_ANY_PASS = (PATH_RAY_SURFACE_PASS | PATH_RAY_VOLUME_PASS) , PATH_RAY_SHADOW_FOR_AO = (1U << 28U) , PATH_RAY_SHADOW_CATCHER_HIT = (1U << 29U) , PATH_RAY_SHADOW_CATCHER_PASS = (1U << 30U) ,
  PATH_RAY_SHADOW_CATCHER_BACKGROUND = (1U << 31U) , PATH_RAY_VOLUME_PRIMARY_TRANSMIT = (1U << 23U)
}
enum  PathRayMNEE { PATH_MNEE_NONE = 0 , PATH_MNEE_VALID = (1U << 0U) , PATH_MNEE_RECEIVER_ANCESTOR = (1U << 1U) , PATH_MNEE_CULL_LIGHT_CONNECTION = (1U << 2U) }
enum  ClosureLabel {
  LABEL_NONE = 0 , LABEL_TRANSMIT = 1 , LABEL_REFLECT = 2 , LABEL_DIFFUSE = 4 ,
  LABEL_GLOSSY = 8 , LABEL_SINGULAR = 16 , LABEL_TRANSPARENT = 32 , LABEL_VOLUME_SCATTER = 64 ,
  LABEL_TRANSMIT_TRANSPARENT = 128 , LABEL_SUBSURFACE_SCATTER = 256 , LABEL_RAY_PORTAL = 512
}
enum  PassType {
  PASS_NONE = 0 , PASS_COMBINED = 1 , PASS_EMISSION , PASS_BACKGROUND ,
  PASS_AO , PASS_DIFFUSE , PASS_DIFFUSE_DIRECT , PASS_DIFFUSE_INDIRECT ,
  PASS_GLOSSY , PASS_GLOSSY_DIRECT , PASS_GLOSSY_INDIRECT , PASS_TRANSMISSION ,
  PASS_TRANSMISSION_DIRECT , PASS_TRANSMISSION_INDIRECT , PASS_VOLUME , PASS_VOLUME_DIRECT ,
  PASS_VOLUME_INDIRECT , PASS_VOLUME_SCATTER , PASS_VOLUME_TRANSMIT , PASS_CATEGORY_LIGHT_END = 31 ,
  PASS_DEPTH = 32 , PASS_POSITION , PASS_NORMAL , PASS_ROUGHNESS ,
  PASS_UV , PASS_OBJECT_ID , PASS_MATERIAL_ID , PASS_MOTION ,
  PASS_MOTION_WEIGHT , PASS_CRYPTOMATTE , PASS_AOV_COLOR , PASS_AOV_VALUE ,
  PASS_ADAPTIVE_AUX_BUFFER , PASS_SAMPLE_COUNT , PASS_DIFFUSE_COLOR , PASS_GLOSSY_COLOR ,
  PASS_TRANSMISSION_COLOR , PASS_MIST , PASS_DENOISING_NORMAL , PASS_DENOISING_ALBEDO ,
  PASS_DENOISING_DEPTH , PASS_DENOISING_PREVIOUS , PASS_RENDER_TIME , PASS_SHADOW_CATCHER ,
  PASS_SHADOW_CATCHER_SAMPLE_COUNT , PASS_SHADOW_CATCHER_MATTE , PASS_GUIDING_COLOR , PASS_GUIDING_PROBABILITY ,
  PASS_GUIDING_AVG_ROUGHNESS , PASS_VOLUME_MAJORANT , PASS_VOLUME_MAJORANT_SAMPLE_COUNT , PASS_CATEGORY_DATA_END = 63 ,
  PASS_BAKE_PRIMITIVE , PASS_BAKE_SEED , PASS_BAKE_DIFFERENTIAL , PASS_CATEGORY_BAKE_END = 95 ,
  PASS_NUM
}
enum  CryptomatteType {
  CRYPT_NONE = 0 , CRYPT_OBJECT = (1 << 0) , CRYPT_MATERIAL = (1 << 1) , CRYPT_ASSET = (1 << 2) ,
  CRYPT_ACCURATE = (1 << 3)
}
enum  FilterClosures {
  FILTER_CLOSURE_EMISSION = (1 << 0) , FILTER_CLOSURE_DIFFUSE = (1 << 1) , FILTER_CLOSURE_GLOSSY = (1 << 2) , FILTER_CLOSURE_TRANSMISSION = (1 << 3) ,
  FILTER_CLOSURE_TRANSPARENT = (1 << 4) , FILTER_CLOSURE_DIRECT_LIGHT = (1 << 5)
}
enum  ShaderFlag {
  SHADER_SMOOTH_NORMAL = (1 << 31) , SHADER_CAST_SHADOW = (1 << 30) , SHADER_AREA_LIGHT = (1 << 29) , SHADER_USE_MIS = (1 << 28) ,
  SHADER_EXCLUDE_DIFFUSE = (1 << 27) , SHADER_EXCLUDE_GLOSSY = (1 << 26) , SHADER_EXCLUDE_TRANSMIT = (1 << 25) , SHADER_EXCLUDE_CAMERA = (1 << 24) ,
  SHADER_EXCLUDE_SCATTER = (1 << 23) , SHADER_EXCLUDE_SHADOW_CATCHER = (1 << 22) , SHADER_EXCLUDE_ANY , SHADER_MASK
}
enum  EmissionSampling {
  EMISSION_SAMPLING_NONE = 0 , EMISSION_SAMPLING_AUTO = 1 , EMISSION_SAMPLING_FRONT = 2 , EMISSION_SAMPLING_BACK = 3 ,
  EMISSION_SAMPLING_FRONT_BACK = 4 , EMISSION_SAMPLING_NUM
}
enum  LightType {
  LIGHT_POINT , LIGHT_DISTANT , LIGHT_BACKGROUND , LIGHT_AREA ,
  LIGHT_SPOT , LIGHT_TRIANGLE
}
enum  GuidingDistributionType { GUIDING_TYPE_PARALLAX_AWARE_VMM = 0 , GUIDING_TYPE_DIRECTIONAL_QUAD_TREE = 1 , GUIDING_TYPE_VMM = 2 , GUIDING_NUM_TYPES }
enum  GuidingDirectionalSamplingType { GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS = 0 , GUIDING_DIRECTIONAL_SAMPLING_TYPE_RIS = 1 , GUIDING_DIRECTIONAL_SAMPLING_TYPE_ROUGHNESS = 2 , GUIDING_DIRECTIONAL_SAMPLING_NUM_TYPES }
enum  CameraType { CAMERA_PERSPECTIVE , CAMERA_ORTHOGRAPHIC , CAMERA_PANORAMA , CAMERA_CUSTOM }
enum  PanoramaType {
  PANORAMA_EQUIRECTANGULAR = 0 , PANORAMA_FISHEYE_EQUIDISTANT = 1 , PANORAMA_FISHEYE_EQUISOLID = 2 , PANORAMA_MIRRORBALL = 3 ,
  PANORAMA_FISHEYE_LENS_POLYNOMIAL = 4 , PANORAMA_EQUIANGULAR_CUBEMAP_FACE = 5 , PANORAMA_CENTRAL_CYLINDRICAL = 6 , PANORAMA_NUM_TYPES
}
enum  MotionPosition { MOTION_POSITION_START = 0 , MOTION_POSITION_CENTER = 1 , MOTION_POSITION_END = 2 , MOTION_NUM_POSITIONS }
enum  DirectLightSamplingType { DIRECT_LIGHT_SAMPLING_MIS = 0 , DIRECT_LIGHT_SAMPLING_FORWARD = 1 , DIRECT_LIGHT_SAMPLING_NEE = 2 , DIRECT_LIGHT_SAMPLING_NUM }
enum  PrimitiveType {
  PRIMITIVE_NONE = 0 , PRIMITIVE_TRIANGLE = (1 << 0) , PRIMITIVE_CURVE_THICK = (1 << 1) , PRIMITIVE_CURVE_RIBBON = (1 << 2) ,
  PRIMITIVE_CURVE_THICK_LINEAR = PRIMITIVE_CURVE_THICK | PRIMITIVE_CURVE_RIBBON , PRIMITIVE_POINT = (1 << 3) , PRIMITIVE_VOLUME = (1 << 4) , PRIMITIVE_LAMP = (1 << 5) ,
  PRIMITIVE_MOTION = (1 << 6) , PRIMITIVE_MOTION_TRIANGLE = (PRIMITIVE_TRIANGLE | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_CURVE_THICK = (PRIMITIVE_CURVE_THICK | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_CURVE_RIBBON = (PRIMITIVE_CURVE_RIBBON | PRIMITIVE_MOTION) ,
  PRIMITIVE_MOTION_CURVE_THICK_LINEAR = (PRIMITIVE_CURVE_THICK_LINEAR | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_POINT = (PRIMITIVE_POINT | PRIMITIVE_MOTION) , PRIMITIVE_CURVE = (PRIMITIVE_CURVE_THICK | PRIMITIVE_CURVE_RIBBON) , PRIMITIVE_ALL ,
  PRIMITIVE_NUM_SHAPES = 6 , PRIMITIVE_NUM_BITS = PRIMITIVE_NUM_SHAPES + 1 , PRIMITIVE_NUM = PRIMITIVE_NUM_SHAPES * 2
}
enum  CurveShapeType { CURVE_RIBBON = 0 , CURVE_THICK = 1 , CURVE_THICK_LINEAR = 2 , CURVE_NUM_SHAPE_TYPES }
enum  AttributePrimitive { ATTR_PRIM_GEOMETRY = 0 , ATTR_PRIM_SUBD , ATTR_PRIM_TYPES }
enum  AttributeElement {
  ATTR_ELEMENT_NONE = 0 , ATTR_ELEMENT_OBJECT = (1 << 0) , ATTR_ELEMENT_MESH = (1 << 1) , ATTR_ELEMENT_FACE = (1 << 2) ,
  ATTR_ELEMENT_VERTEX = (1 << 3) , ATTR_ELEMENT_VERTEX_MOTION = (1 << 4) , ATTR_ELEMENT_CORNER = (1 << 5) , ATTR_ELEMENT_CORNER_BYTE = (1 << 6) ,
  ATTR_ELEMENT_CURVE = (1 << 7) , ATTR_ELEMENT_CURVE_KEY = (1 << 8) , ATTR_ELEMENT_CURVE_KEY_MOTION = (1 << 9) , ATTR_ELEMENT_VOXEL = (1 << 10)
}
enum  AttributeStandard {
  ATTR_STD_NONE = 0 , ATTR_STD_VERTEX_NORMAL , ATTR_STD_UV , ATTR_STD_UV_TANGENT ,
  ATTR_STD_UV_TANGENT_SIGN , ATTR_STD_UV_TANGENT_UNDISPLACED , ATTR_STD_UV_TANGENT_SIGN_UNDISPLACED , ATTR_STD_VERTEX_COLOR ,
  ATTR_STD_GENERATED , ATTR_STD_GENERATED_TRANSFORM , ATTR_STD_POSITION_UNDEFORMED , ATTR_STD_POSITION_UNDISPLACED ,
  ATTR_STD_NORMAL_UNDISPLACED , ATTR_STD_MOTION_VERTEX_POSITION , ATTR_STD_MOTION_VERTEX_NORMAL , ATTR_STD_PARTICLE ,
  ATTR_STD_CURVE_INTERCEPT , ATTR_STD_CURVE_LENGTH , ATTR_STD_CURVE_RANDOM , ATTR_STD_POINT_RANDOM ,
  ATTR_STD_PTEX_FACE_ID , ATTR_STD_PTEX_UV , ATTR_STD_VOLUME_DENSITY , ATTR_STD_VOLUME_COLOR ,
  ATTR_STD_VOLUME_FLAME , ATTR_STD_VOLUME_HEAT , ATTR_STD_VOLUME_TEMPERATURE , ATTR_STD_VOLUME_VELOCITY ,
  ATTR_STD_VOLUME_VELOCITY_X , ATTR_STD_VOLUME_VELOCITY_Y , ATTR_STD_VOLUME_VELOCITY_Z , ATTR_STD_POINTINESS ,
  ATTR_STD_RANDOM_PER_ISLAND , ATTR_STD_SHADOW_TRANSPARENCY , ATTR_STD_NUM , ATTR_STD_NOT_FOUND = ~0
}
enum  AttributeFlag { ATTR_SUBDIVIDE_SMOOTH_FVAR = (1 << 0) }
enum  ShaderDataFlag {
  SD_BACKFACING = (1 << 0) , SD_EMISSION = (1 << 1) , SD_BSDF = (1 << 2) , SD_BSDF_HAS_EVAL = (1 << 3) ,
  SD_BSSRDF = (1 << 4) , SD_HOLDOUT = (1 << 5) , SD_EXTINCTION = (1 << 6) , SD_SCATTER = (1 << 7) ,
  SD_IS_VOLUME_SHADER_EVAL = (1 << 8) , SD_TRANSPARENT = (1 << 9) , SD_BSDF_NEEDS_LCG = (1 << 10) , SD_BSDF_HAS_TRANSMISSION = (1 << 11) ,
  SD_RAY_PORTAL = (1 << 12) , SD_CLOSURE_FLAGS , SD_HAS_LIGHT_PATH_NODE = (1 << 13) , SD_USE_BUMP_MAP_CORRECTION = (1 << 15) ,
  SD_MIS_FRONT = (1 << 16) , SD_HAS_TRANSPARENT_SHADOW = (1 << 17) , SD_HAS_VOLUME = (1 << 18) , SD_HAS_ONLY_VOLUME = (1 << 19) ,
  SD_HETEROGENEOUS_VOLUME = (1 << 20) , SD_HAS_BSSRDF_BUMP = (1 << 21) , SD_VOLUME_EQUIANGULAR = (1 << 22) , SD_VOLUME_MIS = (1 << 23) ,
  SD_VOLUME_CUBIC = (1 << 24) , SD_HAS_BUMP = (1 << 25) , SD_HAS_DISPLACEMENT = (1 << 26) , SD_HAS_CONSTANT_EMISSION = (1 << 27) ,
  SD_NEED_VOLUME_ATTRIBUTES = (1 << 28) , SD_HAS_EMISSION = (1 << 29) , SD_HAS_RAYTRACE = (1 << 30) , SD_MIS_BACK = (1 << 31) ,
  SD_SHADER_FLAGS
}
enum  ShaderDataObjectFlag {
  SD_OBJECT_HOLDOUT_MASK = (1 << 0) , SD_OBJECT_MOTION = (1 << 1) , SD_OBJECT_TRANSFORM_APPLIED = (1 << 2) , SD_OBJECT_NEGATIVE_SCALE = (1 << 3) ,
  SD_OBJECT_HAS_VOLUME = (1 << 4) , SD_OBJECT_INTERSECTS_VOLUME = (1 << 5) , SD_OBJECT_HAS_VERTEX_MOTION = (1 << 6) , SD_OBJECT_SHADOW_CATCHER = (1 << 7) ,
  SD_OBJECT_HAS_VOLUME_ATTRIBUTES = (1 << 8) , SD_OBJECT_CAUSTICS_CASTER = (1 << 9) , SD_OBJECT_CAUSTICS_RECEIVER = (1 << 10) , SD_OBJECT_HAS_VOLUME_MOTION = (1 << 11) ,
  SD_OBJECT_CAUSTICS = (SD_OBJECT_CAUSTICS_CASTER | SD_OBJECT_CAUSTICS_RECEIVER) , SD_OBJECT_FLAGS
}
enum  KernelBVHLayout {
  BVH_LAYOUT_NONE = 0 , BVH_LAYOUT_BVH2 = (1 << 0) , BVH_LAYOUT_EMBREE = (1 << 1) , BVH_LAYOUT_OPTIX = (1 << 2) ,
  BVH_LAYOUT_MULTI_OPTIX = (1 << 3) , BVH_LAYOUT_MULTI_OPTIX_EMBREE = (1 << 4) , BVH_LAYOUT_METAL = (1 << 5) , BVH_LAYOUT_MULTI_METAL = (1 << 6) ,
  BVH_LAYOUT_MULTI_METAL_EMBREE = (1 << 7) , BVH_LAYOUT_HIPRT = (1 << 8) , BVH_LAYOUT_MULTI_HIPRT = (1 << 9) , BVH_LAYOUT_MULTI_HIPRT_EMBREE = (1 << 10) ,
  BVH_LAYOUT_EMBREEGPU = (1 << 11) , BVH_LAYOUT_MULTI_EMBREEGPU = (1 << 12) , BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE = (1 << 13) , BVH_LAYOUT_AUTO = BVH_LAYOUT_EMBREE ,
  BVH_LAYOUT_ALL
}
enum  LightTreeNodeType : uint8_t { LIGHT_TREE_INSTANCE = (1 << 0) , LIGHT_TREE_INNER = (1 << 1) , LIGHT_TREE_LEAF = (1 << 2) , LIGHT_TREE_DISTANT = (1 << 3) }
enum  DeviceKernel : int {
  DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA = 0 , DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE , DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST , DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW ,
  DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE , DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK , DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT , DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND ,
  DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE ,
  DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME , DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING , DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW , DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT ,
  DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL , DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY ,
  DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS , DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS ,
  DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES , DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY ,
  DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES , DEVICE_KERNEL_INTEGRATOR_RESET , DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS , DEVICE_KERNEL_SHADER_EVAL_DISPLACE ,
  DEVICE_KERNEL_SHADER_EVAL_BACKGROUND , DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY , DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK , DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X ,
  DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y , DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS , DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO , DEVICE_KERNEL_FILTER_COLOR_PREPROCESS ,
  DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS , DEVICE_KERNEL_FILTER_COLOR_FLIP_Y , DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X , DEVICE_KERNEL_VOLUME_GUIDING_FILTER_Y ,
  DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS , DEVICE_KERNEL_PREFIX_SUM , DEVICE_KERNEL_NUM
}
enum  { DEVICE_KERNEL_INTEGRATOR_NUM = DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL + 1 }
using uchar = unsigned char
using uint = unsigned int
using ushort = unsigned short
using device_ptr = uint64_t
using Spectrum = float3
using PackedSpectrum = packed_float3
using dual1 = dual<float>
using dual2 = dual<float2>
using dual3 = dual<float3>
using dual4 = dual<float4>
using ShaderDataTinyStorage = ShaderData
using ShaderDataCausticsStorage = ShaderData

Public Member Functions

CCL_NAMESPACE_BEGIN __forceinline uint32_t __bsf (const uint32_t x)
__forceinline uint32_t __bsr (const uint32_t x)
__forceinline uint32_t __btc (const uint32_t x, const uint32_t bit)
__forceinline uint32_t __bsf (const uint64_t x)
__forceinline uint32_t __bsr (const uint64_t x)
__forceinline uint64_t __btc (const uint64_t x, const uint32_t bit)
__forceinline uint32_t bitscan (const uint32_t value)
__forceinline uint64_t bitscan (const uint64_t value)
ccl_device_inline size_t align_up (const size_t offset, const size_t alignment)
ccl_device_inline size_t divide_up (const size_t x, const size_t y)
ccl_device_inline size_t round_up (const size_t x, const size_t multiple)
ccl_device_inline size_t round_down (const size_t x, const size_t multiple)
ccl_device_inline bool is_power_of_two (const size_t x)
ccl_device_inline void print_float (const ccl_private char *label, const float a)
ccl_device_inline uchar2 make_uchar2 (const uchar x, const uchar y)
ccl_device_inline uchar3 make_uchar3 (const uchar x, const uchar y, uchar z)
ccl_device_inline uchar4 make_uchar4 (const uchar x, const uchar y, uchar z, const uchar w)
ccl_device_inline bool operator== (const uchar4 a, const uchar4 b)
ccl_device_inline int2 make_int2 (const int x, const int y)
ccl_device_inline int2 make_int2 (const int i)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct ccl_try_align (16) int3
ccl_device_inline int3 make_int3 (const int x, const int y, int z)
ccl_device_inline int3 make_int3 (const int i)
ccl_device_inline void print_int3 (const ccl_private char *label, const int3 a)
ccl_device_inline packed_int3 make_packed_int3 (const int x, const int y, int z)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct ccl_try_align (16) int4
ccl_device_inline int4 make_int4 (const int x, const int y, int z, const int w)
ccl_device_inline int4 make_int4 (const int i)
ccl_device_inline int4 zero_int4 ()
ccl_device_inline void print_int4 (const ccl_private char *label, const int4 a)
struct ccl_try_align (32) vint8
ccl_device_inline vint8 make_vint8 (const int a, const int b, int c, const int d, int e, const int f, int g, const int h)
ccl_device_inline vint8 make_vint8 (const int i)
ccl_device_inline vint8 make_vint8 (const int4 a, const int4 b)
ccl_device_inline uint2 make_uint2 (const uint x, const uint y)
ccl_device_inline uint3 make_uint3 (const uint x, const uint y, uint z)
ccl_device_inline packed_uint3 make_packed_uint3 (const uint x, const uint y, uint z)
ccl_device_inline uint4 make_uint4 (const uint x, const uint y, uint z, const uint w)
__forceinline float float2::operator[] (int i) const
__forceinline floatfloat2::operator[] (int i)
ccl_device_inline float2 make_float2 (const float x, const float y)
ccl_device_inline float2 make_float2 (const float f)
ccl_device_inline float2 make_float2 (const int2 i)
ccl_device_inline int2 make_int2 (const float2 f)
ccl_device_inline void print_float2 (const ccl_private char *label, const float2 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct ccl_try_align (16) float3
ccl_device_inline float3 make_float3 (const float x, const float y, float z)
ccl_device_inline float3 make_float3 (const float f)
ccl_device_inline float3 make_float3 (const float2 a)
ccl_device_inline float3 make_float3 (const float2 a, const float b)
ccl_device_inline float3 make_float3 (const int3 i)
ccl_device_inline float3 make_float3 (const float3 a)
ccl_device_inline void print_float3 (const ccl_private char *label, const float3 a)
ccl_device_inline float2 make_float2 (const float3 a)
ccl_device_inline int4 make_int4 (const float3 f)
ccl_device_inline int3 make_int3 (const float3 f)
struct ccl_try_align (16) float4
ccl_device_inline float4 make_float4 (const float x, const float y, float z, const float w)
ccl_device_inline float4 make_float4 (const float f)
ccl_device_inline float4 make_float4 (const float3 a, const float b)
ccl_device_inline float4 make_float4 (const float3 a)
ccl_device_inline float4 make_homogeneous (const float3 a)
ccl_device_inline float4 make_float4 (const int4 i)
ccl_device_inline float3 make_float3 (const float4 a)
ccl_device_inline int4 make_int4 (const float4 f)
ccl_device_inline void print_float4 (const ccl_private char *label, const float4 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct ccl_try_align (32) vfloat8
ccl_device_inline vfloat8 make_vfloat8 (const float f)
ccl_device_inline vfloat8 make_vfloat8 (const float a, const float b, float c, const float d, float e, const float f, float g, const float h)
ccl_device_inline vfloat8 make_vfloat8 (const float4 a, const float4 b)
ccl_device_inline void print_vfloat8 (const ccl_private char *label, const vfloat8 a)
ccl_device_inline vint8 make_vint8 (const vfloat8 f)
ccl_device_inline int abs (const int x)
ccl_device_inline int max (const int a, const int b)
ccl_device_inline int min (const int a, const int b)
ccl_device_inline uint32_t max (const uint32_t a, const uint32_t b)
ccl_device_inline uint32_t min (const uint32_t a, const uint32_t b)
ccl_device_inline uint64_t max (const uint64_t a, const uint64_t b)
ccl_device_inline uint64_t min (const uint64_t a, const uint64_t b)
template<class T>
ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, Tmax (T a, T b)
template<class T>
ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, Tmin (T a, T b)
ccl_device_inline float max (const float a, const float b)
ccl_device_inline float min (const float a, const float b)
ccl_device_inline double max (const double a, const double b)
ccl_device_inline double min (const double a, const double b)
template<typename T>
ccl_device_inline T min4 (const T &a, const T &b, const T &c, const T &d)
template<typename T>
ccl_device_inline T max4 (const T &a, const T &b, const T &c, const T &d)
ccl_device_inline float min4 (const float a, const float b, float c, const float d)
ccl_device_inline float max4 (const float a, const float b, float c, const float d)
template<typename T>
ccl_device_inline T make_zero ()
ccl_device_template_spec float make_zero ()
ccl_device_inline int as_int (const uint i)
ccl_device_inline uint as_uint (const int i)
ccl_device_inline uint as_uint (const float f)
ccl_device_inline int __float_as_int (const float f)
ccl_device_inline float __int_as_float (const int i)
ccl_device_inline uint __float_as_uint (const float f)
ccl_device_inline float __uint_as_float (const uint i)
template<typename T>
ccl_device_inline uint pointer_pack_to_uint_0 (T *ptr)
template<typename T>
ccl_device_inline uint pointer_pack_to_uint_1 (T *ptr)
template<typename T>
ccl_device_inline Tpointer_unpack_from_uint (const uint a, const uint b)
ccl_device_inline uint uint16_pack_to_uint (const uint a, const uint b)
ccl_device_inline uint uint16_unpack_from_uint_0 (const uint i)
ccl_device_inline uint uint16_unpack_from_uint_1 (const uint i)
ccl_device_inline bool isnan_safe (const float f)
ccl_device_inline bool isfinite_safe (const float f)
ccl_device_inline float ensure_finite (const float v)
ccl_device_inline int clamp (const int a, const int mn, const int mx)
ccl_device_inline float clamp (const float a, const float mn, const float mx)
ccl_device_inline float mix (const float a, const float b, float t)
ccl_device_inline float smoothstep (const float edge0, const float edge1, const float x)
ccl_device_inline float saturatef (const float a)
ccl_device_inline int float_to_int (const float f)
ccl_device_inline int floor_to_int (const float f)
ccl_device_inline float floorfrac (const float x, ccl_private int *i)
ccl_device_inline int ceil_to_int (const float f)
ccl_device_inline float fractf (const float x)
ccl_device_inline float wrapf (const float value, const float max, const float min)
ccl_device_inline float pingpongf (const float a, const float b)
ccl_device_inline float smoothminf (const float a, const float b, float k)
ccl_device_inline float signf (const float f)
ccl_device_inline float nonzerof (const float f, const float eps)
ccl_device_inline float compatible_atan2 (const float y, const float x)
ccl_device_inline float compatible_signf (const float f)
ccl_device_inline float smoothstepf (const float f)
ccl_device_inline int mod (const int x, const int m)
ccl_device_inline float interp (const float a, const float b, const float t)
ccl_device_inline float inverse_lerp (const float a, const float b, const float x)
ccl_device_inline float cubic_interp (const float a, const float b, float c, const float d, float x)
ccl_device_inline float safe_sqrtf (const float f)
ccl_device_inline float inversesqrtf (const float f)
ccl_device float safe_asinf (const float a)
ccl_device float safe_acosf (const float a)
ccl_device float compatible_powf (const float x, const float y)
ccl_device float safe_powf (const float a, const float b)
ccl_device float safe_divide (const float a, const float b)
ccl_device float safe_logf (const float a, const float b)
ccl_device float safe_modulo (const float a, const float b)
ccl_device float safe_floored_modulo (const float a, const float b)
ccl_device_inline float sqr (const float a)
ccl_device_inline float sin_from_cos (const float c)
ccl_device_inline float cos_from_sin (const float s)
ccl_device_inline float sin_sqr_to_one_minus_cos (const float s_sq)
ccl_device_inline float one_minus_cos (const float angle)
ccl_device_inline int power_of_2 (const int a)
ccl_device_inline float pow20 (const float a)
ccl_device_inline float pow22 (const float a)
ccl_device_inline float beta (const float x, const float y)
ccl_device_inline float xor_mask (const float x, const uint y)
ccl_device_inline float or_mask (const float x, const uint y)
ccl_device float bits_to_01 (const uint bits)
ccl_device_inline uint popcount (const uint x)
ccl_device_inline uint count_leading_zeros (const uint x)
ccl_device_inline uint count_trailing_zeros (const uint x)
ccl_device_inline uint find_first_set (const uint x)
ccl_device_inline bool compare_floats (const float a, const float b, float abs_diff, const int ulp_diff)
ccl_device_inline uint next_power_of_two (const uint x)
ccl_device_inline uint prev_power_of_two (const uint x)
ccl_device_inline uint32_t reverse_integer_bits (uint32_t x)
ccl_device_inline bool solve_quadratic (const float a, const float b, const float c, ccl_private float &x1, ccl_private float &x2)
template<typename T1, typename T2>
ccl_device_inline Interval< T1operator/= (ccl_private Interval< T1 > &interval, const T2 f)
template<typename T>
ccl_device_inline Interval< Tintervals_intersection (const ccl_private Interval< T > &first, const ccl_private Interval< T > &second)
template<typename T>
ccl_device_inline Extrema< Toperator* (const Extrema< T > a, const T b)
template<typename T>
ccl_device_inline Extrema< Toperator+ (const ccl_private Extrema< T > &a, const ccl_private Extrema< T > &b)
template<typename T>
ccl_device_inline Extrema< Toperator+= (ccl_private Extrema< T > &a, const ccl_private Extrema< T > &b)
template<typename T>
ccl_device_inline Extrema< Tmerge (const ccl_private Extrema< T > &a, const ccl_private Extrema< T > &b)
template<typename T>
ccl_device_inline Extrema< Tmerge (const ccl_private Extrema< T > &a, const ccl_private T &v)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float4 zero_float4 ()
ccl_device_inline float4 one_float4 ()
ccl_device_template_spec float4 make_zero ()
ccl_device_inline int4 cast (const float4 a)
ccl_device_inline float4 operator- (const float4 &a)
ccl_device_inline float4 operator* (const float4 a, const float4 b)
ccl_device_inline float4 operator* (const float4 a, const float f)
ccl_device_inline float4 operator* (float f, const float4 a)
ccl_device_inline float4 operator/ (const float4 a, const float f)
ccl_device_inline float4 operator/ (const float4 a, const float4 b)
ccl_device_inline float4 operator+ (const float4 a, const float4 b)
ccl_device_inline float4 operator+ (const float4 a, const float f)
ccl_device_inline float4 operator- (const float4 a, const float4 b)
ccl_device_inline float4 operator- (const float4 a, const float f)
ccl_device_inline float4 operator+= (float4 &a, const float4 b)
ccl_device_inline float4 operator-= (float4 &a, const float4 b)
ccl_device_inline float4 operator*= (float4 &a, const float4 b)
ccl_device_inline float4 operator*= (float4 &a, const float f)
ccl_device_inline float4 operator/= (float4 &a, const float4 b)
ccl_device_inline float4 operator/= (float4 &a, const float f)
ccl_device_inline int4 operator< (const float4 a, const float4 b)
ccl_device_inline int4 operator>= (const float4 a, const float4 b)
ccl_device_inline int4 operator<= (const float4 a, const float4 b)
ccl_device_inline bool operator== (const float4 a, const float4 b)
ccl_device_inline float4 operator^ (const float4 a, const float4 b)
ccl_device_inline float4 min (const float4 a, const float4 b)
ccl_device_inline float4 max (const float4 a, const float4 b)
ccl_device_inline float4 clamp (const float4 a, const float4 mn, const float4 mx)
ccl_device_inline float4 madd (const float4 a, const float4 b, const float4 c)
ccl_device_inline float4 msub (const float4 a, const float4 b, const float4 c)
ccl_device_inline float reduce_add (const float4 a)
ccl_device_inline float reduce_min (const float4 a)
ccl_device_inline float reduce_max (const float4 a)
ccl_device_inline float dot (const float4 a, const float4 b)
ccl_device_inline float len (const float4 a)
ccl_device_inline float len_squared (const float4 a)
ccl_device_inline float4 sqr (const float4 a)
ccl_device_inline float distance (const float4 a, const float4 b)
ccl_device_inline float4 sqrt (const float4 a)
ccl_device_inline float4 cross (const float4 a, const float4 b)
ccl_device_inline bool is_zero (const float4 a)
ccl_device_inline float average (const float4 a)
ccl_device_inline float4 normalize (const float4 a)
ccl_device_inline float4 safe_normalize (const float4 a)
ccl_device_inline float4 fabs (const float4 a)
ccl_device_inline float4 fmod (const float4 a, const float b)
ccl_device_inline float4 floor (const float4 a)
ccl_device_inline float4 floorfrac (const float4 x, ccl_private int4 *i)
ccl_device_inline float4 mix (const float4 a, const float4 b, const float t)
ccl_device_inline float4 mix (const float4 a, const float4 b, const float4 t)
ccl_device_inline float4 saturate (const float4 a)
ccl_device_inline float4 exp (const float4 v)
ccl_device_inline float4 log (const float4 v)
ccl_device_inline bool isequal (const float4 a, const float4 b)
template<class MaskType>
ccl_device_inline float4 select (const MaskType mask, const float4 a, const float4 b)
template<class MaskType>
ccl_device_inline float4 mask (const MaskType mask, const float4 a)
ccl_device_inline float4 load_float4 (const ccl_private float *v)
ccl_device_inline float4 safe_divide (const float4 a, const float b)
ccl_device_inline float4 safe_divide (const float4 a, const float4 b)
ccl_device_inline bool isfinite_safe (const float4 v)
ccl_device_inline float4 ensure_finite (const float4 v)
ccl_device_inline float4 power (const float4 v, const float e)
ccl_device_inline float4 interp (float4 a, float4 b, float t)
ccl_device_inline int4 __float4_as_int4 (const float4 f)
ccl_device_inline float4 __int4_as_float4 (const int4 i)
ccl_device_inline void copy_v4_v4 (ccl_private float *r, const float4 val)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3 ()
ccl_device_inline float3 one_float3 ()
ccl_device_template_spec float3 make_zero ()
ccl_device_inline float3 reciprocal (const float3 a)
ccl_device_inline float3 operator- (const float3 &a)
ccl_device_inline float3 operator* (const float3 a, const float3 b)
ccl_device_inline float3 operator* (const float3 a, const float f)
ccl_device_inline float3 operator* (const float f, const float3 a)
ccl_device_inline float3 operator/ (const float f, const float3 a)
ccl_device_inline float3 operator/ (const float3 a, const float f)
ccl_device_inline float3 operator/ (const float3 a, const float3 b)
ccl_device_inline float3 operator+ (const float3 a, const float3 b)
ccl_device_inline float3 operator+ (const float3 a, const float b)
ccl_device_inline float3 operator+ (const float a, const float3 b)
ccl_device_inline float3 operator- (const float3 a, const float3 b)
ccl_device_inline float3 operator- (const float3 a, const float b)
ccl_device_inline float3 operator- (const float a, const float3 b)
ccl_device_inline float3 operator+= (float3 &a, const float3 b)
ccl_device_inline float3 operator-= (float3 &a, const float3 b)
ccl_device_inline float3 operator*= (float3 &a, const float3 b)
ccl_device_inline float3 operator*= (float3 &a, const float f)
ccl_device_inline float3 operator/= (float3 &a, const float3 b)
ccl_device_inline float3 operator/= (float3 &a, const float f)
ccl_device_inline packed_float3 operator*= (packed_float3 &a, const float3 b)
ccl_device_inline packed_float3 operator*= (packed_float3 &a, const float f)
ccl_device_inline packed_float3 operator/= (packed_float3 &a, const float3 b)
ccl_device_inline packed_float3 operator/= (packed_float3 &a, const float f)
ccl_device_inline packed_float3 operator+= (packed_float3 &a, const float3 b)
ccl_device_inline bool operator== (const float3 a, const float3 b)
ccl_device_inline int3 operator== (const float3 a, const float b)
ccl_device_inline bool operator!= (const float3 a, const float3 b)
ccl_device_inline int3 operator>= (const float3 a, const float3 b)
ccl_device_inline int3 operator< (const float3 a, const float3 b)
ccl_device_inline float dot (const float3 a, const float3 b)
ccl_device_inline int3 operator> (const float3 a, const float3 b)
ccl_device_inline int3 operator> (const float3 a, const float b)
ccl_device_inline float dot_xy (const float3 a, const float3 b)
ccl_device_inline float len (const float3 a)
ccl_device_inline float reduce_min (const float3 a)
ccl_device_inline float reduce_max (const float3 a)
ccl_device_inline float len_squared (const float3 a)
ccl_device_inline float distance (const float3 a, const float3 b)
ccl_device_inline float3 cross (const float3 a, const float3 b)
ccl_device_inline float3 normalize (const float3 a)
ccl_device_inline float3 min (const float3 a, const float3 b)
ccl_device_inline float3 max (const float3 a, const float3 b)
ccl_device_inline float3 clamp (const float3 a, const float3 mn, const float3 mx)
ccl_device_inline float3 fabs (const float3 a)
ccl_device_inline float3 fmod (const float3 a, const float b)
ccl_device_inline float3 fmod (const float3 a, const float3 b)
ccl_device_inline float3 sqrt (const float3 a)
ccl_device_inline float3 round (const float3 a)
ccl_device_inline float3 floor (const float3 a)
ccl_device_inline float3 ceil (const float3 a)
ccl_device_inline float3 mix (const float3 a, const float3 b, const float t)
ccl_device_inline float3 mix (const float3 a, const float3 b, const float3 t)
ccl_device_inline float3 saturate (const float3 a)
ccl_device_inline float3 exp (const float3 v)
ccl_device_inline float3 log (const float3 v)
ccl_device_inline float3 sin (const float3 v)
ccl_device_inline float3 cos (const float3 v)
ccl_device_inline float3 tan (const float3 v)
ccl_device_inline float3 atan2 (const float3 y, const float3 x)
ccl_device_inline float3 reflect (const float3 incident, const float3 unit_normal)
ccl_device_inline float3 refract (const float3 incident, const float3 normal, const float eta)
ccl_device_inline float3 faceforward (const float3 vector, const float3 incident, const float3 reference)
ccl_device_inline float3 safe_sqrt (const float3 a)
ccl_device_inline float3 project (const float3 v, const float3 v_proj)
ccl_device_inline float3 normalize_len (const float3 a, ccl_private float *t)
ccl_device_inline float3 safe_normalize (const float3 a)
ccl_device_inline float3 safe_normalize_fallback (const float3 a, const float3 fallback)
ccl_device_inline float3 safe_normalize_len (const float3 a, ccl_private float *t)
ccl_device_inline float3 safe_divide (const float3 a, const float3 b)
ccl_device_inline float3 safe_divide (const float3 a, const float b)
ccl_device_inline float3 interp (const float3 a, const float3 b, const float t)
ccl_device_inline float3 sqr (const float3 a)
ccl_device_inline bool is_zero (const float3 a)
ccl_device_inline bool any_zero (const float3 a)
ccl_device_inline float reduce_add (const float3 a)
ccl_device_inline float average (const float3 a)
ccl_device_inline bool isequal (const float3 a, const float3 b)
template<class MaskType>
ccl_device_inline float3 select (const MaskType mask, const float3 a, const float3 b)
template<class MaskType>
ccl_device_inline float3 mask (const MaskType mask, const float3 a)
ccl_device_inline float3 power (const float3 v, const float e)
ccl_device_inline float3 safe_pow (const float3 a, const float3 b)
ccl_device_inline auto isequal_mask (const float3 a, const float3 b)
ccl_device_inline auto is_zero_mask (const float3 a)
ccl_device_inline float3 safe_floored_fmod (const float3 a, const float3 b)
ccl_device_inline float3 wrap (const float3 value, const float3 max, const float3 min)
ccl_device_inline float3 safe_fmod (const float3 a, const float3 b)
ccl_device_inline float3 compatible_sign (const float3 v)
ccl_device_inline bool isfinite_safe (const float3 v)
ccl_device_inline float3 ensure_finite (const float3 v)
ccl_device_inline float triangle_area (const ccl_private float3 &v1, const ccl_private float3 &v2, const ccl_private float3 &v3)
ccl_device_inline void make_orthonormals (const float3 N, ccl_private float3 *a, ccl_private float3 *b)
ccl_device_inline float3 rotate_around_axis (const float3 p, const float3 axis, const float angle)
ccl_device_inline float precise_angle (const float3 a, const float3 b)
ccl_device_inline float tan_angle (const float3 a, const float3 b)
ccl_device_inline float2 map_to_tube (const float3 co)
ccl_device_inline float2 map_to_sphere (const float3 co)
ccl_device_inline void copy_v3_v3 (ccl_private float *r, const float3 val)
ccl_device_inline uint3 float3_as_uint3 (const float3 f)
ccl_device_inline float3 uint3_as_float3 (const uint3 f)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int4 operator+ (const int4 a, const int4 b)
ccl_device_inline int4 operator+= (int4 &a, const int4 b)
ccl_device_inline int4 operator- (const int4 a, const int4 b)
ccl_device_inline int4 operator-= (int4 &a, const int4 b)
ccl_device_inline int4 operator* (const int4 a, const int4 b)
ccl_device_inline int4 operator>> (const int4 a, const int i)
ccl_device_inline int4 operator<< (const int4 a, const int i)
ccl_device_inline int4 operator< (const int4 a, const int4 b)
ccl_device_inline int4 operator< (const int4 a, const int b)
ccl_device_inline int4 operator== (const int4 a, const int4 b)
ccl_device_inline int4 operator== (const int4 a, const int b)
ccl_device_inline int4 operator>= (const int4 a, const int4 b)
ccl_device_inline int4 operator>= (const int4 a, const int b)
ccl_device_inline int4 operator& (const int4 a, const int4 b)
ccl_device_inline int4 operator| (const int4 a, const int4 b)
ccl_device_inline int4 operator^ (const int4 a, const int4 b)
ccl_device_inline int4 operator& (const int32_t a, const int4 b)
ccl_device_inline int4 operator& (const int4 a, const int32_t b)
ccl_device_inline int4 operator| (const int32_t a, const int4 b)
ccl_device_inline int4 operator| (const int4 a, const int32_t b)
ccl_device_inline int4 operator^ (const int32_t a, const int4 b)
ccl_device_inline int4 operator^ (const int4 a, const int32_t b)
ccl_device_inline int4operator&= (int4 &a, const int4 b)
ccl_device_inline int4operator&= (int4 &a, const int32_t b)
ccl_device_inline int4operator|= (int4 &a, const int4 b)
ccl_device_inline int4operator|= (int4 &a, const int32_t b)
ccl_device_inline int4operator^= (int4 &a, const int4 b)
ccl_device_inline int4operator^= (int4 &a, const int32_t b)
ccl_device_inline int4operator<<= (int4 &a, const int32_t b)
ccl_device_inline int4operator>>= (int4 &a, const int32_t b)
ccl_device_inline int4 min (const int4 a, const int4 b)
ccl_device_inline int4 max (const int4 a, const int4 b)
ccl_device_inline int4 clamp (const int4 a, const int4 mn, const int4 mx)
ccl_device_inline int4 select (const int4 mask, const int4 a, const int4 b)
ccl_device_inline int4 load_int4 (const int *v)
ccl_device_inline float4 cast (const int4 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float madd (const float a, const float b, const float c)
ccl_device_inline float4 madd4 (const float4 a, const float4 b, const float4 c)
ccl_device_inline int fast_rint (const float x)
ccl_device float fast_sinf (float x)
ccl_device float fast_cosf (float x)
ccl_device void fast_sincosf (float x, ccl_private float *sine, ccl_private float *cosine)
ccl_device float fast_tanf (float x)
ccl_device float fast_sinpif (const float x)
ccl_device_inline float fast_cospif (const float x)
ccl_device float fast_acosf (const float x)
ccl_device float fast_asinf (const float x)
ccl_device float fast_atanf (const float x)
ccl_device float fast_atan2f (const float y, const float x)
ccl_device_inline float vector_angle (const float3 a, const float3 b)
ccl_device_inline int floor_log2f (const float x)
ccl_device float fast_log2f (float x)
ccl_device_inline float fast_logf (const float x)
ccl_device_inline float fast_log10 (const float x)
ccl_device float fast_logb (float x)
ccl_device float fast_exp2f (float x)
ccl_device_inline float fast_expf (const float x)
ccl_device float4 fast_exp2f4 (float4 x)
ccl_device_inline float4 fast_expf4 (const float4 x)
ccl_device_inline float fast_exp10 (const float x)
ccl_device_inline float fast_expm1f (float x)
ccl_device float fast_sinhf (const float x)
ccl_device_inline float fast_coshf (const float x)
ccl_device_inline float fast_tanhf (const float x)
ccl_device float fast_safe_powf (const float x, const float y)
ccl_device_inline float fast_erff (const float x)
ccl_device_inline float fast_erfcf (const float x)
ccl_device_inline float fast_ierff (const float x)
ccl_device_inline float fast_inv_cbrtf (const float x)
ccl_device RGBE rgb_to_rgbe (float3 rgb)
ccl_device_inline float3 rgbe_to_rgb (const RGBE rgbe)
template<class T>
ccl_device_inline dual3 make_float3 (const ccl_private dual< T > &a)
ccl_device_inline dual3 make_float3 (const dual1 a, const dual1 b, const dual1 c)
ccl_device_inline dual4 make_float4 (const dual3 a)
ccl_device_inline dual4 make_homogeneous (const dual3 a)
ccl_device_inline void print_dual1 (const ccl_private char *label, const dual1 a)
ccl_device_inline void print_dual2 (const ccl_private char *label, const dual2 a)
ccl_device_inline void print_dual3 (const ccl_private char *label, const dual3 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline bool operator== (const int2 a, const int2 b)
ccl_device_inline int2 operator+ (const int2 &a, const int2 &b)
ccl_device_inline int2 operator+= (int2 &a, const int2 &b)
ccl_device_inline int2 operator- (const int2 &a, const int2 &b)
ccl_device_inline int2 operator* (const int2 &a, const int2 &b)
ccl_device_inline int2 operator/ (const int2 &a, const int2 &b)
ccl_device_inline int2 operator>> (const int2 a, const int i)
ccl_device_inline int2 operator& (const int2 a, const int2 b)
ccl_device_inline int2 operator^ (const int2 a, const int2 b)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int3 min (const int3 a, const int3 b)
ccl_device_inline int3 max (const int3 a, const int3 b)
ccl_device_inline int3 clamp (const int3 a, const int mn, const int mx)
ccl_device_inline int3 clamp (const int3 a, int3 &mn, const int mx)
ccl_device_inline bool operator== (const int3 a, const int3 b)
ccl_device_inline bool operator!= (const int3 a, const int3 b)
ccl_device_inline bool operator< (const int3 a, const int3 b)
ccl_device_inline int3 operator+ (const int3 a, const int3 b)
ccl_device_inline int3 operator- (const int3 a, const int3 b)
ccl_device_inline int3 operator>> (const int3 a, const int i)
ccl_device_inline int3 operator* (const int3 a, const int3 b)
ccl_device_inline int3 operator^ (const int3 a, const int3 b)
ccl_device_inline int3 operator& (const int3 a, const int3 b)
ccl_device_inline int3 operator& (const int3 a, const int b)
ccl_device_inline bool all (const int3 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline vint8 operator+ (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator+= (vint8 &a, const vint8 b)
ccl_device_inline vint8 operator- (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator-= (vint8 &a, const vint8 b)
ccl_device_inline vint8 operator>> (const vint8 a, const int i)
ccl_device_inline vint8 operator<< (const vint8 a, const int i)
ccl_device_inline vint8 operator< (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator< (const vint8 a, const int b)
ccl_device_inline vint8 operator== (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator== (const vint8 a, const int b)
ccl_device_inline vint8 operator>= (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator>= (const vint8 a, const int b)
ccl_device_inline vint8 operator& (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator| (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator^ (const vint8 a, const vint8 b)
ccl_device_inline vint8 operator& (const int32_t a, const vint8 b)
ccl_device_inline vint8 operator& (const vint8 a, const int32_t b)
ccl_device_inline vint8 operator| (const int32_t a, const vint8 b)
ccl_device_inline vint8 operator| (const vint8 a, const int32_t b)
ccl_device_inline vint8 operator^ (const int32_t a, const vint8 b)
ccl_device_inline vint8 operator^ (const vint8 a, const int32_t b)
ccl_device_inline vint8 & operator&= (vint8 &a, const vint8 b)
ccl_device_inline vint8 & operator&= (vint8 &a, const int32_t b)
ccl_device_inline vint8 & operator|= (vint8 &a, const vint8 b)
ccl_device_inline vint8 & operator|= (vint8 &a, const int32_t b)
ccl_device_inline vint8 & operator^= (vint8 &a, const vint8 b)
ccl_device_inline vint8 & operator^= (vint8 &a, const int32_t b)
ccl_device_inline vint8 & operator<<= (vint8 &a, const int32_t b)
ccl_device_inline vint8 & operator>>= (vint8 &a, const int32_t b)
ccl_device_inline vint8 min (vint8 a, vint8 b)
ccl_device_inline vint8 max (vint8 a, vint8 b)
ccl_device_inline vint8 clamp (const vint8 a, const vint8 mn, const vint8 mx)
ccl_device_inline vint8 select (const vint8 mask, const vint8 a, const vint8 b)
ccl_device_inline vint8 load_vint8 (const int *v)
ccl_device_inline vfloat8 cast (const vint8 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float2 zero_float2 ()
ccl_device_inline float2 one_float2 ()
ccl_device_template_spec float2 make_zero ()
ccl_device_inline float2 operator- (const float2 &a)
ccl_device_inline float2 operator* (const float2 a, const float2 b)
ccl_device_inline float2 operator* (const float2 a, const float f)
ccl_device_inline float2 operator* (float f, const float2 a)
ccl_device_inline float2 operator/ (float f, const float2 a)
ccl_device_inline float2 operator/ (const float2 a, const float f)
ccl_device_inline float2 operator/ (const float2 a, const float2 b)
ccl_device_inline float2 operator+ (const float2 a, const float2 b)
ccl_device_inline float2 operator+ (const float2 a, const float f)
ccl_device_inline float2 operator- (const float2 a, const float2 b)
ccl_device_inline float2 operator- (const float2 a, const float f)
ccl_device_inline float2 operator+= (float2 &a, const float2 b)
ccl_device_inline float2 operator*= (float2 &a, const float2 b)
ccl_device_inline float2 operator*= (float2 &a, const float f)
ccl_device_inline float2 operator/= (float2 &a, const float2 b)
ccl_device_inline float2 operator/= (float2 &a, const float f)
ccl_device_inline bool operator== (const float2 a, const float2 b)
ccl_device_inline bool operator!= (const float2 a, const float2 b)
ccl_device_inline int2 operator>= (const float2 a, const float2 b)
ccl_device_inline bool is_zero (const float2 a)
ccl_device_inline float dot (const float2 a, const float2 b)
ccl_device_inline float average (const float2 a)
ccl_device_inline bool isequal (const float2 a, const float2 b)
template<class MaskType>
ccl_device_inline float2 select (const MaskType mask, const float2 a, const float2 b)
template<class MaskType>
ccl_device_inline float2 mask (const MaskType mask, const float2 a)
ccl_device_inline float len (const float2 a)
ccl_device_inline float reduce_min (const float2 a)
ccl_device_inline float reduce_max (const float2 a)
ccl_device_inline float reduce_add (const float2 a)
ccl_device_inline float len_squared (const float2 a)
ccl_device_inline float2 safe_normalize (const float2 a)
ccl_device_inline float distance (const float2 a, const float2 b)
ccl_device_inline float cross (const float2 a, const float2 b)
ccl_device_inline float2 normalize (const float2 a)
ccl_device_inline float2 normalize_len (const float2 a, ccl_private float *t)
ccl_device_inline float2 min (const float2 a, const float2 b)
ccl_device_inline float2 max (const float2 a, const float2 b)
ccl_device_inline float2 clamp (const float2 a, const float2 mn, const float2 mx)
ccl_device_inline float2 fmod (const float2 a, const float b)
ccl_device_inline float2 fabs (const float2 a)
ccl_device_inline float2 as_float2 (const float4 &a)
ccl_device_inline float2 interp (const float2 a, const float2 b, const float t)
ccl_device_inline float2 mix (const float2 a, const float2 b, const float t)
ccl_device_inline float2 floor (const float2 a)
ccl_device_inline float2 power (const float2 v, const float e)
ccl_device_inline float2 safe_divide_float2_float (const float2 a, const float b)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline vfloat8 zero_vfloat8 ()
ccl_device_inline vfloat8 one_vfloat8 ()
ccl_device_inline vfloat8 operator+ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator+ (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator+ (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator- (const vfloat8 a)
ccl_device_inline vfloat8 operator- (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator- (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator- (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator* (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator* (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator* (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator/ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator/ (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator/ (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator+= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator-= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator*= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator*= (vfloat8 a, const float f)
ccl_device_inline vfloat8 operator/= (vfloat8 a, const float f)
ccl_device_inline bool operator== (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator^ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 sqrt (const vfloat8 a)
ccl_device_inline vfloat8 sqr (const vfloat8 a)
ccl_device_inline bool is_zero (const vfloat8 a)
ccl_device_inline float reduce_add (const vfloat8 a)
ccl_device_inline float average (const vfloat8 a)
ccl_device_inline vfloat8 min (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 max (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 clamp (const vfloat8 a, const vfloat8 mn, const vfloat8 mx)
ccl_device_inline vfloat8 select (const vint8 mask, const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 fabs (const vfloat8 a)
ccl_device_inline vfloat8 mix (const vfloat8 a, const vfloat8 b, const float t)
ccl_device_inline vfloat8 mix (const vfloat8 a, const vfloat8 b, vfloat8 t)
ccl_device_inline vfloat8 saturate (const vfloat8 a)
ccl_device_inline vfloat8 exp (vfloat8 v)
ccl_device_inline vfloat8 log (vfloat8 v)
ccl_device_inline float dot (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 pow (vfloat8 v, const float e)
ccl_device_inline float reduce_min (const vfloat8 a)
ccl_device_inline float reduce_max (const vfloat8 a)
ccl_device_inline bool isequal (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 safe_divide (const vfloat8 a, const float b)
ccl_device_inline vfloat8 safe_divide (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 ensure_finite (vfloat8 v)
ccl_device_inline bool isfinite_safe (vfloat8 v)
ccl_device_inline vint8 cast (const vfloat8 a)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_template_spec dual1 make_zero ()
ccl_device_template_spec dual2 make_zero ()
ccl_device_template_spec dual3 make_zero ()
ccl_device_template_spec dual4 make_zero ()
template<class T1, class T2>
ccl_device_inline dual< T1operator* (const dual< T1 > a, T2 b)
template<class T>
ccl_device_inline dual< Toperator- (const ccl_private dual< T > &a)
template<class T>
ccl_device_inline dual1 average (const dual< T > a)
template<class T>
ccl_device_inline dual1 reduce_add (const dual< T > a)
template<class T1, class T2>
ccl_device_inline dual1 dot (const dual< T1 > a, const T2 b)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int4 rect_from_shape (const int x0, const int y0, const int w, int h)
ccl_device_inline int4 rect_expand (const int4 rect, const int d)
ccl_device_inline int4 rect_clip (const int4 a, const int4 b)
ccl_device_inline bool rect_is_valid (const int4 rect)
ccl_device_inline int coord_to_local_index (const int4 rect, const int x, int y)
ccl_device_inline bool local_index_to_coord (const int4 rect, const int idx, ccl_private int *x, ccl_private int *y)
ccl_device_inline int rect_size (const int4 rect)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN int system_console_width ()
std::string system_cpu_brand_string ()
int system_cpu_bits ()
bool system_cpu_support_sse42 ()
bool system_cpu_support_avx2 ()
size_t system_physical_ram ()
uint64_t system_self_process_id ()
ccl_device_inline float3 transform_point (const ccl_private Transform *t, const float3 a)
ccl_device_inline dual3 transform_point (const ccl_private Transform *t, const dual3 a)
ccl_device_inline float3 transform_direction (const ccl_private Transform *t, const float3 a)
ccl_device_inline float3 transform_direction_transposed (const ccl_private Transform *t, const float3 a)
ccl_device_inline Transform make_transform (const float a, const float b, const float c, const float d, const float e, const float f, const float g, const float h, const float i, const float j, const float k, const float l)
ccl_device_inline Transform make_transform (const float3 x, const float3 y, const float3 z)
ccl_device_inline Transform euler_to_transform (const float3 euler)
ccl_device_inline Transform make_transform_frame (const float3 N)
ccl_device_inline Transform operator* (const Transform a, const Transform b)
ccl_device_inline Transform transform_zero ()
ccl_device_inline void print_transform (const char *label, const Transform &t)
ccl_device_inline Transform transform_translate (const float3 t)
ccl_device_inline Transform transform_translate (const float x, const float y, float z)
ccl_device_inline Transform transform_scale (const float3 s)
ccl_device_inline Transform transform_scale (const float x, const float y, float z)
ccl_device_inline Transform transform_rotate (const float angle, float3 axis)
ccl_device_inline Transform transform_euler (const float3 euler)
ccl_device_inline Transform transform_identity ()
ccl_device_inline bool operator== (const Transform &A, const Transform &B)
ccl_device_inline bool operator!= (const Transform &A, const Transform &B)
ccl_device_inline bool transform_equal_threshold (const Transform &A, const Transform &B, const float threshold)
ccl_device_inline float3 transform_get_column (const Transform *t, const int column)
ccl_device_inline void transform_set_column (Transform *t, const int column, const float3 value)
Transform transform_transposed_inverse (const Transform &tfm)
ccl_device_inline bool transform_uniform_scale (const Transform &tfm, float &scale)
ccl_device_inline bool transform_negative_scale (const Transform &tfm)
ccl_device_inline Transform transform_clear_scale (const Transform &tfm)
ccl_device_inline Transform transform_empty ()
ccl_device_inline float4 quat_interpolate (const float4 q1, const float4 q2, const float t)
void transform_inverse_cpu_avx2 (const Transform &tfm, Transform &itfm)
ccl_device_forceinline float3 transform_inverse_cross (const float3 a_, const float3 b_)
ccl_device_forceinline float transform_inverse_dot (const float3 a_, const float3 b_)
ccl_device_forceinline Transform transform_inverse_impl (const Transform tfm)
ccl_device_inline Transform transform_inverse (const Transform tfm)
ccl_device_inline void transform_compose (ccl_private Transform *tfm, const ccl_private DecomposedTransform *decomp)
ccl_device void transform_motion_array_interpolate (ccl_private Transform *tfm, const ccl_global DecomposedTransform *motion, const uint numsteps, const float time)
ccl_device_inline bool transform_isfinite_safe (ccl_private Transform *tfm)
ccl_device_inline bool transform_decomposed_isfinite_safe (ccl_private DecomposedTransform *decomp)
ccl_device_inline bool operator== (const DecomposedTransform &A, const DecomposedTransform &B)
float4 transform_to_quat (const Transform &tfm)
void transform_motion_decompose (DecomposedTransform *decomp, const Transform *motion, const size_t size)
Transform transform_from_viewplane (BoundBox2D &viewplane)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device float2 direction_to_spherical (const float3 dir)
ccl_device float3 spherical_to_direction (const float theta, const float phi)
ccl_device float3 spherical_cos_to_direction (const float cos_theta, const float phi)
ccl_device_inline float2 polar_to_cartesian (const float r, const float phi)
template<class T>
ccl_device_inline T to_global (const float2 p, const T X, const T Y)
template<class T>
ccl_device_inline T to_global (const float3 p, const T X, const T Y, const T Z)
template<class T>
ccl_device_inline float2 to_local (const T p, const T X, const T Y)
template<class T>
ccl_device_inline float3 to_local (const T p, const T X, const T Y, const T Z)
ccl_device_inline float3 disk_to_hemisphere (const float2 p)
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_forceinline bool projection_inverse_impl (ccl_private float R[4][4], ccl_private float M[4][4])
CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float3 transform_perspective (const ccl_private ProjectionTransform *t, const float3 a)
ccl_device_inline float3 transform_perspective_direction (const ccl_private ProjectionTransform *t, const float3 a)
ccl_device_inline float3 transform_perspective_deriv (const ccl_private ProjectionTransform *t, const float3 a, const float3 dx, const float3 dy, ccl_private float3 &out_dx, ccl_private float3 &out_dy)
ccl_device_inline ProjectionTransform make_projection (const float a, const float b, const float c, const float d, const float e, const float f, const float g, const float h, const float i, const float j, const float k, const float l, const float m, const float n, const float o, const float p)
ccl_device_inline ProjectionTransform projection_identity ()
ccl_device_inline Transform projection_to_transform (const ProjectionTransform &a)
ccl_device_inline ProjectionTransform projection_transpose (const ProjectionTransform a)
ccl_device_inline ProjectionTransform projection_inverse (const ProjectionTransform tfm)
ccl_device_inline ProjectionTransform operator* (const ProjectionTransform a, const ProjectionTransform b)
ccl_device_inline ProjectionTransform operator* (const ProjectionTransform &a, const Transform &b)
ccl_device_inline ProjectionTransform operator* (const Transform &a, const ProjectionTransform &b)
ccl_device_inline void print_projection (const char *label, const ProjectionTransform &t)
ccl_device_inline ProjectionTransform projection_perspective (const float fov, const float n, float f)
ccl_device_inline ProjectionTransform projection_orthographic (const float znear, const float zfar)
struct ccl_align (16) ShaderClosure
struct ccl_align (16) ShaderData
 static_assert_align (KernelCamera, 16)
 static_assert_align (KernelFilmConvert, 16)
 static_assert_align (KernelTables, 16)
 static_assert_align (KernelBake, 16)
struct ccl_align (16) KernelData
 static_assert_align (KernelData, 16)
 static_assert_align (KernelObject, 16)
 static_assert_align (KernelCurve, 16)
 static_assert_align (KernelCurveSegment, 8)
 static_assert_align (KernelLight, 16)
 static_assert_align (KernelLightDistribution, 16)
 static_assert_align (KernelLightTreeNode, 16)
 static_assert_align (KernelLightTreeEmitter, 16)
 static_assert_align (KernelParticle, 16)
 static_assert_align (KernelShader, 16)
 static_assert_align (KernelShaderEvalInput, 16)

Public Attributes

CCL_NAMESPACE_END KernelData data = {}
ProfilingState profiler

Detailed Description

Definition at line 42 of file device/cpu/globals.h.

Member Typedef Documentation

◆ device_ptr

Definition at line 44 of file device/cpu/globals.h.

◆ dual1

Definition at line 56 of file device/cpu/globals.h.

◆ dual2

Definition at line 57 of file device/cpu/globals.h.

◆ dual3

Definition at line 58 of file device/cpu/globals.h.

◆ dual4

Definition at line 59 of file device/cpu/globals.h.

◆ PackedSpectrum

◆ ShaderDataCausticsStorage

Definition at line 1228 of file device/cpu/globals.h.

◆ ShaderDataTinyStorage

Definition at line 1227 of file device/cpu/globals.h.

◆ Spectrum

Definition at line 13 of file device/cpu/globals.h.

◆ uchar

Definition at line 35 of file device/cpu/globals.h.

◆ uint

Definition at line 36 of file device/cpu/globals.h.

◆ ushort

Definition at line 37 of file device/cpu/globals.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEVICE_KERNEL_INTEGRATOR_NUM 

Definition at line 1916 of file device/cpu/globals.h.

◆ AttributeElement

Enumerator
ATTR_ELEMENT_NONE 
ATTR_ELEMENT_OBJECT 
ATTR_ELEMENT_MESH 
ATTR_ELEMENT_FACE 
ATTR_ELEMENT_VERTEX 
ATTR_ELEMENT_VERTEX_MOTION 
ATTR_ELEMENT_CORNER 
ATTR_ELEMENT_CORNER_BYTE 
ATTR_ELEMENT_CURVE 
ATTR_ELEMENT_CURVE_KEY 
ATTR_ELEMENT_CURVE_KEY_MOTION 
ATTR_ELEMENT_VOXEL 

Definition at line 872 of file device/cpu/globals.h.

◆ AttributeFlag

Enumerator
ATTR_SUBDIVIDE_SMOOTH_FVAR 

Definition at line 927 of file device/cpu/globals.h.

◆ AttributePrimitive

Enumerator
ATTR_PRIM_GEOMETRY 
ATTR_PRIM_SUBD 
ATTR_PRIM_TYPES 

Definition at line 865 of file device/cpu/globals.h.

◆ AttributeStandard

Enumerator
ATTR_STD_NONE 
ATTR_STD_VERTEX_NORMAL 
ATTR_STD_UV 
ATTR_STD_UV_TANGENT 
ATTR_STD_UV_TANGENT_SIGN 
ATTR_STD_UV_TANGENT_UNDISPLACED 
ATTR_STD_UV_TANGENT_SIGN_UNDISPLACED 
ATTR_STD_VERTEX_COLOR 
ATTR_STD_GENERATED 
ATTR_STD_GENERATED_TRANSFORM 
ATTR_STD_POSITION_UNDEFORMED 
ATTR_STD_POSITION_UNDISPLACED 
ATTR_STD_NORMAL_UNDISPLACED 
ATTR_STD_MOTION_VERTEX_POSITION 
ATTR_STD_MOTION_VERTEX_NORMAL 
ATTR_STD_PARTICLE 
ATTR_STD_CURVE_INTERCEPT 
ATTR_STD_CURVE_LENGTH 
ATTR_STD_CURVE_RANDOM 
ATTR_STD_POINT_RANDOM 
ATTR_STD_PTEX_FACE_ID 
ATTR_STD_PTEX_UV 
ATTR_STD_VOLUME_DENSITY 
ATTR_STD_VOLUME_COLOR 
ATTR_STD_VOLUME_FLAME 
ATTR_STD_VOLUME_HEAT 
ATTR_STD_VOLUME_TEMPERATURE 
ATTR_STD_VOLUME_VELOCITY 
ATTR_STD_VOLUME_VELOCITY_X 
ATTR_STD_VOLUME_VELOCITY_Y 
ATTR_STD_VOLUME_VELOCITY_Z 
ATTR_STD_POINTINESS 
ATTR_STD_RANDOM_PER_ISLAND 
ATTR_STD_SHADOW_TRANSPARENCY 
ATTR_STD_NUM 
ATTR_STD_NOT_FOUND 

Definition at line 887 of file device/cpu/globals.h.

◆ CameraType

Enumerator
CAMERA_PERSPECTIVE 
CAMERA_ORTHOGRAPHIC 
CAMERA_PANORAMA 
CAMERA_CUSTOM 

Definition at line 674 of file device/cpu/globals.h.

◆ ClosureLabel

Enumerator
LABEL_NONE 
LABEL_TRANSMIT 
LABEL_REFLECT 
LABEL_DIFFUSE 
LABEL_GLOSSY 
LABEL_SINGULAR 
LABEL_TRANSPARENT 
LABEL_VOLUME_SCATTER 
LABEL_TRANSMIT_TRANSPARENT 
LABEL_SUBSURFACE_SCATTER 
LABEL_RAY_PORTAL 

Definition at line 477 of file device/cpu/globals.h.

◆ ClosureType

Enumerator
CLOSURE_NONE_ID 
CLOSURE_BSDF_ID 
CLOSURE_BSDF_DIFFUSE_ID 
CLOSURE_BSDF_OREN_NAYAR_ID 
CLOSURE_BSDF_BURLEY_ID 
CLOSURE_BSDF_DIFFUSE_RAMP_ID 
CLOSURE_BSDF_SHEEN_ID 
CLOSURE_BSDF_DIFFUSE_TOON_ID 
CLOSURE_BSDF_TRANSLUCENT_ID 
CLOSURE_BSDF_PHYSICAL_CONDUCTOR 
CLOSURE_BSDF_F82_CONDUCTOR 
CLOSURE_BSDF_MICROFACET_GGX_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID 
CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID 
CLOSURE_BSDF_ASHIKHMIN_VELVET_ID 
CLOSURE_BSDF_PHONG_RAMP_ID 
CLOSURE_BSDF_GLOSSY_TOON_ID 
CLOSURE_BSDF_HAIR_REFLECTION_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID 
CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID 
CLOSURE_BSDF_HAIR_TRANSMISSION_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID 
CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID 
CLOSURE_BSDF_HAIR_CHIANG_ID 
CLOSURE_BSDF_HAIR_HUANG_ID 
CLOSURE_BSDF_RAY_PORTAL_ID 
CLOSURE_BSDF_TRANSPARENT_ID 
CLOSURE_BSSRDF_BURLEY_ID 
CLOSURE_BSSRDF_RANDOM_WALK_ID 
CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID 
CLOSURE_HOLDOUT_ID 
CLOSURE_VOLUME_ID 
CLOSURE_VOLUME_ABSORPTION_ID 
CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID 
CLOSURE_VOLUME_MIE_ID 
CLOSURE_VOLUME_FOURNIER_FORAND_ID 
CLOSURE_VOLUME_RAYLEIGH_ID 
CLOSURE_VOLUME_DRAINE_ID 
CLOSURE_BSDF_PRINCIPLED_ID 
NBUILTIN_CLOSURES 

Definition at line 416 of file device/cpu/globals.h.

◆ CryptomatteType

Enumerator
CRYPT_NONE 
CRYPT_OBJECT 
CRYPT_MATERIAL 
CRYPT_ASSET 
CRYPT_ACCURATE 

Definition at line 585 of file device/cpu/globals.h.

◆ CurveShapeType

Enumerator
CURVE_RIBBON 
CURVE_THICK 
CURVE_THICK_LINEAR 
CURVE_NUM_SHAPE_TYPES 

Definition at line 855 of file device/cpu/globals.h.

◆ DeviceKernel

Enumerator
DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA 
DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT 
DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND 
DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE 
DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME 
DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING 
DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW 
DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT 
DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL 
DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS 
DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS 
DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES 
DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES 
DEVICE_KERNEL_INTEGRATOR_RESET 
DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS 
DEVICE_KERNEL_SHADER_EVAL_DISPLACE 
DEVICE_KERNEL_SHADER_EVAL_BACKGROUND 
DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY 
DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y 
DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS 
DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO 
DEVICE_KERNEL_FILTER_COLOR_PREPROCESS 
DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS 
DEVICE_KERNEL_FILTER_COLOR_FLIP_Y 
DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X 
DEVICE_KERNEL_VOLUME_GUIDING_FILTER_Y 
DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS 
DEVICE_KERNEL_PREFIX_SUM 
DEVICE_KERNEL_NUM 

Definition at line 1837 of file device/cpu/globals.h.

◆ DirectLightSamplingType

Enumerator
DIRECT_LIGHT_SAMPLING_MIS 
DIRECT_LIGHT_SAMPLING_FORWARD 
DIRECT_LIGHT_SAMPLING_NEE 
DIRECT_LIGHT_SAMPLING_NUM 

Definition at line 703 of file device/cpu/globals.h.

◆ EmissionSampling

Enumerator
EMISSION_SAMPLING_NONE 
EMISSION_SAMPLING_AUTO 
EMISSION_SAMPLING_FRONT 
EMISSION_SAMPLING_BACK 
EMISSION_SAMPLING_FRONT_BACK 
EMISSION_SAMPLING_NUM 

Definition at line 631 of file device/cpu/globals.h.

◆ FilterClosures

Enumerator
FILTER_CLOSURE_EMISSION 
FILTER_CLOSURE_DIFFUSE 
FILTER_CLOSURE_GLOSSY 
FILTER_CLOSURE_TRANSMISSION 
FILTER_CLOSURE_TRANSPARENT 
FILTER_CLOSURE_DIRECT_LIGHT 

Definition at line 601 of file device/cpu/globals.h.

◆ GuidingDirectionalSamplingType

Enumerator
GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS 
GUIDING_DIRECTIONAL_SAMPLING_TYPE_RIS 
GUIDING_DIRECTIONAL_SAMPLING_TYPE_ROUGHNESS 
GUIDING_DIRECTIONAL_SAMPLING_NUM_TYPES 

Definition at line 664 of file device/cpu/globals.h.

◆ GuidingDistributionType

Enumerator
GUIDING_TYPE_PARALLAX_AWARE_VMM 
GUIDING_TYPE_DIRECTIONAL_QUAD_TREE 
GUIDING_TYPE_VMM 
GUIDING_NUM_TYPES 

Definition at line 654 of file device/cpu/globals.h.

◆ KernelBVHLayout

Enumerator
BVH_LAYOUT_NONE 
BVH_LAYOUT_BVH2 
BVH_LAYOUT_EMBREE 
BVH_LAYOUT_OPTIX 
BVH_LAYOUT_MULTI_OPTIX 
BVH_LAYOUT_MULTI_OPTIX_EMBREE 
BVH_LAYOUT_METAL 
BVH_LAYOUT_MULTI_METAL 
BVH_LAYOUT_MULTI_METAL_EMBREE 
BVH_LAYOUT_HIPRT 
BVH_LAYOUT_MULTI_HIPRT 
BVH_LAYOUT_MULTI_HIPRT_EMBREE 
BVH_LAYOUT_EMBREEGPU 
BVH_LAYOUT_MULTI_EMBREEGPU 
BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE 
BVH_LAYOUT_AUTO 
BVH_LAYOUT_ALL 

Definition at line 1404 of file device/cpu/globals.h.

◆ LightTreeNodeType

Enumerator
LIGHT_TREE_INSTANCE 
LIGHT_TREE_INNER 
LIGHT_TREE_LEAF 
LIGHT_TREE_DISTANT 

Definition at line 1651 of file device/cpu/globals.h.

◆ LightType

Enumerator
LIGHT_POINT 
LIGHT_DISTANT 
LIGHT_BACKGROUND 
LIGHT_AREA 
LIGHT_SPOT 
LIGHT_TRIANGLE 

Definition at line 643 of file device/cpu/globals.h.

◆ MotionPosition

Enumerator
MOTION_POSITION_START 
MOTION_POSITION_CENTER 
MOTION_POSITION_END 
MOTION_NUM_POSITIONS 

Definition at line 690 of file device/cpu/globals.h.

◆ NodeAO

Enumerator
NODE_AO_ONLY_LOCAL 
NODE_AO_INSIDE 
NODE_AO_GLOBAL_RADIUS 

Definition at line 382 of file device/cpu/globals.h.

◆ NodeAttributeOutputType

Enumerator
NODE_ATTR_OUTPUT_FLOAT3 
NODE_ATTR_OUTPUT_FLOAT 
NODE_ATTR_OUTPUT_FLOAT_ALPHA 

Definition at line 29 of file device/cpu/globals.h.

◆ NodeAttributeType

Enumerator
NODE_ATTR_FLOAT 
NODE_ATTR_FLOAT2 
NODE_ATTR_FLOAT3 
NODE_ATTR_FLOAT4 
NODE_ATTR_RGBA 
NODE_ATTR_MATRIX 

Definition at line 35 of file device/cpu/globals.h.

◆ NodeBlendWeightType

Enumerator
NODE_LAYER_WEIGHT_FRESNEL 
NODE_LAYER_WEIGHT_FACING 

Definition at line 345 of file device/cpu/globals.h.

◆ NodeBumpOffset

Enumerator
NODE_BUMP_OFFSET_CENTER 
NODE_BUMP_OFFSET_DX 
NODE_BUMP_OFFSET_DY 

Definition at line 376 of file device/cpu/globals.h.

◆ NodeClampType

Enumerator
NODE_CLAMP_MINMAX 
NODE_CLAMP_RANGE 

Definition at line 228 of file device/cpu/globals.h.

◆ NodeCombSepColorType

Enumerator
NODE_COMBSEP_COLOR_RGB 
NODE_COMBSEP_COLOR_HSV 
NODE_COMBSEP_COLOR_HSL 

Definition at line 408 of file device/cpu/globals.h.

◆ NodeConvert

Enumerator
NODE_CONVERT_FV 
NODE_CONVERT_FI 
NODE_CONVERT_CF 
NODE_CONVERT_CI 
NODE_CONVERT_VF 
NODE_CONVERT_VI 
NODE_CONVERT_IF 
NODE_CONVERT_IV 

Definition at line 267 of file device/cpu/globals.h.

◆ NodeEnvironmentProjection

Enumerator
NODE_ENVIRONMENT_EQUIRECTANGULAR 
NODE_ENVIRONMENT_MIRROR_BALL 

Definition at line 371 of file device/cpu/globals.h.

◆ NodeGaborType

Enumerator
NODE_GABOR_TYPE_2D 
NODE_GABOR_TYPE_3D 

Definition at line 286 of file device/cpu/globals.h.

◆ NodeGeometry

Enumerator
NODE_GEOM_P 
NODE_GEOM_N 
NODE_GEOM_T 
NODE_GEOM_I 
NODE_GEOM_Ng 
NODE_GEOM_uv 

Definition at line 44 of file device/cpu/globals.h.

◆ NodeGradientType

Enumerator
NODE_BLEND_LINEAR 
NODE_BLEND_QUADRATIC 
NODE_BLEND_EASING 
NODE_BLEND_DIAGONAL 
NODE_BLEND_RADIAL 
NODE_BLEND_QUADRATIC_SPHERE 
NODE_BLEND_SPHERICAL 

Definition at line 320 of file device/cpu/globals.h.

◆ NodeHairInfo

Enumerator
NODE_INFO_CURVE_IS_STRAND 
NODE_INFO_CURVE_INTERCEPT 
NODE_INFO_CURVE_LENGTH 
NODE_INFO_CURVE_THICKNESS 
NODE_INFO_CURVE_TANGENT_NORMAL 
NODE_INFO_CURVE_RANDOM 

Definition at line 74 of file device/cpu/globals.h.

◆ NodeImageFlags

Enumerator
NODE_IMAGE_COMPRESS_AS_SRGB 
NODE_IMAGE_ALPHA_UNASSOCIATE 

Definition at line 366 of file device/cpu/globals.h.

◆ NodeImageProjection

Enumerator
NODE_IMAGE_PROJ_FLAT 
NODE_IMAGE_PROJ_BOX 
NODE_IMAGE_PROJ_SPHERE 
NODE_IMAGE_PROJ_TUBE 

Definition at line 359 of file device/cpu/globals.h.

◆ NodeLightFalloff

Enumerator
NODE_LIGHT_FALLOFF_QUADRATIC 
NODE_LIGHT_FALLOFF_LINEAR 
NODE_LIGHT_FALLOFF_CONSTANT 

Definition at line 108 of file device/cpu/globals.h.

◆ NodeLightPath

Enumerator
NODE_LP_camera 
NODE_LP_shadow 
NODE_LP_diffuse 
NODE_LP_glossy 
NODE_LP_singular 
NODE_LP_reflection 
NODE_LP_transmission 
NODE_LP_volume_scatter 
NODE_LP_backfacing 
NODE_LP_ray_length 
NODE_LP_ray_depth 
NODE_LP_ray_diffuse 
NODE_LP_ray_glossy 
NODE_LP_ray_transparent 
NODE_LP_ray_transmission 
NODE_LP_ray_portal 

Definition at line 89 of file device/cpu/globals.h.

◆ NodeMappingType

Enumerator
NODE_MAPPING_TYPE_POINT 
NODE_MAPPING_TYPE_TEXTURE 
NODE_MAPPING_TYPE_VECTOR 
NODE_MAPPING_TYPE_NORMAL 

Definition at line 240 of file device/cpu/globals.h.

◆ NodeMapRangeType

Enumerator
NODE_MAP_RANGE_LINEAR 
NODE_MAP_RANGE_STEPPED 
NODE_MAP_RANGE_SMOOTHSTEP 
NODE_MAP_RANGE_SMOOTHERSTEP 

Definition at line 233 of file device/cpu/globals.h.

◆ NodeMathType

Enumerator
NODE_MATH_ADD 
NODE_MATH_SUBTRACT 
NODE_MATH_MULTIPLY 
NODE_MATH_DIVIDE 
NODE_MATH_SINE 
NODE_MATH_COSINE 
NODE_MATH_TANGENT 
NODE_MATH_ARCSINE 
NODE_MATH_ARCCOSINE 
NODE_MATH_ARCTANGENT 
NODE_MATH_POWER 
NODE_MATH_LOGARITHM 
NODE_MATH_MINIMUM 
NODE_MATH_MAXIMUM 
NODE_MATH_ROUND 
NODE_MATH_LESS_THAN 
NODE_MATH_GREATER_THAN 
NODE_MATH_MODULO 
NODE_MATH_ABSOLUTE 
NODE_MATH_ARCTAN2 
NODE_MATH_FLOOR 
NODE_MATH_CEIL 
NODE_MATH_FRACTION 
NODE_MATH_SQRT 
NODE_MATH_INV_SQRT 
NODE_MATH_SIGN 
NODE_MATH_EXPONENT 
NODE_MATH_RADIANS 
NODE_MATH_DEGREES 
NODE_MATH_SINH 
NODE_MATH_COSH 
NODE_MATH_TANH 
NODE_MATH_TRUNC 
NODE_MATH_SNAP 
NODE_MATH_WRAP 
NODE_MATH_COMPARE 
NODE_MATH_MULTIPLY_ADD 
NODE_MATH_PINGPONG 
NODE_MATH_SMOOTH_MIN 
NODE_MATH_SMOOTH_MAX 
NODE_MATH_FLOORED_MODULO 

Definition at line 149 of file device/cpu/globals.h.

◆ NodeMix

Enumerator
NODE_MIX_BLEND 
NODE_MIX_ADD 
NODE_MIX_MUL 
NODE_MIX_SUB 
NODE_MIX_SCREEN 
NODE_MIX_DIV 
NODE_MIX_DIFF 
NODE_MIX_DARK 
NODE_MIX_LIGHT 
NODE_MIX_OVERLAY 
NODE_MIX_DODGE 
NODE_MIX_BURN 
NODE_MIX_HUE 
NODE_MIX_SAT 
NODE_MIX_VAL 
NODE_MIX_COL 
NODE_MIX_SOFT 
NODE_MIX_LINEAR 
NODE_MIX_EXCLUSION 
NODE_MIX_CLAMP 

Definition at line 126 of file device/cpu/globals.h.

◆ NodeNoiseType

Enumerator
NODE_NOISE_MULTIFRACTAL 
NODE_NOISE_FBM 
NODE_NOISE_HYBRID_MULTIFRACTAL 
NODE_NOISE_RIDGED_MULTIFRACTAL 
NODE_NOISE_HETERO_TERRAIN 

Definition at line 278 of file device/cpu/globals.h.

◆ NodeNormalMapSpace

Enumerator
NODE_NORMAL_MAP_TANGENT 
NODE_NORMAL_MAP_OBJECT 
NODE_NORMAL_MAP_WORLD 
NODE_NORMAL_MAP_BLENDER_OBJECT 
NODE_NORMAL_MAP_BLENDER_WORLD 

Definition at line 351 of file device/cpu/globals.h.

◆ NodeObjectInfo

Enumerator
NODE_INFO_OB_LOCATION 
NODE_INFO_OB_COLOR 
NODE_INFO_OB_ALPHA 
NODE_INFO_OB_INDEX 
NODE_INFO_MAT_INDEX 
NODE_INFO_OB_RANDOM 

Definition at line 53 of file device/cpu/globals.h.

◆ NodeParticleInfo

Enumerator
NODE_INFO_PAR_INDEX 
NODE_INFO_PAR_RANDOM 
NODE_INFO_PAR_AGE 
NODE_INFO_PAR_LIFETIME 
NODE_INFO_PAR_LOCATION 
NODE_INFO_PAR_SIZE 
NODE_INFO_PAR_VELOCITY 
NODE_INFO_PAR_ANGULAR_VELOCITY 

Definition at line 62 of file device/cpu/globals.h.

◆ NodePointInfo

Enumerator
NODE_INFO_POINT_POSITION 
NODE_INFO_POINT_RADIUS 
NODE_INFO_POINT_RANDOM 

Definition at line 83 of file device/cpu/globals.h.

◆ NodePrincipledHairModel

Enumerator
NODE_PRINCIPLED_HAIR_CHIANG 
NODE_PRINCIPLED_HAIR_HUANG 
NODE_PRINCIPLED_HAIR_MODEL_NUM 

Definition at line 395 of file device/cpu/globals.h.

◆ NodePrincipledHairParametrization

Enumerator
NODE_PRINCIPLED_HAIR_REFLECTANCE 
NODE_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION 
NODE_PRINCIPLED_HAIR_DIRECT_ABSORPTION 
NODE_PRINCIPLED_HAIR_PARAMETRIZATION_NUM 

Definition at line 401 of file device/cpu/globals.h.

◆ NodeSkyType

Enumerator
NODE_SKY_PREETHAM 
NODE_SKY_HOSEK 
NODE_SKY_SINGLE_SCATTERING 
NODE_SKY_MULTIPLE_SCATTERING 

Definition at line 313 of file device/cpu/globals.h.

◆ NodeTangentAxis

Enumerator
NODE_TANGENT_AXIS_X 
NODE_TANGENT_AXIS_Y 
NODE_TANGENT_AXIS_Z 

Definition at line 349 of file device/cpu/globals.h.

◆ NodeTangentDirectionType

Enumerator
NODE_TANGENT_RADIAL 
NODE_TANGENT_UVMAP 

Definition at line 347 of file device/cpu/globals.h.

◆ NodeTexCoord

Enumerator
NODE_TEXCO_NORMAL 
NODE_TEXCO_OBJECT 
NODE_TEXCO_OBJECT_WITH_TRANSFORM 
NODE_TEXCO_CAMERA 
NODE_TEXCO_WINDOW 
NODE_TEXCO_REFLECTION 
NODE_TEXCO_DUPLI_GENERATED 
NODE_TEXCO_DUPLI_UV 
NODE_TEXCO_VOLUME_GENERATED 

Definition at line 114 of file device/cpu/globals.h.

◆ NodeVectorMathType

Enumerator
NODE_VECTOR_MATH_ADD 
NODE_VECTOR_MATH_SUBTRACT 
NODE_VECTOR_MATH_MULTIPLY 
NODE_VECTOR_MATH_DIVIDE 
NODE_VECTOR_MATH_CROSS_PRODUCT 
NODE_VECTOR_MATH_PROJECT 
NODE_VECTOR_MATH_REFLECT 
NODE_VECTOR_MATH_DOT_PRODUCT 
NODE_VECTOR_MATH_DISTANCE 
NODE_VECTOR_MATH_LENGTH 
NODE_VECTOR_MATH_SCALE 
NODE_VECTOR_MATH_NORMALIZE 
NODE_VECTOR_MATH_SNAP 
NODE_VECTOR_MATH_FLOOR 
NODE_VECTOR_MATH_CEIL 
NODE_VECTOR_MATH_MODULO 
NODE_VECTOR_MATH_FRACTION 
NODE_VECTOR_MATH_ABSOLUTE 
NODE_VECTOR_MATH_MINIMUM 
NODE_VECTOR_MATH_MAXIMUM 
NODE_VECTOR_MATH_WRAP 
NODE_VECTOR_MATH_SINE 
NODE_VECTOR_MATH_COSINE 
NODE_VECTOR_MATH_TANGENT 
NODE_VECTOR_MATH_REFRACT 
NODE_VECTOR_MATH_FACEFORWARD 
NODE_VECTOR_MATH_MULTIPLY_ADD 
NODE_VECTOR_MATH_POWER 
NODE_VECTOR_MATH_SIGN 

Definition at line 193 of file device/cpu/globals.h.

◆ NodeVectorRotateType

Enumerator
NODE_VECTOR_ROTATE_TYPE_AXIS 
NODE_VECTOR_ROTATE_TYPE_AXIS_X 
NODE_VECTOR_ROTATE_TYPE_AXIS_Y 
NODE_VECTOR_ROTATE_TYPE_AXIS_Z 
NODE_VECTOR_ROTATE_TYPE_EULER_XYZ 

Definition at line 247 of file device/cpu/globals.h.

◆ NodeVectorTransformConvertSpace

Enumerator
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_WORLD 
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_OBJECT 
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_CAMERA 

Definition at line 261 of file device/cpu/globals.h.

◆ NodeVectorTransformType

Enumerator
NODE_VECTOR_TRANSFORM_TYPE_VECTOR 
NODE_VECTOR_TRANSFORM_TYPE_POINT 
NODE_VECTOR_TRANSFORM_TYPE_NORMAL 

Definition at line 255 of file device/cpu/globals.h.

◆ NodeVoronoiDistanceMetric

Enumerator
NODE_VORONOI_EUCLIDEAN 
NODE_VORONOI_MANHATTAN 
NODE_VORONOI_CHEBYCHEV 
NODE_VORONOI_MINKOWSKI 

Definition at line 330 of file device/cpu/globals.h.

◆ NodeVoronoiFeature

Enumerator
NODE_VORONOI_F1 
NODE_VORONOI_F2 
NODE_VORONOI_SMOOTH_F1 
NODE_VORONOI_DISTANCE_TO_EDGE 
NODE_VORONOI_N_SPHERE_RADIUS 

Definition at line 337 of file device/cpu/globals.h.

◆ NodeWaveBandsDirection

Enumerator
NODE_WAVE_BANDS_DIRECTION_X 
NODE_WAVE_BANDS_DIRECTION_Y 
NODE_WAVE_BANDS_DIRECTION_Z 
NODE_WAVE_BANDS_DIRECTION_DIAGONAL 

Definition at line 293 of file device/cpu/globals.h.

◆ NodeWaveProfile

Enumerator
NODE_WAVE_PROFILE_SIN 
NODE_WAVE_PROFILE_SAW 
NODE_WAVE_PROFILE_TRI 

Definition at line 307 of file device/cpu/globals.h.

◆ NodeWaveRingsDirection

Enumerator
NODE_WAVE_RINGS_DIRECTION_X 
NODE_WAVE_RINGS_DIRECTION_Y 
NODE_WAVE_RINGS_DIRECTION_Z 
NODE_WAVE_RINGS_DIRECTION_SPHERICAL 

Definition at line 300 of file device/cpu/globals.h.

◆ NodeWaveType

Enumerator
NODE_WAVE_BANDS 
NODE_WAVE_RINGS 

Definition at line 291 of file device/cpu/globals.h.

◆ PanoramaType

Enumerator
PANORAMA_EQUIRECTANGULAR 
PANORAMA_FISHEYE_EQUIDISTANT 
PANORAMA_FISHEYE_EQUISOLID 
PANORAMA_MIRRORBALL 
PANORAMA_FISHEYE_LENS_POLYNOMIAL 
PANORAMA_EQUIANGULAR_CUBEMAP_FACE 
PANORAMA_CENTRAL_CYLINDRICAL 
PANORAMA_NUM_TYPES 

Definition at line 678 of file device/cpu/globals.h.

◆ PassType

Enumerator
PASS_NONE 
PASS_COMBINED 
PASS_EMISSION 
PASS_BACKGROUND 
PASS_AO 
PASS_DIFFUSE 
PASS_DIFFUSE_DIRECT 
PASS_DIFFUSE_INDIRECT 
PASS_GLOSSY 
PASS_GLOSSY_DIRECT 
PASS_GLOSSY_INDIRECT 
PASS_TRANSMISSION 
PASS_TRANSMISSION_DIRECT 
PASS_TRANSMISSION_INDIRECT 
PASS_VOLUME 
PASS_VOLUME_DIRECT 
PASS_VOLUME_INDIRECT 
PASS_VOLUME_SCATTER 
PASS_VOLUME_TRANSMIT 
PASS_CATEGORY_LIGHT_END 
PASS_DEPTH 
PASS_POSITION 
PASS_NORMAL 
PASS_ROUGHNESS 
PASS_UV 
PASS_OBJECT_ID 
PASS_MATERIAL_ID 
PASS_MOTION 
PASS_MOTION_WEIGHT 
PASS_CRYPTOMATTE 
PASS_AOV_COLOR 
PASS_AOV_VALUE 
PASS_ADAPTIVE_AUX_BUFFER 
PASS_SAMPLE_COUNT 
PASS_DIFFUSE_COLOR 
PASS_GLOSSY_COLOR 
PASS_TRANSMISSION_COLOR 
PASS_MIST 
PASS_DENOISING_NORMAL 
PASS_DENOISING_ALBEDO 
PASS_DENOISING_DEPTH 
PASS_DENOISING_PREVIOUS 
PASS_RENDER_TIME 
PASS_SHADOW_CATCHER 
PASS_SHADOW_CATCHER_SAMPLE_COUNT 
PASS_SHADOW_CATCHER_MATTE 
PASS_GUIDING_COLOR 
PASS_GUIDING_PROBABILITY 
PASS_GUIDING_AVG_ROUGHNESS 
PASS_VOLUME_MAJORANT 
PASS_VOLUME_MAJORANT_SAMPLE_COUNT 
PASS_CATEGORY_DATA_END 
PASS_BAKE_PRIMITIVE 
PASS_BAKE_SEED 
PASS_BAKE_DIFFERENTIAL 
PASS_CATEGORY_BAKE_END 
PASS_NUM 

Definition at line 497 of file device/cpu/globals.h.

◆ PathRayFlag

Enumerator
PATH_RAY_CAMERA 
PATH_RAY_REFLECT 
PATH_RAY_TRANSMIT 
PATH_RAY_DIFFUSE 
PATH_RAY_GLOSSY 
PATH_RAY_SINGULAR 
PATH_RAY_TRANSPARENT 
PATH_RAY_VOLUME_SCATTER 
PATH_RAY_IMPORTANCE_BAKE 
PATH_RAY_SHADOW_OPAQUE 
PATH_RAY_SHADOW_TRANSPARENT 
PATH_RAY_SHADOW 
PATH_RAY_ALL_VISIBILITY 
PATH_RAY_NODE_UNALIGNED 
PATH_RAY_MIS_HAD_TRANSMISSION 
PATH_RAY_MIS_SKIP 
PATH_RAY_DIFFUSE_ANCESTOR 
PATH_RAY_SINGLE_PASS_DONE 
PATH_RAY_TRANSPARENT_BACKGROUND 
PATH_RAY_TERMINATE_ON_NEXT_SURFACE 
PATH_RAY_TERMINATE_IN_NEXT_VOLUME 
PATH_RAY_TERMINATE_AFTER_TRANSPARENT 
PATH_RAY_TERMINATE_AFTER_VOLUME 
PATH_RAY_TERMINATE 
PATH_RAY_EMISSION 
PATH_RAY_SUBSURFACE_RANDOM_WALK 
PATH_RAY_SUBSURFACE_DISK 
PATH_RAY_SUBSURFACE_BACKFACING 
PATH_RAY_SUBSURFACE 
PATH_RAY_DENOISING_FEATURES 
PATH_RAY_SURFACE_PASS 
PATH_RAY_VOLUME_PASS 
PATH_RAY_ANY_PASS 
PATH_RAY_SHADOW_FOR_AO 
PATH_RAY_SHADOW_CATCHER_HIT 
PATH_RAY_SHADOW_CATCHER_PASS 
PATH_RAY_SHADOW_CATCHER_BACKGROUND 
PATH_RAY_VOLUME_PRIMARY_TRANSMIT 

Definition at line 336 of file device/cpu/globals.h.

◆ PathRayMNEE

Enumerator
PATH_MNEE_NONE 
PATH_MNEE_VALID 
PATH_MNEE_RECEIVER_ANCESTOR 
PATH_MNEE_CULL_LIGHT_CONNECTION 

Definition at line 452 of file device/cpu/globals.h.

◆ PathTraceDimension

Enumerator
PRNG_FILTER 
PRNG_LENS_TIME 
PRNG_TERMINATE 
PRNG_LIGHT 
PRNG_LIGHT_TERMINATE 
PRNG_SURFACE_BSDF 
PRNG_SURFACE_AO 
PRNG_SURFACE_BEVEL 
PRNG_SURFACE_BSDF_GUIDING 
PRNG_SURFACE_RIS_GUIDING_0 
PRNG_SURFACE_RIS_GUIDING_1 
PRNG_VOLUME_PHASE 
PRNG_VOLUME_RESERVOIR 
PRNG_VOLUME_SCATTER_DISTANCE 
PRNG_VOLUME_EXPANSION_ORDER 
PRNG_VOLUME_SHADE_OFFSET 
PRNG_VOLUME_PHASE_GUIDING_DISTANCE 
PRNG_VOLUME_PHASE_GUIDING_EQUIANGULAR 
PRNG_VOLUME_COLOR_CHANNEL 
PRNG_VOLUME_OFFSET 
PRNG_SUBSURFACE_BSDF 
PRNG_SUBSURFACE_COLOR_CHANNEL 
PRNG_SUBSURFACE_SCATTER_DISTANCE 
PRNG_SUBSURFACE_GUIDE_STRATEGY 
PRNG_SUBSURFACE_GUIDE_DIRECTION 
PRNG_SUBSURFACE_DISK 
PRNG_SUBSURFACE_DISK_RESAMPLE 
PRNG_BAKE_VOLUME_DENSITY_EVAL 
PRNG_BOUNCE_NUM 

Definition at line 273 of file device/cpu/globals.h.

◆ PrimitiveType

Enumerator
PRIMITIVE_NONE 
PRIMITIVE_TRIANGLE 
PRIMITIVE_CURVE_THICK 
PRIMITIVE_CURVE_RIBBON 
PRIMITIVE_CURVE_THICK_LINEAR 
PRIMITIVE_POINT 
PRIMITIVE_VOLUME 
PRIMITIVE_LAMP 
PRIMITIVE_MOTION 
PRIMITIVE_MOTION_TRIANGLE 
PRIMITIVE_MOTION_CURVE_THICK 
PRIMITIVE_MOTION_CURVE_RIBBON 
PRIMITIVE_MOTION_CURVE_THICK_LINEAR 
PRIMITIVE_MOTION_POINT 
PRIMITIVE_CURVE 
PRIMITIVE_ALL 
PRIMITIVE_NUM_SHAPES 
PRIMITIVE_NUM_BITS 
PRIMITIVE_NUM 

Definition at line 820 of file device/cpu/globals.h.

◆ SamplingPattern

Enumerator
SAMPLING_PATTERN_SOBOL_BURLEY 
SAMPLING_PATTERN_TABULATED_SOBOL 
SAMPLING_PATTERN_BLUE_NOISE_PURE 
SAMPLING_PATTERN_BLUE_NOISE_FIRST 
SAMPLING_PATTERN_BLUE_NOISE_ROUND 
SAMPLING_PATTERN_AUTOMATIC 
SAMPLING_NUM_PATTERNS 

Definition at line 322 of file device/cpu/globals.h.

◆ ShaderDataFlag

Enumerator
SD_BACKFACING 
SD_EMISSION 
SD_BSDF 
SD_BSDF_HAS_EVAL 
SD_BSSRDF 
SD_HOLDOUT 
SD_EXTINCTION 
SD_SCATTER 
SD_IS_VOLUME_SHADER_EVAL 
SD_TRANSPARENT 
SD_BSDF_NEEDS_LCG 
SD_BSDF_HAS_TRANSMISSION 
SD_RAY_PORTAL 
SD_CLOSURE_FLAGS 
SD_HAS_LIGHT_PATH_NODE 
SD_USE_BUMP_MAP_CORRECTION 
SD_MIS_FRONT 
SD_HAS_TRANSPARENT_SHADOW 
SD_HAS_VOLUME 
SD_HAS_ONLY_VOLUME 
SD_HETEROGENEOUS_VOLUME 
SD_HAS_BSSRDF_BUMP 
SD_VOLUME_EQUIANGULAR 
SD_VOLUME_MIS 
SD_VOLUME_CUBIC 
SD_HAS_BUMP 
SD_HAS_DISPLACEMENT 
SD_HAS_CONSTANT_EMISSION 
SD_NEED_VOLUME_ATTRIBUTES 
SD_HAS_EMISSION 
SD_HAS_RAYTRACE 
SD_MIS_BACK 
SD_SHADER_FLAGS 

Definition at line 1017 of file device/cpu/globals.h.

◆ ShaderDataObjectFlag

Enumerator
SD_OBJECT_HOLDOUT_MASK 
SD_OBJECT_MOTION 
SD_OBJECT_TRANSFORM_APPLIED 
SD_OBJECT_NEGATIVE_SCALE 
SD_OBJECT_HAS_VOLUME 
SD_OBJECT_INTERSECTS_VOLUME 
SD_OBJECT_HAS_VERTEX_MOTION 
SD_OBJECT_SHADOW_CATCHER 
SD_OBJECT_HAS_VOLUME_ATTRIBUTES 
SD_OBJECT_CAUSTICS_CASTER 
SD_OBJECT_CAUSTICS_RECEIVER 
SD_OBJECT_HAS_VOLUME_MOTION 
SD_OBJECT_CAUSTICS 
SD_OBJECT_FLAGS 

Definition at line 1098 of file device/cpu/globals.h.

◆ ShaderFlag

Enumerator
SHADER_SMOOTH_NORMAL 
SHADER_CAST_SHADOW 
SHADER_AREA_LIGHT 
SHADER_USE_MIS 
SHADER_EXCLUDE_DIFFUSE 
SHADER_EXCLUDE_GLOSSY 
SHADER_EXCLUDE_TRANSMIT 
SHADER_EXCLUDE_CAMERA 
SHADER_EXCLUDE_SCATTER 
SHADER_EXCLUDE_SHADOW_CATCHER 
SHADER_EXCLUDE_ANY 
SHADER_MASK 

Definition at line 612 of file device/cpu/globals.h.

◆ ShaderNodeType

Enumerator
NODE_NUM 

Definition at line 23 of file device/cpu/globals.h.

◆ ShaderType

Enumerator
SHADER_TYPE_SURFACE 
SHADER_TYPE_VOLUME 
SHADER_TYPE_DISPLACEMENT 
SHADER_TYPE_BUMP 

Definition at line 388 of file device/cpu/globals.h.

Member Function Documentation

◆ __bsf() [1/2]

CCL_NAMESPACE_BEGIN __forceinline uint32_t KernelGlobalsCPU::__bsf ( const uint32_t x)
inline

Definition at line 397 of file device/cpu/globals.h.

◆ __bsf() [2/2]

__forceinline uint32_t KernelGlobalsCPU::__bsf ( const uint64_t x)
inline

Definition at line 423 of file device/cpu/globals.h.

◆ __bsr() [1/2]

__forceinline uint32_t KernelGlobalsCPU::__bsr ( const uint32_t x)
inline

Definition at line 407 of file device/cpu/globals.h.

◆ __bsr() [2/2]

__forceinline uint32_t KernelGlobalsCPU::__bsr ( const uint64_t x)
inline

Definition at line 433 of file device/cpu/globals.h.

◆ __btc() [1/2]

__forceinline uint32_t KernelGlobalsCPU::__btc ( const uint32_t x,
const uint32_t bit )
inline

Definition at line 417 of file device/cpu/globals.h.

◆ __btc() [2/2]

__forceinline uint64_t KernelGlobalsCPU::__btc ( const uint64_t x,
const uint32_t bit )
inline

Definition at line 443 of file device/cpu/globals.h.

◆ __float4_as_int4()

ccl_device_inline int4 KernelGlobalsCPU::__float4_as_int4 ( const float4 f)
inline

Definition at line 637 of file device/cpu/globals.h.

◆ __float_as_int()

ccl_device_inline int KernelGlobalsCPU::__float_as_int ( const float f)
inline

Definition at line 257 of file device/cpu/globals.h.

◆ __float_as_uint()

ccl_device_inline uint KernelGlobalsCPU::__float_as_uint ( const float f)
inline

Definition at line 277 of file device/cpu/globals.h.

◆ __int4_as_float4()

ccl_device_inline float4 KernelGlobalsCPU::__int4_as_float4 ( const int4 i)
inline

Definition at line 647 of file device/cpu/globals.h.

◆ __int_as_float()

ccl_device_inline float KernelGlobalsCPU::__int_as_float ( const int i)
inline

Definition at line 267 of file device/cpu/globals.h.

◆ __uint_as_float()

ccl_device_inline float KernelGlobalsCPU::__uint_as_float ( const uint i)
inline

Definition at line 287 of file device/cpu/globals.h.

◆ abs()

ccl_device_inline int KernelGlobalsCPU::abs ( const int x)
inline

Definition at line 115 of file device/cpu/globals.h.

◆ align_up()

ccl_device_inline size_t KernelGlobalsCPU::align_up ( const size_t offset,
const size_t alignment )
inline

Definition at line 47 of file device/cpu/globals.h.

◆ all()

ccl_device_inline bool KernelGlobalsCPU::all ( const int3 a)
inline

Definition at line 110 of file device/cpu/globals.h.

◆ any_zero()

ccl_device_inline bool KernelGlobalsCPU::any_zero ( const float3 a)
inline

Definition at line 585 of file device/cpu/globals.h.

◆ as_float2()

ccl_device_inline float2 KernelGlobalsCPU::as_float2 ( const float4 & a)
inline

Definition at line 241 of file device/cpu/globals.h.

◆ as_int()

ccl_device_inline int KernelGlobalsCPU::as_int ( const uint i)
inline

Definition at line 226 of file device/cpu/globals.h.

◆ as_uint() [1/2]

ccl_device_inline uint KernelGlobalsCPU::as_uint ( const float f)
inline

Definition at line 246 of file device/cpu/globals.h.

◆ as_uint() [2/2]

ccl_device_inline uint KernelGlobalsCPU::as_uint ( const int i)
inline

Definition at line 236 of file device/cpu/globals.h.

◆ atan2()

ccl_device_inline float3 KernelGlobalsCPU::atan2 ( const float3 y,
const float3 x )
inline

Definition at line 491 of file device/cpu/globals.h.

◆ average() [1/5]

template<class T>
ccl_device_inline dual1 KernelGlobalsCPU::average ( const dual< T > a)
inline

Definition at line 44 of file device/cpu/globals.h.

◆ average() [2/5]

ccl_device_inline float KernelGlobalsCPU::average ( const float2 a)
inline

Definition at line 137 of file device/cpu/globals.h.

◆ average() [3/5]

ccl_device_inline float KernelGlobalsCPU::average ( const float3 a)
inline

Definition at line 601 of file device/cpu/globals.h.

◆ average() [4/5]

ccl_device_inline float KernelGlobalsCPU::average ( const float4 a)
inline

Definition at line 437 of file device/cpu/globals.h.

◆ average() [5/5]

ccl_device_inline float KernelGlobalsCPU::average ( const vfloat8 a)
inline

Definition at line 208 of file device/cpu/globals.h.

◆ beta()

ccl_device_inline float KernelGlobalsCPU::beta ( const float x,
const float y )
inline

Definition at line 661 of file device/cpu/globals.h.

◆ bits_to_01()

ccl_device float KernelGlobalsCPU::bits_to_01 ( const uint bits)
inline

Definition at line 676 of file device/cpu/globals.h.

◆ bitscan() [1/2]

__forceinline uint32_t KernelGlobalsCPU::bitscan ( const uint32_t value)
inline

Definition at line 449 of file device/cpu/globals.h.

◆ bitscan() [2/2]

__forceinline uint64_t KernelGlobalsCPU::bitscan ( const uint64_t value)
inline

Definition at line 459 of file device/cpu/globals.h.

◆ cast() [1/4]

ccl_device_inline int4 KernelGlobalsCPU::cast ( const float4 a)
inline

Definition at line 32 of file device/cpu/globals.h.

◆ cast() [2/4]

ccl_device_inline float4 KernelGlobalsCPU::cast ( const int4 a)
inline

Definition at line 250 of file device/cpu/globals.h.

◆ cast() [3/4]

ccl_device_inline vint8 KernelGlobalsCPU::cast ( const vfloat8 a)
inline

Definition at line 384 of file device/cpu/globals.h.

◆ cast() [4/4]

ccl_device_inline vfloat8 KernelGlobalsCPU::cast ( const vint8 a)
inline

Definition at line 290 of file device/cpu/globals.h.

◆ ccl_align() [1/3]

struct KernelGlobalsCPU::ccl_align ( 16 )
inline

Definition at line 1467 of file device/cpu/globals.h.

◆ ccl_align() [2/3]

struct KernelGlobalsCPU::ccl_align ( 16 )
inline

Definition at line 27 of file device/cpu/globals.h.

◆ ccl_align() [3/3]

struct KernelGlobalsCPU::ccl_align ( 16 )
inline

Definition at line 27 of file device/cpu/globals.h.

◆ ccl_try_align() [1/6]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct KernelGlobalsCPU::ccl_try_align ( 16 )
inline

Definition at line 12 of file device/cpu/globals.h.

◆ ccl_try_align() [2/6]

struct KernelGlobalsCPU::ccl_try_align ( 16 )
inline

Definition at line 11 of file device/cpu/globals.h.

◆ ccl_try_align() [3/6]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct KernelGlobalsCPU::ccl_try_align ( 16 )
inline

Definition at line 9 of file device/cpu/globals.h.

◆ ccl_try_align() [4/6]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct KernelGlobalsCPU::ccl_try_align ( 16 )
inline

Definition at line 9 of file device/cpu/globals.h.

◆ ccl_try_align() [5/6]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN struct KernelGlobalsCPU::ccl_try_align ( 32 )
inline

Definition at line 14 of file device/cpu/globals.h.

◆ ccl_try_align() [6/6]

struct KernelGlobalsCPU::ccl_try_align ( 32 )
inline

Definition at line 10 of file device/cpu/globals.h.

◆ ceil()

ccl_device_inline float3 KernelGlobalsCPU::ceil ( const float3 a)
inline

Definition at line 442 of file device/cpu/globals.h.

◆ ceil_to_int()

ccl_device_inline int KernelGlobalsCPU::ceil_to_int ( const float f)
inline

Definition at line 424 of file device/cpu/globals.h.

◆ clamp() [1/10]

ccl_device_inline float KernelGlobalsCPU::clamp ( const float a,
const float mn,
const float mx )
inline

Definition at line 367 of file device/cpu/globals.h.

◆ clamp() [2/10]

ccl_device_inline float2 KernelGlobalsCPU::clamp ( const float2 a,
const float2 mn,
const float2 mx )
inline

Definition at line 226 of file device/cpu/globals.h.

◆ clamp() [3/10]

ccl_device_inline float3 KernelGlobalsCPU::clamp ( const float3 a,
const float3 mn,
const float3 mx )
inline

Definition at line 360 of file device/cpu/globals.h.

◆ clamp() [4/10]

ccl_device_inline float4 KernelGlobalsCPU::clamp ( const float4 a,
const float4 mn,
const float4 mx )
inline

Definition at line 214 of file device/cpu/globals.h.

◆ clamp() [5/10]

ccl_device_inline int KernelGlobalsCPU::clamp ( const int a,
const int mn,
const int mx )
inline

Definition at line 362 of file device/cpu/globals.h.

◆ clamp() [6/10]

ccl_device_inline int3 KernelGlobalsCPU::clamp ( const int3 a,
const int mn,
const int mx )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ clamp() [7/10]

ccl_device_inline int3 KernelGlobalsCPU::clamp ( const int3 a,
int3 & mn,
const int mx )
inline

Definition at line 39 of file device/cpu/globals.h.

◆ clamp() [8/10]

ccl_device_inline int4 KernelGlobalsCPU::clamp ( const int4 a,
const int4 mn,
const int4 mx )
inline

Definition at line 225 of file device/cpu/globals.h.

◆ clamp() [9/10]

ccl_device_inline vfloat8 KernelGlobalsCPU::clamp ( const vfloat8 a,
const vfloat8 mn,
const vfloat8 mx )
inline

Definition at line 245 of file device/cpu/globals.h.

◆ clamp() [10/10]

ccl_device_inline vint8 KernelGlobalsCPU::clamp ( const vint8 a,
const vint8 mn,
const vint8 mx )
inline

Definition at line 258 of file device/cpu/globals.h.

◆ compare_floats()

ccl_device_inline bool KernelGlobalsCPU::compare_floats ( const float a,
const float b,
float abs_diff,
const int ulp_diff )
inline

Definition at line 769 of file device/cpu/globals.h.

◆ compatible_atan2()

ccl_device_inline float KernelGlobalsCPU::compatible_atan2 ( const float y,
const float x )
inline

Definition at line 471 of file device/cpu/globals.h.

◆ compatible_powf()

ccl_device float KernelGlobalsCPU::compatible_powf ( const float x,
const float y )
inline

Definition at line 548 of file device/cpu/globals.h.

◆ compatible_sign()

ccl_device_inline float3 KernelGlobalsCPU::compatible_sign ( const float3 v)
inline

Definition at line 682 of file device/cpu/globals.h.

◆ compatible_signf()

ccl_device_inline float KernelGlobalsCPU::compatible_signf ( const float f)
inline

Definition at line 477 of file device/cpu/globals.h.

◆ coord_to_local_index()

ccl_device_inline int KernelGlobalsCPU::coord_to_local_index ( const int4 rect,
const int x,
int y )
inline

Definition at line 37 of file device/cpu/globals.h.

References data, and T.

◆ copy_v3_v3()

ccl_device_inline void KernelGlobalsCPU::copy_v3_v3 ( ccl_private float * r,
const float3 val )
inline

Definition at line 822 of file device/cpu/globals.h.

◆ copy_v4_v4()

ccl_device_inline void KernelGlobalsCPU::copy_v4_v4 ( ccl_private float * r,
const float4 val )
inline

Definition at line 658 of file device/cpu/globals.h.

◆ cos()

ccl_device_inline float3 KernelGlobalsCPU::cos ( const float3 v)
inline

Definition at line 481 of file device/cpu/globals.h.

◆ cos_from_sin()

ccl_device_inline float KernelGlobalsCPU::cos_from_sin ( const float s)
inline

Definition at line 614 of file device/cpu/globals.h.

◆ count_leading_zeros()

ccl_device_inline uint KernelGlobalsCPU::count_leading_zeros ( const uint x)
inline

Definition at line 707 of file device/cpu/globals.h.

◆ count_trailing_zeros()

ccl_device_inline uint KernelGlobalsCPU::count_trailing_zeros ( const uint x)
inline

Definition at line 727 of file device/cpu/globals.h.

◆ cross() [1/3]

ccl_device_inline float KernelGlobalsCPU::cross ( const float2 a,
const float2 b )
inline

Definition at line 200 of file device/cpu/globals.h.

◆ cross() [2/3]

ccl_device_inline float3 KernelGlobalsCPU::cross ( const float3 a,
const float3 b )
inline

Definition at line 319 of file device/cpu/globals.h.

◆ cross() [3/3]

ccl_device_inline float4 KernelGlobalsCPU::cross ( const float4 a,
const float4 b )
inline

Definition at line 418 of file device/cpu/globals.h.

◆ cubic_interp()

ccl_device_inline float KernelGlobalsCPU::cubic_interp ( const float a,
const float b,
float c,
const float d,
float x )
inline

Definition at line 513 of file device/cpu/globals.h.

◆ direction_to_spherical()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device float2 KernelGlobalsCPU::direction_to_spherical ( const float3 dir)
inline

Definition at line 11 of file device/cpu/globals.h.

◆ disk_to_hemisphere()

ccl_device_inline float3 KernelGlobalsCPU::disk_to_hemisphere ( const float2 p)
inline

◆ distance() [1/3]

ccl_device_inline float KernelGlobalsCPU::distance ( const float2 a,
const float2 b )
inline

Definition at line 195 of file device/cpu/globals.h.

◆ distance() [2/3]

ccl_device_inline float KernelGlobalsCPU::distance ( const float3 a,
const float3 b )
inline

Definition at line 314 of file device/cpu/globals.h.

◆ distance() [3/3]

ccl_device_inline float KernelGlobalsCPU::distance ( const float4 a,
const float4 b )
inline

Definition at line 404 of file device/cpu/globals.h.

◆ divide_up()

ccl_device_inline size_t KernelGlobalsCPU::divide_up ( const size_t x,
const size_t y )
inline

Definition at line 52 of file device/cpu/globals.h.

◆ dot() [1/5]

template<class T1, class T2>
ccl_device_inline dual1 KernelGlobalsCPU::dot ( const dual< T1 > a,
const T2 b )
inline

Definition at line 54 of file device/cpu/globals.h.

◆ dot() [2/5]

ccl_device_inline float KernelGlobalsCPU::dot ( const float2 a,
const float2 b )
inline

Definition at line 131 of file device/cpu/globals.h.

◆ dot() [3/5]

ccl_device_inline float KernelGlobalsCPU::dot ( const float3 a,
const float3 b )
inline

Definition at line 254 of file device/cpu/globals.h.

◆ dot() [4/5]

ccl_device_inline float KernelGlobalsCPU::dot ( const float4 a,
const float4 b )
inline

Definition at line 373 of file device/cpu/globals.h.

◆ dot() [5/5]

ccl_device_inline float KernelGlobalsCPU::dot ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 309 of file device/cpu/globals.h.

◆ dot_xy()

ccl_device_inline float KernelGlobalsCPU::dot_xy ( const float3 a,
const float3 b )
inline

Definition at line 279 of file device/cpu/globals.h.

◆ ensure_finite() [1/4]

ccl_device_inline float KernelGlobalsCPU::ensure_finite ( const float v)
inline

Definition at line 356 of file device/cpu/globals.h.

◆ ensure_finite() [2/4]

ccl_device_inline float3 KernelGlobalsCPU::ensure_finite ( const float3 v)
inline

Definition at line 692 of file device/cpu/globals.h.

◆ ensure_finite() [3/4]

ccl_device_inline float4 KernelGlobalsCPU::ensure_finite ( const float4 v)
inline

Definition at line 606 of file device/cpu/globals.h.

◆ ensure_finite() [4/4]

ccl_device_inline vfloat8 KernelGlobalsCPU::ensure_finite ( vfloat8 v)
inline

Definition at line 364 of file device/cpu/globals.h.

◆ euler_to_transform()

ccl_device_inline Transform KernelGlobalsCPU::euler_to_transform ( const float3 euler)
inline

Definition at line 201 of file device/cpu/globals.h.

◆ exp() [1/3]

ccl_device_inline float3 KernelGlobalsCPU::exp ( const float3 v)
inline

Definition at line 466 of file device/cpu/globals.h.

◆ exp() [2/3]

ccl_device_inline float4 KernelGlobalsCPU::exp ( const float4 v)
inline

Definition at line 530 of file device/cpu/globals.h.

◆ exp() [3/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::exp ( vfloat8 v)
inline

Definition at line 297 of file device/cpu/globals.h.

◆ fabs() [1/4]

ccl_device_inline float2 KernelGlobalsCPU::fabs ( const float2 a)
inline

Definition at line 236 of file device/cpu/globals.h.

◆ fabs() [2/4]

ccl_device_inline float3 KernelGlobalsCPU::fabs ( const float3 a)
inline

Definition at line 365 of file device/cpu/globals.h.

◆ fabs() [3/4]

ccl_device_inline float4 KernelGlobalsCPU::fabs ( const float4 a)
inline

Definition at line 453 of file device/cpu/globals.h.

◆ fabs() [4/4]

ccl_device_inline vfloat8 KernelGlobalsCPU::fabs ( const vfloat8 a)
inline

Definition at line 266 of file device/cpu/globals.h.

◆ faceforward()

ccl_device_inline float3 KernelGlobalsCPU::faceforward ( const float3 vector,
const float3 incident,
const float3 reference )
inline

Definition at line 510 of file device/cpu/globals.h.

◆ fast_acosf()

ccl_device float KernelGlobalsCPU::fast_acosf ( const float x)
inline

Definition at line 259 of file device/cpu/globals.h.

◆ fast_asinf()

ccl_device float KernelGlobalsCPU::fast_asinf ( const float x)
inline

Definition at line 276 of file device/cpu/globals.h.

◆ fast_atan2f()

ccl_device float KernelGlobalsCPU::fast_atan2f ( const float y,
const float x )
inline

Definition at line 309 of file device/cpu/globals.h.

◆ fast_atanf()

ccl_device float KernelGlobalsCPU::fast_atanf ( const float x)
inline

Definition at line 290 of file device/cpu/globals.h.

◆ fast_cosf()

ccl_device float KernelGlobalsCPU::fast_cosf ( float x)
inline

Definition at line 118 of file device/cpu/globals.h.

◆ fast_coshf()

ccl_device_inline float KernelGlobalsCPU::fast_coshf ( const float x)
inline

Definition at line 507 of file device/cpu/globals.h.

◆ fast_cospif()

ccl_device_inline float KernelGlobalsCPU::fast_cospif ( const float x)
inline

Definition at line 254 of file device/cpu/globals.h.

◆ fast_erfcf()

ccl_device_inline float KernelGlobalsCPU::fast_erfcf ( const float x)
inline

Definition at line 592 of file device/cpu/globals.h.

◆ fast_erff()

ccl_device_inline float KernelGlobalsCPU::fast_erff ( const float x)
inline

Definition at line 568 of file device/cpu/globals.h.

◆ fast_exp10()

ccl_device_inline float KernelGlobalsCPU::fast_exp10 ( const float x)
inline

Definition at line 470 of file device/cpu/globals.h.

◆ fast_exp2f()

ccl_device float KernelGlobalsCPU::fast_exp2f ( float x)
inline

Definition at line 404 of file device/cpu/globals.h.

◆ fast_exp2f4()

ccl_device float4 KernelGlobalsCPU::fast_exp2f4 ( float4 x)
inline

Definition at line 443 of file device/cpu/globals.h.

◆ fast_expf()

ccl_device_inline float KernelGlobalsCPU::fast_expf ( const float x)
inline

Definition at line 431 of file device/cpu/globals.h.

◆ fast_expf4()

ccl_device_inline float4 KernelGlobalsCPU::fast_expf4 ( const float4 x)
inline

Definition at line 459 of file device/cpu/globals.h.

◆ fast_expm1f()

ccl_device_inline float KernelGlobalsCPU::fast_expm1f ( float x)
inline

Definition at line 478 of file device/cpu/globals.h.

◆ fast_ierff()

ccl_device_inline float KernelGlobalsCPU::fast_ierff ( const float x)
inline

Definition at line 603 of file device/cpu/globals.h.

◆ fast_inv_cbrtf()

ccl_device_inline float KernelGlobalsCPU::fast_inv_cbrtf ( const float x)
inline

Definition at line 638 of file device/cpu/globals.h.

◆ fast_log10()

ccl_device_inline float KernelGlobalsCPU::fast_log10 ( const float x)
inline

Definition at line 387 of file device/cpu/globals.h.

◆ fast_log2f()

ccl_device float KernelGlobalsCPU::fast_log2f ( float x)
inline

Definition at line 353 of file device/cpu/globals.h.

◆ fast_logb()

ccl_device float KernelGlobalsCPU::fast_logb ( float x)
inline

Definition at line 395 of file device/cpu/globals.h.

◆ fast_logf()

ccl_device_inline float KernelGlobalsCPU::fast_logf ( const float x)
inline

Definition at line 379 of file device/cpu/globals.h.

◆ fast_rint()

ccl_device_inline int KernelGlobalsCPU::fast_rint ( const float x)
inline

Definition at line 68 of file device/cpu/globals.h.

◆ fast_safe_powf()

ccl_device float KernelGlobalsCPU::fast_safe_powf ( const float x,
const float y )
inline

Definition at line 526 of file device/cpu/globals.h.

◆ fast_sincosf()

ccl_device void KernelGlobalsCPU::fast_sincosf ( float x,
ccl_private float * sine,
ccl_private float * cosine )
inline

Definition at line 144 of file device/cpu/globals.h.

◆ fast_sinf()

ccl_device float KernelGlobalsCPU::fast_sinf ( float x)
inline

Definition at line 83 of file device/cpu/globals.h.

◆ fast_sinhf()

ccl_device float KernelGlobalsCPU::fast_sinhf ( const float x)
inline

Definition at line 487 of file device/cpu/globals.h.

◆ fast_sinpif()

ccl_device float KernelGlobalsCPU::fast_sinpif ( const float x)
inline

Definition at line 218 of file device/cpu/globals.h.

◆ fast_tanf()

ccl_device float KernelGlobalsCPU::fast_tanf ( float x)
inline

Definition at line 183 of file device/cpu/globals.h.

◆ fast_tanhf()

ccl_device_inline float KernelGlobalsCPU::fast_tanhf ( const float x)
inline

Definition at line 516 of file device/cpu/globals.h.

◆ find_first_set()

ccl_device_inline uint KernelGlobalsCPU::find_first_set ( const uint x)
inline

Definition at line 747 of file device/cpu/globals.h.

◆ float2::operator[]() [1/2]

__forceinline float & KernelGlobalsCPU::float2::operator[] ( int i)
inline

Definition at line 30 of file device/cpu/globals.h.

◆ float2::operator[]() [2/2]

__forceinline float KernelGlobalsCPU::float2::operator[] ( int i) const
inline

Definition at line 23 of file device/cpu/globals.h.

◆ float3_as_uint3()

ccl_device_inline uint3 KernelGlobalsCPU::float3_as_uint3 ( const float3 f)
inline

Definition at line 829 of file device/cpu/globals.h.

◆ float_to_int()

ccl_device_inline int KernelGlobalsCPU::float_to_int ( const float f)
inline

Definition at line 407 of file device/cpu/globals.h.

◆ floor() [1/3]

ccl_device_inline float2 KernelGlobalsCPU::floor ( const float2 a)
inline

Definition at line 256 of file device/cpu/globals.h.

◆ floor() [2/3]

ccl_device_inline float3 KernelGlobalsCPU::floor ( const float3 a)
inline

Definition at line 433 of file device/cpu/globals.h.

◆ floor() [3/3]

ccl_device_inline float4 KernelGlobalsCPU::floor ( const float4 a)
inline

Definition at line 486 of file device/cpu/globals.h.

◆ floor_log2f()

ccl_device_inline int KernelGlobalsCPU::floor_log2f ( const float x)
inline

Definition at line 344 of file device/cpu/globals.h.

◆ floor_to_int()

ccl_device_inline int KernelGlobalsCPU::floor_to_int ( const float f)
inline

Definition at line 412 of file device/cpu/globals.h.

◆ floorfrac() [1/2]

ccl_device_inline float KernelGlobalsCPU::floorfrac ( const float x,
ccl_private int * i )
inline

Definition at line 417 of file device/cpu/globals.h.

◆ floorfrac() [2/2]

ccl_device_inline float4 KernelGlobalsCPU::floorfrac ( const float4 x,
ccl_private int4 * i )
inline

Definition at line 499 of file device/cpu/globals.h.

◆ fmod() [1/4]

ccl_device_inline float2 KernelGlobalsCPU::fmod ( const float2 a,
const float b )
inline

Definition at line 231 of file device/cpu/globals.h.

◆ fmod() [2/4]

ccl_device_inline float3 KernelGlobalsCPU::fmod ( const float3 a,
const float b )
inline

Definition at line 383 of file device/cpu/globals.h.

◆ fmod() [3/4]

ccl_device_inline float3 KernelGlobalsCPU::fmod ( const float3 a,
const float3 b )
inline

Definition at line 399 of file device/cpu/globals.h.

◆ fmod() [4/4]

ccl_device_inline float4 KernelGlobalsCPU::fmod ( const float4 a,
const float b )
inline

Definition at line 470 of file device/cpu/globals.h.

◆ fractf()

ccl_device_inline float KernelGlobalsCPU::fractf ( const float x)
inline

Definition at line 429 of file device/cpu/globals.h.

◆ interp() [1/4]

ccl_device_inline float KernelGlobalsCPU::interp ( const float a,
const float b,
const float t )
inline

Definition at line 502 of file device/cpu/globals.h.

◆ interp() [2/4]

ccl_device_inline float2 KernelGlobalsCPU::interp ( const float2 a,
const float2 b,
const float t )
inline

Definition at line 246 of file device/cpu/globals.h.

◆ interp() [3/4]

ccl_device_inline float3 KernelGlobalsCPU::interp ( const float3 a,
const float3 b,
const float t )
inline

Definition at line 566 of file device/cpu/globals.h.

◆ interp() [4/4]

ccl_device_inline float4 KernelGlobalsCPU::interp ( float4 a,
float4 b,
float t )
inline

Definition at line 630 of file device/cpu/globals.h.

◆ intervals_intersection()

template<typename T>
ccl_device_inline Interval< T > KernelGlobalsCPU::intervals_intersection ( const ccl_private Interval< T > & first,
const ccl_private Interval< T > & second )
inline

Definition at line 901 of file device/cpu/globals.h.

◆ inverse_lerp()

ccl_device_inline float KernelGlobalsCPU::inverse_lerp ( const float a,
const float b,
const float x )
inline

Definition at line 507 of file device/cpu/globals.h.

◆ inversesqrtf()

ccl_device_inline float KernelGlobalsCPU::inversesqrtf ( const float f)
inline

Definition at line 529 of file device/cpu/globals.h.

◆ is_power_of_two()

ccl_device_inline bool KernelGlobalsCPU::is_power_of_two ( const size_t x)
inline

Definition at line 67 of file device/cpu/globals.h.

◆ is_zero() [1/4]

ccl_device_inline bool KernelGlobalsCPU::is_zero ( const float2 a)
inline

Definition at line 126 of file device/cpu/globals.h.

◆ is_zero() [2/4]

ccl_device_inline bool KernelGlobalsCPU::is_zero ( const float3 a)
inline

Definition at line 576 of file device/cpu/globals.h.

◆ is_zero() [3/4]

ccl_device_inline bool KernelGlobalsCPU::is_zero ( const float4 a)
inline

Definition at line 428 of file device/cpu/globals.h.

◆ is_zero() [4/4]

ccl_device_inline bool KernelGlobalsCPU::is_zero ( const vfloat8 a)
inline

Definition at line 192 of file device/cpu/globals.h.

◆ is_zero_mask()

ccl_device_inline auto KernelGlobalsCPU::is_zero_mask ( const float3 a)
inline

Definition at line 662 of file device/cpu/globals.h.

◆ isequal() [1/4]

ccl_device_inline bool KernelGlobalsCPU::isequal ( const float2 a,
const float2 b )
inline

Definition at line 142 of file device/cpu/globals.h.

◆ isequal() [2/4]

ccl_device_inline bool KernelGlobalsCPU::isequal ( const float3 a,
const float3 b )
inline

Definition at line 606 of file device/cpu/globals.h.

◆ isequal() [3/4]

ccl_device_inline bool KernelGlobalsCPU::isequal ( const float4 a,
const float4 b )
inline

Definition at line 542 of file device/cpu/globals.h.

◆ isequal() [4/4]

ccl_device_inline bool KernelGlobalsCPU::isequal ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 342 of file device/cpu/globals.h.

◆ isequal_mask()

ccl_device_inline auto KernelGlobalsCPU::isequal_mask ( const float3 a,
const float3 b )
inline

Definition at line 649 of file device/cpu/globals.h.

◆ isfinite_safe() [1/4]

ccl_device_inline bool KernelGlobalsCPU::isfinite_safe ( const float f)
inline

Definition at line 348 of file device/cpu/globals.h.

◆ isfinite_safe() [2/4]

ccl_device_inline bool KernelGlobalsCPU::isfinite_safe ( const float3 v)
inline

Definition at line 687 of file device/cpu/globals.h.

◆ isfinite_safe() [3/4]

ccl_device_inline bool KernelGlobalsCPU::isfinite_safe ( const float4 v)
inline

Definition at line 601 of file device/cpu/globals.h.

◆ isfinite_safe() [4/4]

ccl_device_inline bool KernelGlobalsCPU::isfinite_safe ( vfloat8 v)
inline

Definition at line 378 of file device/cpu/globals.h.

◆ isnan_safe()

ccl_device_inline bool KernelGlobalsCPU::isnan_safe ( const float f)
inline

Definition at line 342 of file device/cpu/globals.h.

◆ len() [1/3]

ccl_device_inline float KernelGlobalsCPU::len ( const float2 a)
inline

Definition at line 163 of file device/cpu/globals.h.

◆ len() [2/3]

ccl_device_inline float KernelGlobalsCPU::len ( const float3 a)
inline

Definition at line 288 of file device/cpu/globals.h.

◆ len() [3/3]

ccl_device_inline float KernelGlobalsCPU::len ( const float4 a)
inline

Definition at line 388 of file device/cpu/globals.h.

◆ len_squared() [1/3]

ccl_device_inline float KernelGlobalsCPU::len_squared ( const float2 a)
inline

Definition at line 183 of file device/cpu/globals.h.

◆ len_squared() [2/3]

ccl_device_inline float KernelGlobalsCPU::len_squared ( const float3 a)
inline

Definition at line 307 of file device/cpu/globals.h.

◆ len_squared() [3/3]

ccl_device_inline float KernelGlobalsCPU::len_squared ( const float4 a)
inline

Definition at line 393 of file device/cpu/globals.h.

◆ load_float4()

ccl_device_inline float4 KernelGlobalsCPU::load_float4 ( const ccl_private float * v)
inline

Definition at line 577 of file device/cpu/globals.h.

◆ load_int4()

ccl_device_inline int4 KernelGlobalsCPU::load_int4 ( const int * v)
inline

Definition at line 240 of file device/cpu/globals.h.

◆ load_vint8()

ccl_device_inline vint8 KernelGlobalsCPU::load_vint8 ( const int * v)
inline

Definition at line 280 of file device/cpu/globals.h.

◆ local_index_to_coord()

ccl_device_inline bool KernelGlobalsCPU::local_index_to_coord ( const int4 rect,
const int idx,
ccl_private int * x,
ccl_private int * y )
inline

Definition at line 45 of file device/cpu/globals.h.

◆ log() [1/3]

ccl_device_inline float3 KernelGlobalsCPU::log ( const float3 v)
inline

Definition at line 471 of file device/cpu/globals.h.

◆ log() [2/3]

ccl_device_inline float4 KernelGlobalsCPU::log ( const float4 v)
inline

Definition at line 535 of file device/cpu/globals.h.

◆ log() [3/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::log ( vfloat8 v)
inline

Definition at line 303 of file device/cpu/globals.h.

◆ madd() [1/2]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float KernelGlobalsCPU::madd ( const float a,
const float b,
const float c )
inline

Definition at line 35 of file device/cpu/globals.h.

◆ madd() [2/2]

ccl_device_inline float4 KernelGlobalsCPU::madd ( const float4 a,
const float4 b,
const float4 c )
inline

Definition at line 220 of file device/cpu/globals.h.

◆ madd4()

ccl_device_inline float4 KernelGlobalsCPU::madd4 ( const float4 a,
const float4 b,
const float4 c )
inline

Definition at line 46 of file device/cpu/globals.h.

◆ make_float2() [1/4]

ccl_device_inline float2 KernelGlobalsCPU::make_float2 ( const float f)
inline

Definition at line 45 of file device/cpu/globals.h.

◆ make_float2() [2/4]

ccl_device_inline float2 KernelGlobalsCPU::make_float2 ( const float x,
const float y )
inline

Definition at line 38 of file device/cpu/globals.h.

◆ make_float2() [3/4]

ccl_device_inline float2 KernelGlobalsCPU::make_float2 ( const float3 a)
inline

Definition at line 140 of file device/cpu/globals.h.

◆ make_float2() [4/4]

ccl_device_inline float2 KernelGlobalsCPU::make_float2 ( const int2 i)
inline

Definition at line 50 of file device/cpu/globals.h.

◆ make_float3() [1/9]

template<class T>
ccl_device_inline dual3 KernelGlobalsCPU::make_float3 ( const ccl_private dual< T > & a)
inline

Definition at line 61 of file device/cpu/globals.h.

◆ make_float3() [2/9]

ccl_device_inline dual3 KernelGlobalsCPU::make_float3 ( const dual1 a,
const dual1 b,
const dual1 c )
inline

Definition at line 66 of file device/cpu/globals.h.

◆ make_float3() [3/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float f)
inline

Definition at line 90 of file device/cpu/globals.h.

◆ make_float3() [4/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float x,
const float y,
float z )
inline

Definition at line 77 of file device/cpu/globals.h.

◆ make_float3() [5/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float2 a)
inline

Definition at line 101 of file device/cpu/globals.h.

◆ make_float3() [6/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float2 a,
const float b )
inline

Definition at line 106 of file device/cpu/globals.h.

◆ make_float3() [7/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float3 a)
inline

Definition at line 120 of file device/cpu/globals.h.

◆ make_float3() [8/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const float4 a)
inline

Definition at line 108 of file device/cpu/globals.h.

◆ make_float3() [9/9]

ccl_device_inline float3 KernelGlobalsCPU::make_float3 ( const int3 i)
inline

Definition at line 111 of file device/cpu/globals.h.

◆ make_float4() [1/6]

ccl_device_inline dual4 KernelGlobalsCPU::make_float4 ( const dual3 a)
inline

Definition at line 73 of file device/cpu/globals.h.

◆ make_float4() [2/6]

ccl_device_inline float4 KernelGlobalsCPU::make_float4 ( const float f)
inline

Definition at line 75 of file device/cpu/globals.h.

◆ make_float4() [3/6]

ccl_device_inline float4 KernelGlobalsCPU::make_float4 ( const float x,
const float y,
float z,
const float w )
inline

Definition at line 64 of file device/cpu/globals.h.

◆ make_float4() [4/6]

ccl_device_inline float4 KernelGlobalsCPU::make_float4 ( const float3 a)
inline

Definition at line 89 of file device/cpu/globals.h.

◆ make_float4() [5/6]

ccl_device_inline float4 KernelGlobalsCPU::make_float4 ( const float3 a,
const float b )
inline

Definition at line 84 of file device/cpu/globals.h.

◆ make_float4() [6/6]

ccl_device_inline float4 KernelGlobalsCPU::make_float4 ( const int4 i)
inline

Definition at line 99 of file device/cpu/globals.h.

◆ make_homogeneous() [1/2]

ccl_device_inline dual4 KernelGlobalsCPU::make_homogeneous ( const dual3 a)
inline

Definition at line 78 of file device/cpu/globals.h.

◆ make_homogeneous() [2/2]

ccl_device_inline float4 KernelGlobalsCPU::make_homogeneous ( const float3 a)
inline

Definition at line 94 of file device/cpu/globals.h.

◆ make_int2() [1/3]

ccl_device_inline int2 KernelGlobalsCPU::make_int2 ( const float2 f)
inline

Definition at line 55 of file device/cpu/globals.h.

◆ make_int2() [2/3]

ccl_device_inline int2 KernelGlobalsCPU::make_int2 ( const int i)
inline

Definition at line 39 of file device/cpu/globals.h.

◆ make_int2() [3/3]

ccl_device_inline int2 KernelGlobalsCPU::make_int2 ( const int x,
const int y )
inline

Definition at line 32 of file device/cpu/globals.h.

◆ make_int3() [1/3]

ccl_device_inline int3 KernelGlobalsCPU::make_int3 ( const float3 f)
inline

Definition at line 156 of file device/cpu/globals.h.

◆ make_int3() [2/3]

ccl_device_inline int3 KernelGlobalsCPU::make_int3 ( const int i)
inline

Definition at line 86 of file device/cpu/globals.h.

◆ make_int3() [3/3]

ccl_device_inline int3 KernelGlobalsCPU::make_int3 ( const int x,
const int y,
int z )
inline

Definition at line 73 of file device/cpu/globals.h.

◆ make_int4() [1/4]

ccl_device_inline int4 KernelGlobalsCPU::make_int4 ( const float3 f)
inline

Definition at line 145 of file device/cpu/globals.h.

◆ make_int4() [2/4]

ccl_device_inline int4 KernelGlobalsCPU::make_int4 ( const float4 f)
inline

Definition at line 113 of file device/cpu/globals.h.

◆ make_int4() [3/4]

ccl_device_inline int4 KernelGlobalsCPU::make_int4 ( const int i)
inline

Definition at line 70 of file device/cpu/globals.h.

◆ make_int4() [4/4]

ccl_device_inline int4 KernelGlobalsCPU::make_int4 ( const int x,
const int y,
int z,
const int w )
inline

Definition at line 60 of file device/cpu/globals.h.

◆ make_orthonormals()

ccl_device_inline void KernelGlobalsCPU::make_orthonormals ( const float3 N,
ccl_private float3 * a,
ccl_private float3 * b )
inline

Definition at line 718 of file device/cpu/globals.h.

◆ make_packed_int3()

ccl_device_inline packed_int3 KernelGlobalsCPU::make_packed_int3 ( const int x,
const int y,
int z )
inline

Definition at line 152 of file device/cpu/globals.h.

◆ make_packed_uint3()

ccl_device_inline packed_uint3 KernelGlobalsCPU::make_packed_uint3 ( const uint x,
const uint y,
uint z )
inline

Definition at line 85 of file device/cpu/globals.h.

◆ make_projection()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::make_projection ( const float a,
const float b,
const float c,
const float d,
const float e,
const float f,
const float g,
const float h,
const float i,
const float j,
const float k,
const float l,
const float m,
const float n,
const float o,
const float p )
inline

Definition at line 139 of file device/cpu/globals.h.

◆ make_transform() [1/2]

ccl_device_inline Transform KernelGlobalsCPU::make_transform ( const float a,
const float b,
const float c,
const float d,
const float e,
const float f,
const float g,
const float h,
const float i,
const float j,
const float k,
const float l )
inline

Definition at line 159 of file device/cpu/globals.h.

◆ make_transform() [2/2]

ccl_device_inline Transform KernelGlobalsCPU::make_transform ( const float3 x,
const float3 y,
const float3 z )
inline

Definition at line 190 of file device/cpu/globals.h.

◆ make_transform_frame()

ccl_device_inline Transform KernelGlobalsCPU::make_transform_frame ( const float3 N)
inline

Definition at line 228 of file device/cpu/globals.h.

◆ make_uchar2()

ccl_device_inline uchar2 KernelGlobalsCPU::make_uchar2 ( const uchar x,
const uchar y )
inline

Definition at line 32 of file device/cpu/globals.h.

◆ make_uchar3()

ccl_device_inline uchar3 KernelGlobalsCPU::make_uchar3 ( const uchar x,
const uchar y,
uchar z )
inline

Definition at line 32 of file device/cpu/globals.h.

◆ make_uchar4()

ccl_device_inline uchar4 KernelGlobalsCPU::make_uchar4 ( const uchar x,
const uchar y,
uchar z,
const uchar w )
inline

Definition at line 32 of file device/cpu/globals.h.

◆ make_uint2()

ccl_device_inline uint2 KernelGlobalsCPU::make_uint2 ( const uint x,
const uint y )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ make_uint3()

ccl_device_inline uint3 KernelGlobalsCPU::make_uint3 ( const uint x,
const uint y,
uint z )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ make_uint4()

ccl_device_inline uint4 KernelGlobalsCPU::make_uint4 ( const uint x,
const uint y,
uint z,
const uint w )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ make_vfloat8() [1/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::make_vfloat8 ( const float a,
const float b,
float c,
const float d,
float e,
const float f,
float g,
const float h )
inline

Definition at line 82 of file device/cpu/globals.h.

◆ make_vfloat8() [2/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::make_vfloat8 ( const float f)
inline

Definition at line 72 of file device/cpu/globals.h.

◆ make_vfloat8() [3/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::make_vfloat8 ( const float4 a,
const float4 b )
inline

Definition at line 99 of file device/cpu/globals.h.

◆ make_vint8() [1/4]

ccl_device_inline vint8 KernelGlobalsCPU::make_vint8 ( const int a,
const int b,
int c,
const int d,
int e,
const int f,
int g,
const int h )
inline

Definition at line 67 of file device/cpu/globals.h.

◆ make_vint8() [2/4]

ccl_device_inline vint8 KernelGlobalsCPU::make_vint8 ( const int i)
inline

Definition at line 76 of file device/cpu/globals.h.

◆ make_vint8() [3/4]

ccl_device_inline vint8 KernelGlobalsCPU::make_vint8 ( const int4 a,
const int4 b )
inline

Definition at line 85 of file device/cpu/globals.h.

◆ make_vint8() [4/4]

ccl_device_inline vint8 KernelGlobalsCPU::make_vint8 ( const vfloat8 f)
inline

Definition at line 124 of file device/cpu/globals.h.

◆ make_zero() [1/9]

ccl_device_template_spec float KernelGlobalsCPU::make_zero ( )
inline

Definition at line 218 of file device/cpu/globals.h.

◆ make_zero() [2/9]

template<typename T>
ccl_device_inline T KernelGlobalsCPU::make_zero ( )

◆ make_zero() [3/9]

ccl_device_template_spec dual4 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 27 of file device/cpu/globals.h.

◆ make_zero() [4/9]

ccl_device_template_spec dual3 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 22 of file device/cpu/globals.h.

◆ make_zero() [5/9]

ccl_device_template_spec dual2 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 17 of file device/cpu/globals.h.

◆ make_zero() [6/9]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_template_spec dual1 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 12 of file device/cpu/globals.h.

◆ make_zero() [7/9]

ccl_device_template_spec float2 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 23 of file device/cpu/globals.h.

◆ make_zero() [8/9]

ccl_device_template_spec float3 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 31 of file device/cpu/globals.h.

◆ make_zero() [9/9]

ccl_device_template_spec float4 KernelGlobalsCPU::make_zero ( )
inline

Definition at line 27 of file device/cpu/globals.h.

◆ map_to_sphere()

ccl_device_inline float2 KernelGlobalsCPU::map_to_sphere ( const float3 co)
inline

Definition at line 802 of file device/cpu/globals.h.

◆ map_to_tube()

ccl_device_inline float2 KernelGlobalsCPU::map_to_tube ( const float3 co)
inline

Definition at line 786 of file device/cpu/globals.h.

◆ mask() [1/3]

template<class MaskType>
ccl_device_inline float2 KernelGlobalsCPU::mask ( const MaskType mask,
const float2 a )
inline

Definition at line 157 of file device/cpu/globals.h.

◆ mask() [2/3]

template<class MaskType>
ccl_device_inline float3 KernelGlobalsCPU::mask ( const MaskType mask,
const float3 a )
inline

Definition at line 632 of file device/cpu/globals.h.

◆ mask() [3/3]

template<class MaskType>
ccl_device_inline float4 KernelGlobalsCPU::mask ( const MaskType mask,
const float4 a )
inline

Definition at line 569 of file device/cpu/globals.h.

◆ max() [1/13]

ccl_device_inline double KernelGlobalsCPU::max ( const double a,
const double b )
inline

Definition at line 179 of file device/cpu/globals.h.

◆ max() [2/13]

ccl_device_inline float KernelGlobalsCPU::max ( const float a,
const float b )
inline

Definition at line 169 of file device/cpu/globals.h.

◆ max() [3/13]

ccl_device_inline float2 KernelGlobalsCPU::max ( const float2 a,
const float2 b )
inline

Definition at line 221 of file device/cpu/globals.h.

◆ max() [4/13]

ccl_device_inline float3 KernelGlobalsCPU::max ( const float3 a,
const float3 b )
inline

Definition at line 351 of file device/cpu/globals.h.

◆ max() [5/13]

ccl_device_inline float4 KernelGlobalsCPU::max ( const float4 a,
const float4 b )
inline

Definition at line 205 of file device/cpu/globals.h.

◆ max() [6/13]

ccl_device_inline int KernelGlobalsCPU::max ( const int a,
const int b )
inline

Definition at line 120 of file device/cpu/globals.h.

◆ max() [7/13]

ccl_device_inline int3 KernelGlobalsCPU::max ( const int3 a,
const int3 b )
inline

Definition at line 21 of file device/cpu/globals.h.

◆ max() [8/13]

ccl_device_inline int4 KernelGlobalsCPU::max ( const int4 a,
const int4 b )
inline

Definition at line 216 of file device/cpu/globals.h.

◆ max() [9/13]

ccl_device_inline uint32_t KernelGlobalsCPU::max ( const uint32_t a,
const uint32_t b )
inline

Definition at line 130 of file device/cpu/globals.h.

◆ max() [10/13]

ccl_device_inline uint64_t KernelGlobalsCPU::max ( const uint64_t a,
const uint64_t b )
inline

Definition at line 140 of file device/cpu/globals.h.

◆ max() [11/13]

ccl_device_inline vfloat8 KernelGlobalsCPU::max ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 229 of file device/cpu/globals.h.

◆ max() [12/13]

template<class T>
ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, T > KernelGlobalsCPU::max ( T a,
T b )
inline

Definition at line 158 of file device/cpu/globals.h.

◆ max() [13/13]

ccl_device_inline vint8 KernelGlobalsCPU::max ( vint8 a,
vint8 b )
inline

Definition at line 242 of file device/cpu/globals.h.

◆ max4() [1/2]

ccl_device_inline float KernelGlobalsCPU::max4 ( const float a,
const float b,
float c,
const float d )
inline

Definition at line 211 of file device/cpu/globals.h.

◆ max4() [2/2]

template<typename T>
ccl_device_inline T KernelGlobalsCPU::max4 ( const T & a,
const T & b,
const T & c,
const T & d )
inline

Definition at line 200 of file device/cpu/globals.h.

◆ merge() [1/2]

template<typename T>
ccl_device_inline Extrema< T > KernelGlobalsCPU::merge ( const ccl_private Extrema< T > & a,
const ccl_private Extrema< T > & b )
inline

Definition at line 941 of file device/cpu/globals.h.

◆ merge() [2/2]

template<typename T>
ccl_device_inline Extrema< T > KernelGlobalsCPU::merge ( const ccl_private Extrema< T > & a,
const ccl_private T & v )
inline

Definition at line 948 of file device/cpu/globals.h.

◆ min() [1/13]

ccl_device_inline double KernelGlobalsCPU::min ( const double a,
const double b )
inline

Definition at line 184 of file device/cpu/globals.h.

◆ min() [2/13]

ccl_device_inline float KernelGlobalsCPU::min ( const float a,
const float b )
inline

Definition at line 174 of file device/cpu/globals.h.

◆ min() [3/13]

ccl_device_inline float2 KernelGlobalsCPU::min ( const float2 a,
const float2 b )
inline

Definition at line 216 of file device/cpu/globals.h.

◆ min() [4/13]

ccl_device_inline float3 KernelGlobalsCPU::min ( const float3 a,
const float3 b )
inline

Definition at line 342 of file device/cpu/globals.h.

◆ min() [5/13]

ccl_device_inline float4 KernelGlobalsCPU::min ( const float4 a,
const float4 b )
inline

Definition at line 196 of file device/cpu/globals.h.

◆ min() [6/13]

ccl_device_inline int KernelGlobalsCPU::min ( const int a,
const int b )
inline

Definition at line 125 of file device/cpu/globals.h.

◆ min() [7/13]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int3 KernelGlobalsCPU::min ( const int3 a,
const int3 b )
inline

Definition at line 12 of file device/cpu/globals.h.

◆ min() [8/13]

ccl_device_inline int4 KernelGlobalsCPU::min ( const int4 a,
const int4 b )
inline

Definition at line 207 of file device/cpu/globals.h.

◆ min() [9/13]

ccl_device_inline uint32_t KernelGlobalsCPU::min ( const uint32_t a,
const uint32_t b )
inline

Definition at line 135 of file device/cpu/globals.h.

◆ min() [10/13]

ccl_device_inline uint64_t KernelGlobalsCPU::min ( const uint64_t a,
const uint64_t b )
inline

Definition at line 145 of file device/cpu/globals.h.

◆ min() [11/13]

ccl_device_inline vfloat8 KernelGlobalsCPU::min ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 213 of file device/cpu/globals.h.

◆ min() [12/13]

template<class T>
ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, T > KernelGlobalsCPU::min ( T a,
T b )
inline

Definition at line 164 of file device/cpu/globals.h.

◆ min() [13/13]

ccl_device_inline vint8 KernelGlobalsCPU::min ( vint8 a,
vint8 b )
inline

Definition at line 226 of file device/cpu/globals.h.

◆ min4() [1/2]

ccl_device_inline float KernelGlobalsCPU::min4 ( const float a,
const float b,
float c,
const float d )
inline

Definition at line 206 of file device/cpu/globals.h.

◆ min4() [2/2]

template<typename T>
ccl_device_inline T KernelGlobalsCPU::min4 ( const T & a,
const T & b,
const T & c,
const T & d )
inline

Definition at line 195 of file device/cpu/globals.h.

◆ mix() [1/8]

ccl_device_inline float KernelGlobalsCPU::mix ( const float a,
const float b,
float t )
inline

Definition at line 372 of file device/cpu/globals.h.

◆ mix() [2/8]

ccl_device_inline float2 KernelGlobalsCPU::mix ( const float2 a,
const float2 b,
const float t )
inline

Definition at line 251 of file device/cpu/globals.h.

◆ mix() [3/8]

ccl_device_inline float3 KernelGlobalsCPU::mix ( const float3 a,
const float3 b,
const float t )
inline

Definition at line 451 of file device/cpu/globals.h.

◆ mix() [4/8]

ccl_device_inline float3 KernelGlobalsCPU::mix ( const float3 a,
const float3 b,
const float3 t )
inline

Definition at line 456 of file device/cpu/globals.h.

◆ mix() [5/8]

ccl_device_inline float4 KernelGlobalsCPU::mix ( const float4 a,
const float4 b,
const float t )
inline

Definition at line 515 of file device/cpu/globals.h.

◆ mix() [6/8]

ccl_device_inline float4 KernelGlobalsCPU::mix ( const float4 a,
const float4 b,
const float4 t )
inline

Definition at line 520 of file device/cpu/globals.h.

◆ mix() [7/8]

ccl_device_inline vfloat8 KernelGlobalsCPU::mix ( const vfloat8 a,
const vfloat8 b,
const float t )
inline

Definition at line 282 of file device/cpu/globals.h.

◆ mix() [8/8]

ccl_device_inline vfloat8 KernelGlobalsCPU::mix ( const vfloat8 a,
const vfloat8 b,
vfloat8 t )
inline

Definition at line 287 of file device/cpu/globals.h.

◆ mod()

ccl_device_inline int KernelGlobalsCPU::mod ( const int x,
const int m )
inline

Definition at line 497 of file device/cpu/globals.h.

◆ msub()

ccl_device_inline float4 KernelGlobalsCPU::msub ( const float4 a,
const float4 b,
const float4 c )
inline

Definition at line 235 of file device/cpu/globals.h.

◆ next_power_of_two()

ccl_device_inline uint KernelGlobalsCPU::next_power_of_two ( const uint x)
inline

Definition at line 786 of file device/cpu/globals.h.

◆ nonzerof()

ccl_device_inline float KernelGlobalsCPU::nonzerof ( const float f,
const float eps )
inline

Definition at line 460 of file device/cpu/globals.h.

◆ normalize() [1/3]

ccl_device_inline float2 KernelGlobalsCPU::normalize ( const float2 a)
inline

Definition at line 205 of file device/cpu/globals.h.

◆ normalize() [2/3]

ccl_device_inline float3 KernelGlobalsCPU::normalize ( const float3 a)
inline

Definition at line 332 of file device/cpu/globals.h.

◆ normalize() [3/3]

ccl_device_inline float4 KernelGlobalsCPU::normalize ( const float4 a)
inline

Definition at line 442 of file device/cpu/globals.h.

◆ normalize_len() [1/2]

ccl_device_inline float2 KernelGlobalsCPU::normalize_len ( const float2 a,
ccl_private float * t )
inline

Definition at line 210 of file device/cpu/globals.h.

◆ normalize_len() [2/2]

ccl_device_inline float3 KernelGlobalsCPU::normalize_len ( const float3 a,
ccl_private float * t )
inline

Definition at line 529 of file device/cpu/globals.h.

◆ one_float2()

ccl_device_inline float2 KernelGlobalsCPU::one_float2 ( )
inline

Definition at line 18 of file device/cpu/globals.h.

◆ one_float3()

ccl_device_inline float3 KernelGlobalsCPU::one_float3 ( )
inline

Definition at line 26 of file device/cpu/globals.h.

◆ one_float4()

ccl_device_inline float4 KernelGlobalsCPU::one_float4 ( )
inline

Definition at line 22 of file device/cpu/globals.h.

◆ one_minus_cos()

ccl_device_inline float KernelGlobalsCPU::one_minus_cos ( const float angle)
inline

Definition at line 625 of file device/cpu/globals.h.

◆ one_vfloat8()

ccl_device_inline vfloat8 KernelGlobalsCPU::one_vfloat8 ( )
inline

Definition at line 23 of file device/cpu/globals.h.

◆ operator!=() [1/4]

ccl_device_inline bool KernelGlobalsCPU::operator!= ( const float2 a,
const float2 b )
inline

Definition at line 116 of file device/cpu/globals.h.

◆ operator!=() [2/4]

ccl_device_inline bool KernelGlobalsCPU::operator!= ( const float3 a,
const float3 b )
inline

Definition at line 231 of file device/cpu/globals.h.

◆ operator!=() [3/4]

ccl_device_inline bool KernelGlobalsCPU::operator!= ( const int3 a,
const int3 b )
inline

Definition at line 53 of file device/cpu/globals.h.

◆ operator!=() [4/4]

ccl_device_inline bool KernelGlobalsCPU::operator!= ( const Transform & A,
const Transform & B )
inline

Definition at line 334 of file device/cpu/globals.h.

◆ operator&() [1/9]

ccl_device_inline int2 KernelGlobalsCPU::operator& ( const int2 a,
const int2 b )
inline

Definition at line 48 of file device/cpu/globals.h.

◆ operator&() [2/9]

ccl_device_inline int3 KernelGlobalsCPU::operator& ( const int3 a,
const int b )
inline

Definition at line 101 of file device/cpu/globals.h.

◆ operator&() [3/9]

ccl_device_inline int3 KernelGlobalsCPU::operator& ( const int3 a,
const int3 b )
inline

Definition at line 96 of file device/cpu/globals.h.

◆ operator&() [4/9]

ccl_device_inline int4 KernelGlobalsCPU::operator& ( const int32_t a,
const int4 b )
inline

Definition at line 134 of file device/cpu/globals.h.

◆ operator&() [5/9]

ccl_device_inline vint8 KernelGlobalsCPU::operator& ( const int32_t a,
const vint8 b )
inline

Definition at line 153 of file device/cpu/globals.h.

◆ operator&() [6/9]

ccl_device_inline int4 KernelGlobalsCPU::operator& ( const int4 a,
const int32_t b )
inline

Definition at line 139 of file device/cpu/globals.h.

◆ operator&() [7/9]

ccl_device_inline int4 KernelGlobalsCPU::operator& ( const int4 a,
const int4 b )
inline

Definition at line 107 of file device/cpu/globals.h.

◆ operator&() [8/9]

ccl_device_inline vint8 KernelGlobalsCPU::operator& ( const vint8 a,
const int32_t b )
inline

Definition at line 158 of file device/cpu/globals.h.

◆ operator&() [9/9]

ccl_device_inline vint8 KernelGlobalsCPU::operator& ( const vint8 a,
const vint8 b )
inline

Definition at line 123 of file device/cpu/globals.h.

◆ operator&=() [1/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator&= ( int4 & a,
const int32_t b )
inline

Definition at line 168 of file device/cpu/globals.h.

◆ operator&=() [2/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator&= ( int4 & a,
const int4 b )
inline

Definition at line 164 of file device/cpu/globals.h.

◆ operator&=() [3/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator&= ( vint8 & a,
const int32_t b )
inline

Definition at line 187 of file device/cpu/globals.h.

◆ operator&=() [4/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator&= ( vint8 & a,
const vint8 b )
inline

Definition at line 183 of file device/cpu/globals.h.

◆ operator*() [1/21]

template<class T1, class T2>
ccl_device_inline dual< T1 > KernelGlobalsCPU::operator* ( const dual< T1 > a,
T2 b )
inline

Definition at line 33 of file device/cpu/globals.h.

◆ operator*() [2/21]

template<typename T>
ccl_device_inline Extrema< T > KernelGlobalsCPU::operator* ( const Extrema< T > a,
const T b )
inline

Definition at line 921 of file device/cpu/globals.h.

◆ operator*() [3/21]

ccl_device_inline float3 KernelGlobalsCPU::operator* ( const float f,
const float3 a )
inline

Definition at line 75 of file device/cpu/globals.h.

◆ operator*() [4/21]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator* ( const float f,
const vfloat8 a )
inline

Definition at line 93 of file device/cpu/globals.h.

◆ operator*() [5/21]

ccl_device_inline float2 KernelGlobalsCPU::operator* ( const float2 a,
const float f )
inline

Definition at line 39 of file device/cpu/globals.h.

◆ operator*() [6/21]

ccl_device_inline float2 KernelGlobalsCPU::operator* ( const float2 a,
const float2 b )
inline

Definition at line 34 of file device/cpu/globals.h.

◆ operator*() [7/21]

ccl_device_inline float3 KernelGlobalsCPU::operator* ( const float3 a,
const float f )
inline

Definition at line 66 of file device/cpu/globals.h.

◆ operator*() [8/21]

ccl_device_inline float3 KernelGlobalsCPU::operator* ( const float3 a,
const float3 b )
inline

Definition at line 57 of file device/cpu/globals.h.

◆ operator*() [9/21]

ccl_device_inline float4 KernelGlobalsCPU::operator* ( const float4 a,
const float f )
inline

Definition at line 62 of file device/cpu/globals.h.

◆ operator*() [10/21]

ccl_device_inline float4 KernelGlobalsCPU::operator* ( const float4 a,
const float4 b )
inline

Definition at line 53 of file device/cpu/globals.h.

◆ operator*() [11/21]

ccl_device_inline int2 KernelGlobalsCPU::operator* ( const int2 & a,
const int2 & b )
inline

Definition at line 33 of file device/cpu/globals.h.

◆ operator*() [12/21]

ccl_device_inline int3 KernelGlobalsCPU::operator* ( const int3 a,
const int3 b )
inline

Definition at line 86 of file device/cpu/globals.h.

◆ operator*() [13/21]

ccl_device_inline int4 KernelGlobalsCPU::operator* ( const int4 a,
const int4 b )
inline

Definition at line 42 of file device/cpu/globals.h.

◆ operator*() [14/21]

ccl_device_inline ProjectionTransform KernelGlobalsCPU::operator* ( const ProjectionTransform & a,
const Transform & b )
inline

Definition at line 266 of file device/cpu/globals.h.

◆ operator*() [15/21]

ccl_device_inline ProjectionTransform KernelGlobalsCPU::operator* ( const ProjectionTransform a,
const ProjectionTransform b )
inline

Definition at line 249 of file device/cpu/globals.h.

◆ operator*() [16/21]

ccl_device_inline ProjectionTransform KernelGlobalsCPU::operator* ( const Transform & a,
const ProjectionTransform & b )
inline

Definition at line 271 of file device/cpu/globals.h.

◆ operator*() [17/21]

ccl_device_inline Transform KernelGlobalsCPU::operator* ( const Transform a,
const Transform b )
inline

Definition at line 238 of file device/cpu/globals.h.

◆ operator*() [18/21]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator* ( const vfloat8 a,
const float f )
inline

Definition at line 88 of file device/cpu/globals.h.

◆ operator*() [19/21]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator* ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 78 of file device/cpu/globals.h.

◆ operator*() [20/21]

ccl_device_inline float2 KernelGlobalsCPU::operator* ( float f,
const float2 a )
inline

Definition at line 44 of file device/cpu/globals.h.

◆ operator*() [21/21]

ccl_device_inline float4 KernelGlobalsCPU::operator* ( float f,
const float4 a )
inline

Definition at line 71 of file device/cpu/globals.h.

◆ operator*=() [1/10]

ccl_device_inline float2 KernelGlobalsCPU::operator*= ( float2 & a,
const float f )
inline

Definition at line 95 of file device/cpu/globals.h.

◆ operator*=() [2/10]

ccl_device_inline float2 KernelGlobalsCPU::operator*= ( float2 & a,
const float2 b )
inline

Definition at line 90 of file device/cpu/globals.h.

◆ operator*=() [3/10]

ccl_device_inline float3 KernelGlobalsCPU::operator*= ( float3 & a,
const float f )
inline

Definition at line 165 of file device/cpu/globals.h.

◆ operator*=() [4/10]

ccl_device_inline float3 KernelGlobalsCPU::operator*= ( float3 & a,
const float3 b )
inline

Definition at line 160 of file device/cpu/globals.h.

◆ operator*=() [5/10]

ccl_device_inline float4 KernelGlobalsCPU::operator*= ( float4 & a,
const float f )
inline

Definition at line 133 of file device/cpu/globals.h.

◆ operator*=() [6/10]

ccl_device_inline float4 KernelGlobalsCPU::operator*= ( float4 & a,
const float4 b )
inline

Definition at line 128 of file device/cpu/globals.h.

◆ operator*=() [7/10]

ccl_device_inline packed_float3 KernelGlobalsCPU::operator*= ( packed_float3 & a,
const float f )
inline

Definition at line 188 of file device/cpu/globals.h.

◆ operator*=() [8/10]

ccl_device_inline packed_float3 KernelGlobalsCPU::operator*= ( packed_float3 & a,
const float3 b )
inline

Definition at line 182 of file device/cpu/globals.h.

◆ operator*=() [9/10]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator*= ( vfloat8 a,
const float f )
inline

Definition at line 133 of file device/cpu/globals.h.

◆ operator*=() [10/10]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator*= ( vfloat8 a,
const vfloat8 b )
inline

Definition at line 128 of file device/cpu/globals.h.

◆ operator+() [1/15]

template<typename T>
ccl_device_inline Extrema< T > KernelGlobalsCPU::operator+ ( const ccl_private Extrema< T > & a,
const ccl_private Extrema< T > & b )
inline

Definition at line 927 of file device/cpu/globals.h.

◆ operator+() [2/15]

ccl_device_inline float3 KernelGlobalsCPU::operator+ ( const float a,
const float3 b )
inline

Definition at line 126 of file device/cpu/globals.h.

◆ operator+() [3/15]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator+ ( const float f,
const vfloat8 a )
inline

Definition at line 43 of file device/cpu/globals.h.

◆ operator+() [4/15]

ccl_device_inline float2 KernelGlobalsCPU::operator+ ( const float2 a,
const float f )
inline

Definition at line 70 of file device/cpu/globals.h.

◆ operator+() [5/15]

ccl_device_inline float2 KernelGlobalsCPU::operator+ ( const float2 a,
const float2 b )
inline

Definition at line 65 of file device/cpu/globals.h.

◆ operator+() [6/15]

ccl_device_inline float3 KernelGlobalsCPU::operator+ ( const float3 a,
const float b )
inline

Definition at line 121 of file device/cpu/globals.h.

◆ operator+() [7/15]

ccl_device_inline float3 KernelGlobalsCPU::operator+ ( const float3 a,
const float3 b )
inline

Definition at line 112 of file device/cpu/globals.h.

◆ operator+() [8/15]

ccl_device_inline float4 KernelGlobalsCPU::operator+ ( const float4 a,
const float f )
inline

Definition at line 99 of file device/cpu/globals.h.

◆ operator+() [9/15]

ccl_device_inline float4 KernelGlobalsCPU::operator+ ( const float4 a,
const float4 b )
inline

Definition at line 90 of file device/cpu/globals.h.

◆ operator+() [10/15]

ccl_device_inline int2 KernelGlobalsCPU::operator+ ( const int2 & a,
const int2 & b )
inline

Definition at line 18 of file device/cpu/globals.h.

◆ operator+() [11/15]

ccl_device_inline int3 KernelGlobalsCPU::operator+ ( const int3 a,
const int3 b )
inline

Definition at line 63 of file device/cpu/globals.h.

◆ operator+() [12/15]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int4 KernelGlobalsCPU::operator+ ( const int4 a,
const int4 b )
inline

Definition at line 14 of file device/cpu/globals.h.

◆ operator+() [13/15]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator+ ( const vfloat8 a,
const float f )
inline

Definition at line 38 of file device/cpu/globals.h.

◆ operator+() [14/15]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator+ ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 28 of file device/cpu/globals.h.

◆ operator+() [15/15]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline vint8 KernelGlobalsCPU::operator+ ( const vint8 a,
const vint8 b )
inline

Definition at line 15 of file device/cpu/globals.h.

◆ operator+=() [1/9]

template<typename T>
ccl_device_inline Extrema< T > KernelGlobalsCPU::operator+= ( ccl_private Extrema< T > & a,
const ccl_private Extrema< T > & b )
inline

Definition at line 934 of file device/cpu/globals.h.

◆ operator+=() [2/9]

ccl_device_inline float2 KernelGlobalsCPU::operator+= ( float2 & a,
const float2 b )
inline

Definition at line 85 of file device/cpu/globals.h.

◆ operator+=() [3/9]

ccl_device_inline float3 KernelGlobalsCPU::operator+= ( float3 & a,
const float3 b )
inline

Definition at line 150 of file device/cpu/globals.h.

◆ operator+=() [4/9]

ccl_device_inline float4 KernelGlobalsCPU::operator+= ( float4 & a,
const float4 b )
inline

Definition at line 118 of file device/cpu/globals.h.

◆ operator+=() [5/9]

ccl_device_inline int2 KernelGlobalsCPU::operator+= ( int2 & a,
const int2 & b )
inline

Definition at line 23 of file device/cpu/globals.h.

◆ operator+=() [6/9]

ccl_device_inline int4 KernelGlobalsCPU::operator+= ( int4 & a,
const int4 b )
inline

Definition at line 23 of file device/cpu/globals.h.

◆ operator+=() [7/9]

ccl_device_inline packed_float3 KernelGlobalsCPU::operator+= ( packed_float3 & a,
const float3 b )
inline

Definition at line 206 of file device/cpu/globals.h.

◆ operator+=() [8/9]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator+= ( vfloat8 a,
const vfloat8 b )
inline

Definition at line 118 of file device/cpu/globals.h.

◆ operator+=() [9/9]

ccl_device_inline vint8 KernelGlobalsCPU::operator+= ( vint8 & a,
const vint8 b )
inline

Definition at line 25 of file device/cpu/globals.h.

◆ operator-() [1/19]

template<class T>
ccl_device_inline dual< T > KernelGlobalsCPU::operator- ( const ccl_private dual< T > & a)
inline

Definition at line 39 of file device/cpu/globals.h.

◆ operator-() [2/19]

ccl_device_inline float3 KernelGlobalsCPU::operator- ( const float a,
const float3 b )
inline

Definition at line 145 of file device/cpu/globals.h.

◆ operator-() [3/19]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator- ( const float f,
const vfloat8 a )
inline

Definition at line 73 of file device/cpu/globals.h.

◆ operator-() [4/19]

ccl_device_inline float2 KernelGlobalsCPU::operator- ( const float2 & a)
inline

Definition at line 29 of file device/cpu/globals.h.

◆ operator-() [5/19]

ccl_device_inline float2 KernelGlobalsCPU::operator- ( const float2 a,
const float f )
inline

Definition at line 80 of file device/cpu/globals.h.

◆ operator-() [6/19]

ccl_device_inline float2 KernelGlobalsCPU::operator- ( const float2 a,
const float2 b )
inline

Definition at line 75 of file device/cpu/globals.h.

◆ operator-() [7/19]

ccl_device_inline float3 KernelGlobalsCPU::operator- ( const float3 & a)
inline

Definition at line 48 of file device/cpu/globals.h.

◆ operator-() [8/19]

ccl_device_inline float3 KernelGlobalsCPU::operator- ( const float3 a,
const float b )
inline

Definition at line 140 of file device/cpu/globals.h.

◆ operator-() [9/19]

ccl_device_inline float3 KernelGlobalsCPU::operator- ( const float3 a,
const float3 b )
inline

Definition at line 131 of file device/cpu/globals.h.

◆ operator-() [10/19]

ccl_device_inline float4 KernelGlobalsCPU::operator- ( const float4 & a)
inline

Definition at line 43 of file device/cpu/globals.h.

◆ operator-() [11/19]

ccl_device_inline float4 KernelGlobalsCPU::operator- ( const float4 a,
const float f )
inline

Definition at line 113 of file device/cpu/globals.h.

◆ operator-() [12/19]

ccl_device_inline float4 KernelGlobalsCPU::operator- ( const float4 a,
const float4 b )
inline

Definition at line 104 of file device/cpu/globals.h.

◆ operator-() [13/19]

ccl_device_inline int2 KernelGlobalsCPU::operator- ( const int2 & a,
const int2 & b )
inline

Definition at line 28 of file device/cpu/globals.h.

◆ operator-() [14/19]

ccl_device_inline int3 KernelGlobalsCPU::operator- ( const int3 a,
const int3 b )
inline

Definition at line 72 of file device/cpu/globals.h.

◆ operator-() [15/19]

ccl_device_inline int4 KernelGlobalsCPU::operator- ( const int4 a,
const int4 b )
inline

Definition at line 28 of file device/cpu/globals.h.

◆ operator-() [16/19]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator- ( const vfloat8 a)
inline

Definition at line 48 of file device/cpu/globals.h.

◆ operator-() [17/19]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator- ( const vfloat8 a,
const float f )
inline

Definition at line 68 of file device/cpu/globals.h.

◆ operator-() [18/19]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator- ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 58 of file device/cpu/globals.h.

◆ operator-() [19/19]

ccl_device_inline vint8 KernelGlobalsCPU::operator- ( const vint8 a,
const vint8 b )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ operator-=() [1/5]

ccl_device_inline float3 KernelGlobalsCPU::operator-= ( float3 & a,
const float3 b )
inline

Definition at line 155 of file device/cpu/globals.h.

◆ operator-=() [2/5]

ccl_device_inline float4 KernelGlobalsCPU::operator-= ( float4 & a,
const float4 b )
inline

Definition at line 123 of file device/cpu/globals.h.

◆ operator-=() [3/5]

ccl_device_inline int4 KernelGlobalsCPU::operator-= ( int4 & a,
const int4 b )
inline

Definition at line 37 of file device/cpu/globals.h.

◆ operator-=() [4/5]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator-= ( vfloat8 a,
const vfloat8 b )
inline

Definition at line 123 of file device/cpu/globals.h.

◆ operator-=() [5/5]

ccl_device_inline vint8 KernelGlobalsCPU::operator-= ( vint8 & a,
const vint8 b )
inline

Definition at line 40 of file device/cpu/globals.h.

◆ operator/() [1/12]

ccl_device_inline float3 KernelGlobalsCPU::operator/ ( const float f,
const float3 a )
inline

Definition at line 84 of file device/cpu/globals.h.

◆ operator/() [2/12]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator/ ( const float f,
const vfloat8 a )
inline

Definition at line 113 of file device/cpu/globals.h.

◆ operator/() [3/12]

ccl_device_inline float2 KernelGlobalsCPU::operator/ ( const float2 a,
const float f )
inline

Definition at line 54 of file device/cpu/globals.h.

◆ operator/() [4/12]

ccl_device_inline float2 KernelGlobalsCPU::operator/ ( const float2 a,
const float2 b )
inline

Definition at line 60 of file device/cpu/globals.h.

◆ operator/() [5/12]

ccl_device_inline float3 KernelGlobalsCPU::operator/ ( const float3 a,
const float f )
inline

Definition at line 93 of file device/cpu/globals.h.

◆ operator/() [6/12]

ccl_device_inline float3 KernelGlobalsCPU::operator/ ( const float3 a,
const float3 b )
inline

Definition at line 103 of file device/cpu/globals.h.

◆ operator/() [7/12]

ccl_device_inline float4 KernelGlobalsCPU::operator/ ( const float4 a,
const float f )
inline

Definition at line 76 of file device/cpu/globals.h.

◆ operator/() [8/12]

ccl_device_inline float4 KernelGlobalsCPU::operator/ ( const float4 a,
const float4 b )
inline

Definition at line 81 of file device/cpu/globals.h.

◆ operator/() [9/12]

ccl_device_inline int2 KernelGlobalsCPU::operator/ ( const int2 & a,
const int2 & b )
inline

Definition at line 38 of file device/cpu/globals.h.

◆ operator/() [10/12]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator/ ( const vfloat8 a,
const float f )
inline

Definition at line 108 of file device/cpu/globals.h.

◆ operator/() [11/12]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator/ ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 98 of file device/cpu/globals.h.

◆ operator/() [12/12]

ccl_device_inline float2 KernelGlobalsCPU::operator/ ( float f,
const float2 a )
inline

Definition at line 49 of file device/cpu/globals.h.

◆ operator/=() [1/10]

template<typename T1, typename T2>
ccl_device_inline Interval< T1 > KernelGlobalsCPU::operator/= ( ccl_private Interval< T1 > & interval,
const T2 f )
inline

Definition at line 892 of file device/cpu/globals.h.

◆ operator/=() [2/10]

ccl_device_inline float2 KernelGlobalsCPU::operator/= ( float2 & a,
const float f )
inline

Definition at line 105 of file device/cpu/globals.h.

◆ operator/=() [3/10]

ccl_device_inline float2 KernelGlobalsCPU::operator/= ( float2 & a,
const float2 b )
inline

Definition at line 100 of file device/cpu/globals.h.

◆ operator/=() [4/10]

ccl_device_inline float3 KernelGlobalsCPU::operator/= ( float3 & a,
const float f )
inline

Definition at line 175 of file device/cpu/globals.h.

◆ operator/=() [5/10]

ccl_device_inline float3 KernelGlobalsCPU::operator/= ( float3 & a,
const float3 b )
inline

Definition at line 170 of file device/cpu/globals.h.

◆ operator/=() [6/10]

ccl_device_inline float4 KernelGlobalsCPU::operator/= ( float4 & a,
const float f )
inline

Definition at line 143 of file device/cpu/globals.h.

◆ operator/=() [7/10]

ccl_device_inline float4 KernelGlobalsCPU::operator/= ( float4 & a,
const float4 b )
inline

Definition at line 138 of file device/cpu/globals.h.

◆ operator/=() [8/10]

ccl_device_inline packed_float3 KernelGlobalsCPU::operator/= ( packed_float3 & a,
const float f )
inline

Definition at line 200 of file device/cpu/globals.h.

◆ operator/=() [9/10]

ccl_device_inline packed_float3 KernelGlobalsCPU::operator/= ( packed_float3 & a,
const float3 b )
inline

Definition at line 194 of file device/cpu/globals.h.

◆ operator/=() [10/10]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator/= ( vfloat8 a,
const float f )
inline

Definition at line 138 of file device/cpu/globals.h.

◆ operator<() [1/7]

ccl_device_inline int3 KernelGlobalsCPU::operator< ( const float3 a,
const float3 b )
inline

Definition at line 245 of file device/cpu/globals.h.

◆ operator<() [2/7]

ccl_device_inline int4 KernelGlobalsCPU::operator< ( const float4 a,
const float4 b )
inline

Definition at line 148 of file device/cpu/globals.h.

◆ operator<() [3/7]

ccl_device_inline bool KernelGlobalsCPU::operator< ( const int3 a,
const int3 b )
inline

Definition at line 58 of file device/cpu/globals.h.

◆ operator<() [4/7]

ccl_device_inline int4 KernelGlobalsCPU::operator< ( const int4 a,
const int b )
inline

Definition at line 74 of file device/cpu/globals.h.

◆ operator<() [5/7]

ccl_device_inline int4 KernelGlobalsCPU::operator< ( const int4 a,
const int4 b )
inline

Definition at line 65 of file device/cpu/globals.h.

◆ operator<() [6/7]

ccl_device_inline vint8 KernelGlobalsCPU::operator< ( const vint8 a,
const int b )
inline

Definition at line 75 of file device/cpu/globals.h.

◆ operator<() [7/7]

ccl_device_inline vint8 KernelGlobalsCPU::operator< ( const vint8 a,
const vint8 b )
inline

Definition at line 65 of file device/cpu/globals.h.

◆ operator<<() [1/2]

ccl_device_inline int4 KernelGlobalsCPU::operator<< ( const int4 a,
const int i )
inline

Definition at line 56 of file device/cpu/globals.h.

◆ operator<<() [2/2]

ccl_device_inline vint8 KernelGlobalsCPU::operator<< ( const vint8 a,
const int i )
inline

Definition at line 55 of file device/cpu/globals.h.

◆ operator<<=() [1/2]

ccl_device_inline int4 & KernelGlobalsCPU::operator<<= ( int4 & a,
const int32_t b )
inline

Definition at line 191 of file device/cpu/globals.h.

◆ operator<<=() [2/2]

ccl_device_inline vint8 & KernelGlobalsCPU::operator<<= ( vint8 & a,
const int32_t b )
inline

Definition at line 210 of file device/cpu/globals.h.

◆ operator<=()

ccl_device_inline int4 KernelGlobalsCPU::operator<= ( const float4 a,
const float4 b )
inline

Definition at line 166 of file device/cpu/globals.h.

◆ operator==() [1/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const DecomposedTransform & A,
const DecomposedTransform & B )
inline

Definition at line 630 of file device/cpu/globals.h.

◆ operator==() [2/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const float2 a,
const float2 b )
inline

Definition at line 111 of file device/cpu/globals.h.

◆ operator==() [3/14]

ccl_device_inline int3 KernelGlobalsCPU::operator== ( const float3 a,
const float b )
inline

Definition at line 222 of file device/cpu/globals.h.

◆ operator==() [4/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const float3 a,
const float3 b )
inline

Definition at line 213 of file device/cpu/globals.h.

◆ operator==() [5/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const float4 a,
const float4 b )
inline

Definition at line 175 of file device/cpu/globals.h.

◆ operator==() [6/14]

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline bool KernelGlobalsCPU::operator== ( const int2 a,
const int2 b )
inline

Definition at line 13 of file device/cpu/globals.h.

◆ operator==() [7/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const int3 a,
const int3 b )
inline

Definition at line 48 of file device/cpu/globals.h.

◆ operator==() [8/14]

ccl_device_inline int4 KernelGlobalsCPU::operator== ( const int4 a,
const int b )
inline

Definition at line 88 of file device/cpu/globals.h.

◆ operator==() [9/14]

ccl_device_inline int4 KernelGlobalsCPU::operator== ( const int4 a,
const int4 b )
inline

Definition at line 79 of file device/cpu/globals.h.

◆ operator==() [10/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const Transform & A,
const Transform & B )
inline

Definition at line 327 of file device/cpu/globals.h.

◆ operator==() [11/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const uchar4 a,
const uchar4 b )
inline

Definition at line 38 of file device/cpu/globals.h.

◆ operator==() [12/14]

ccl_device_inline bool KernelGlobalsCPU::operator== ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 143 of file device/cpu/globals.h.

◆ operator==() [13/14]

ccl_device_inline vint8 KernelGlobalsCPU::operator== ( const vint8 a,
const int b )
inline

Definition at line 96 of file device/cpu/globals.h.

◆ operator==() [14/14]

ccl_device_inline vint8 KernelGlobalsCPU::operator== ( const vint8 a,
const vint8 b )
inline

Definition at line 80 of file device/cpu/globals.h.

◆ operator>() [1/2]

ccl_device_inline int3 KernelGlobalsCPU::operator> ( const float3 a,
const float b )
inline

Definition at line 272 of file device/cpu/globals.h.

◆ operator>() [2/2]

ccl_device_inline int3 KernelGlobalsCPU::operator> ( const float3 a,
const float3 b )
inline

Definition at line 263 of file device/cpu/globals.h.

◆ operator>=() [1/7]

ccl_device_inline int2 KernelGlobalsCPU::operator>= ( const float2 a,
const float2 b )
inline

Definition at line 121 of file device/cpu/globals.h.

◆ operator>=() [2/7]

ccl_device_inline int3 KernelGlobalsCPU::operator>= ( const float3 a,
const float3 b )
inline

Definition at line 236 of file device/cpu/globals.h.

◆ operator>=() [3/7]

ccl_device_inline int4 KernelGlobalsCPU::operator>= ( const float4 a,
const float4 b )
inline

Definition at line 157 of file device/cpu/globals.h.

◆ operator>=() [4/7]

ccl_device_inline int4 KernelGlobalsCPU::operator>= ( const int4 a,
const int b )
inline

Definition at line 102 of file device/cpu/globals.h.

◆ operator>=() [5/7]

ccl_device_inline int4 KernelGlobalsCPU::operator>= ( const int4 a,
const int4 b )
inline

Definition at line 93 of file device/cpu/globals.h.

◆ operator>=() [6/7]

ccl_device_inline vint8 KernelGlobalsCPU::operator>= ( const vint8 a,
const int b )
inline

Definition at line 118 of file device/cpu/globals.h.

◆ operator>=() [7/7]

ccl_device_inline vint8 KernelGlobalsCPU::operator>= ( const vint8 a,
const vint8 b )
inline

Definition at line 101 of file device/cpu/globals.h.

◆ operator>>() [1/4]

ccl_device_inline int2 KernelGlobalsCPU::operator>> ( const int2 a,
const int i )
inline

Definition at line 43 of file device/cpu/globals.h.

◆ operator>>() [2/4]

ccl_device_inline int3 KernelGlobalsCPU::operator>> ( const int3 a,
const int i )
inline

Definition at line 81 of file device/cpu/globals.h.

◆ operator>>() [3/4]

ccl_device_inline int4 KernelGlobalsCPU::operator>> ( const int4 a,
const int i )
inline

Definition at line 47 of file device/cpu/globals.h.

◆ operator>>() [4/4]

ccl_device_inline vint8 KernelGlobalsCPU::operator>> ( const vint8 a,
const int i )
inline

Definition at line 45 of file device/cpu/globals.h.

◆ operator>>=() [1/2]

ccl_device_inline int4 & KernelGlobalsCPU::operator>>= ( int4 & a,
const int32_t b )
inline

Definition at line 195 of file device/cpu/globals.h.

◆ operator>>=() [2/2]

ccl_device_inline vint8 & KernelGlobalsCPU::operator>>= ( vint8 & a,
const int32_t b )
inline

Definition at line 214 of file device/cpu/globals.h.

◆ operator^() [1/10]

ccl_device_inline float4 KernelGlobalsCPU::operator^ ( const float4 a,
const float4 b )
inline

Definition at line 184 of file device/cpu/globals.h.

◆ operator^() [2/10]

ccl_device_inline int2 KernelGlobalsCPU::operator^ ( const int2 a,
const int2 b )
inline

Definition at line 53 of file device/cpu/globals.h.

◆ operator^() [3/10]

ccl_device_inline int3 KernelGlobalsCPU::operator^ ( const int3 a,
const int3 b )
inline

Definition at line 91 of file device/cpu/globals.h.

◆ operator^() [4/10]

ccl_device_inline int4 KernelGlobalsCPU::operator^ ( const int32_t a,
const int4 b )
inline

Definition at line 154 of file device/cpu/globals.h.

◆ operator^() [5/10]

ccl_device_inline vint8 KernelGlobalsCPU::operator^ ( const int32_t a,
const vint8 b )
inline

Definition at line 173 of file device/cpu/globals.h.

◆ operator^() [6/10]

ccl_device_inline int4 KernelGlobalsCPU::operator^ ( const int4 a,
const int32_t b )
inline

Definition at line 159 of file device/cpu/globals.h.

◆ operator^() [7/10]

ccl_device_inline int4 KernelGlobalsCPU::operator^ ( const int4 a,
const int4 b )
inline

Definition at line 125 of file device/cpu/globals.h.

◆ operator^() [8/10]

ccl_device_inline vfloat8 KernelGlobalsCPU::operator^ ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 155 of file device/cpu/globals.h.

◆ operator^() [9/10]

ccl_device_inline vint8 KernelGlobalsCPU::operator^ ( const vint8 a,
const int32_t b )
inline

Definition at line 178 of file device/cpu/globals.h.

◆ operator^() [10/10]

ccl_device_inline vint8 KernelGlobalsCPU::operator^ ( const vint8 a,
const vint8 b )
inline

Definition at line 143 of file device/cpu/globals.h.

◆ operator^=() [1/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator^= ( int4 & a,
const int32_t b )
inline

Definition at line 186 of file device/cpu/globals.h.

◆ operator^=() [2/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator^= ( int4 & a,
const int4 b )
inline

Definition at line 182 of file device/cpu/globals.h.

◆ operator^=() [3/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator^= ( vint8 & a,
const int32_t b )
inline

Definition at line 205 of file device/cpu/globals.h.

◆ operator^=() [4/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator^= ( vint8 & a,
const vint8 b )
inline

Definition at line 201 of file device/cpu/globals.h.

◆ operator|() [1/6]

ccl_device_inline int4 KernelGlobalsCPU::operator| ( const int32_t a,
const int4 b )
inline

Definition at line 144 of file device/cpu/globals.h.

◆ operator|() [2/6]

ccl_device_inline vint8 KernelGlobalsCPU::operator| ( const int32_t a,
const vint8 b )
inline

Definition at line 163 of file device/cpu/globals.h.

◆ operator|() [3/6]

ccl_device_inline int4 KernelGlobalsCPU::operator| ( const int4 a,
const int32_t b )
inline

Definition at line 149 of file device/cpu/globals.h.

◆ operator|() [4/6]

ccl_device_inline int4 KernelGlobalsCPU::operator| ( const int4 a,
const int4 b )
inline

Definition at line 116 of file device/cpu/globals.h.

◆ operator|() [5/6]

ccl_device_inline vint8 KernelGlobalsCPU::operator| ( const vint8 a,
const int32_t b )
inline

Definition at line 168 of file device/cpu/globals.h.

◆ operator|() [6/6]

ccl_device_inline vint8 KernelGlobalsCPU::operator| ( const vint8 a,
const vint8 b )
inline

Definition at line 133 of file device/cpu/globals.h.

◆ operator|=() [1/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator|= ( int4 & a,
const int32_t b )
inline

Definition at line 177 of file device/cpu/globals.h.

◆ operator|=() [2/4]

ccl_device_inline int4 & KernelGlobalsCPU::operator|= ( int4 & a,
const int4 b )
inline

Definition at line 173 of file device/cpu/globals.h.

◆ operator|=() [3/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator|= ( vint8 & a,
const int32_t b )
inline

Definition at line 196 of file device/cpu/globals.h.

◆ operator|=() [4/4]

ccl_device_inline vint8 & KernelGlobalsCPU::operator|= ( vint8 & a,
const vint8 b )
inline

Definition at line 192 of file device/cpu/globals.h.

◆ or_mask()

ccl_device_inline float KernelGlobalsCPU::or_mask ( const float x,
const uint y )
inline

Definition at line 671 of file device/cpu/globals.h.

◆ pingpongf()

ccl_device_inline float KernelGlobalsCPU::pingpongf ( const float a,
const float b )
inline

Definition at line 441 of file device/cpu/globals.h.

◆ pointer_pack_to_uint_0()

template<typename T>
ccl_device_inline uint KernelGlobalsCPU::pointer_pack_to_uint_0 ( T * ptr)
inline

Definition at line 311 of file device/cpu/globals.h.

◆ pointer_pack_to_uint_1()

template<typename T>
ccl_device_inline uint KernelGlobalsCPU::pointer_pack_to_uint_1 ( T * ptr)
inline

Definition at line 316 of file device/cpu/globals.h.

◆ pointer_unpack_from_uint()

template<typename T>
ccl_device_inline T * KernelGlobalsCPU::pointer_unpack_from_uint ( const uint a,
const uint b )
inline

Definition at line 321 of file device/cpu/globals.h.

◆ polar_to_cartesian()

ccl_device_inline float2 KernelGlobalsCPU::polar_to_cartesian ( const float r,
const float phi )
inline

Definition at line 30 of file device/cpu/globals.h.

◆ popcount()

ccl_device_inline uint KernelGlobalsCPU::popcount ( const uint x)
inline

Definition at line 688 of file device/cpu/globals.h.

◆ pow()

ccl_device_inline vfloat8 KernelGlobalsCPU::pow ( vfloat8 v,
const float e )
inline

Definition at line 320 of file device/cpu/globals.h.

◆ pow20()

ccl_device_inline float KernelGlobalsCPU::pow20 ( const float a)
inline

Definition at line 637 of file device/cpu/globals.h.

◆ pow22()

ccl_device_inline float KernelGlobalsCPU::pow22 ( const float a)
inline

Definition at line 642 of file device/cpu/globals.h.

◆ power() [1/3]

ccl_device_inline float2 KernelGlobalsCPU::power ( const float2 v,
const float e )
inline

Definition at line 264 of file device/cpu/globals.h.

◆ power() [2/3]

ccl_device_inline float3 KernelGlobalsCPU::power ( const float3 v,
const float e )
inline

Definition at line 639 of file device/cpu/globals.h.

◆ power() [3/3]

ccl_device_inline float4 KernelGlobalsCPU::power ( const float4 v,
const float e )
inline

Definition at line 625 of file device/cpu/globals.h.

◆ power_of_2()

ccl_device_inline int KernelGlobalsCPU::power_of_2 ( const int a)
inline

Definition at line 632 of file device/cpu/globals.h.

◆ precise_angle()

ccl_device_inline float KernelGlobalsCPU::precise_angle ( const float3 a,
const float3 b )
inline

Definition at line 774 of file device/cpu/globals.h.

◆ prev_power_of_two()

ccl_device_inline uint KernelGlobalsCPU::prev_power_of_two ( const uint x)
inline

Definition at line 792 of file device/cpu/globals.h.

◆ print_dual1()

ccl_device_inline void KernelGlobalsCPU::print_dual1 ( const ccl_private char * label,
const dual1 a )
inline

Definition at line 83 of file device/cpu/globals.h.

◆ print_dual2()

ccl_device_inline void KernelGlobalsCPU::print_dual2 ( const ccl_private char * label,
const dual2 a )
inline

Definition at line 97 of file device/cpu/globals.h.

◆ print_dual3()

ccl_device_inline void KernelGlobalsCPU::print_dual3 ( const ccl_private char * label,
const dual3 a )
inline

Definition at line 114 of file device/cpu/globals.h.

◆ print_float()

ccl_device_inline void KernelGlobalsCPU::print_float ( const ccl_private char * label,
const float a )
inline

Definition at line 82 of file device/cpu/globals.h.

◆ print_float2()

ccl_device_inline void KernelGlobalsCPU::print_float2 ( const ccl_private char * label,
const float2 a )
inline

Definition at line 63 of file device/cpu/globals.h.

◆ print_float3()

ccl_device_inline void KernelGlobalsCPU::print_float3 ( const ccl_private char * label,
const float3 a )
inline

Definition at line 129 of file device/cpu/globals.h.

◆ print_float4()

ccl_device_inline void KernelGlobalsCPU::print_float4 ( const ccl_private char * label,
const float4 a )
inline

Definition at line 126 of file device/cpu/globals.h.

◆ print_int3()

ccl_device_inline void KernelGlobalsCPU::print_int3 ( const ccl_private char * label,
const int3 a )
inline

Definition at line 97 of file device/cpu/globals.h.

◆ print_int4()

ccl_device_inline void KernelGlobalsCPU::print_int4 ( const ccl_private char * label,
const int4 a )
inline

Definition at line 84 of file device/cpu/globals.h.

◆ print_projection()

ccl_device_inline void KernelGlobalsCPU::print_projection ( const char * label,
const ProjectionTransform & t )
inline

Definition at line 276 of file device/cpu/globals.h.

◆ print_transform()

ccl_device_inline void KernelGlobalsCPU::print_transform ( const char * label,
const Transform & t )
inline

Definition at line 262 of file device/cpu/globals.h.

◆ print_vfloat8()

ccl_device_inline void KernelGlobalsCPU::print_vfloat8 ( const ccl_private char * label,
const vfloat8 a )
inline

Definition at line 108 of file device/cpu/globals.h.

◆ project()

ccl_device_inline float3 KernelGlobalsCPU::project ( const float3 v,
const float3 v_proj )
inline

Definition at line 523 of file device/cpu/globals.h.

◆ projection_identity()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::projection_identity ( )
inline

Definition at line 178 of file device/cpu/globals.h.

◆ projection_inverse()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::projection_inverse ( const ProjectionTransform tfm)
inline

Definition at line 231 of file device/cpu/globals.h.

◆ projection_inverse_impl()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_forceinline bool KernelGlobalsCPU::projection_inverse_impl ( ccl_private float R[4][4],
ccl_private float M[4][4] )
inline

Definition at line 11 of file device/cpu/globals.h.

◆ projection_orthographic()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::projection_orthographic ( const float znear,
const float zfar )
inline

Definition at line 299 of file device/cpu/globals.h.

◆ projection_perspective()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::projection_perspective ( const float fov,
const float n,
float f )
inline

Definition at line 285 of file device/cpu/globals.h.

◆ projection_to_transform()

ccl_device_inline Transform KernelGlobalsCPU::projection_to_transform ( const ProjectionTransform & a)
inline

Definition at line 199 of file device/cpu/globals.h.

◆ projection_transpose()

ccl_device_inline ProjectionTransform KernelGlobalsCPU::projection_transpose ( const ProjectionTransform a)
inline

Definition at line 206 of file device/cpu/globals.h.

◆ quat_interpolate()

ccl_device_inline float4 KernelGlobalsCPU::quat_interpolate ( const float4 q1,
const float4 q2,
const float t )
inline

Definition at line 420 of file device/cpu/globals.h.

◆ reciprocal()

ccl_device_inline float3 KernelGlobalsCPU::reciprocal ( const float3 a)
inline

Definition at line 36 of file device/cpu/globals.h.

◆ rect_clip()

ccl_device_inline int4 KernelGlobalsCPU::rect_clip ( const int4 a,
const int4 b )
inline

Definition at line 26 of file device/cpu/globals.h.

◆ rect_expand()

ccl_device_inline int4 KernelGlobalsCPU::rect_expand ( const int4 rect,
const int d )
inline

Definition at line 20 of file device/cpu/globals.h.

◆ rect_from_shape()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline int4 KernelGlobalsCPU::rect_from_shape ( const int x0,
const int y0,
const int w,
int h )
inline

Definition at line 15 of file device/cpu/globals.h.

◆ rect_is_valid()

ccl_device_inline bool KernelGlobalsCPU::rect_is_valid ( const int4 rect)
inline

Definition at line 31 of file device/cpu/globals.h.

◆ rect_size()

ccl_device_inline int KernelGlobalsCPU::rect_size ( const int4 rect)
inline

Definition at line 56 of file device/cpu/globals.h.

◆ reduce_add() [1/5]

template<class T>
ccl_device_inline dual1 KernelGlobalsCPU::reduce_add ( const dual< T > a)
inline

Definition at line 49 of file device/cpu/globals.h.

◆ reduce_add() [2/5]

ccl_device_inline float KernelGlobalsCPU::reduce_add ( const float2 a)
inline

Definition at line 178 of file device/cpu/globals.h.

◆ reduce_add() [3/5]

ccl_device_inline float KernelGlobalsCPU::reduce_add ( const float3 a)
inline

Definition at line 590 of file device/cpu/globals.h.

◆ reduce_add() [4/5]

ccl_device_inline float KernelGlobalsCPU::reduce_add ( const float4 a)
inline

Definition at line 327 of file device/cpu/globals.h.

◆ reduce_add() [5/5]

ccl_device_inline float KernelGlobalsCPU::reduce_add ( const vfloat8 a)
inline

Definition at line 197 of file device/cpu/globals.h.

◆ reduce_max() [1/4]

ccl_device_inline float KernelGlobalsCPU::reduce_max ( const float2 a)
inline

Definition at line 173 of file device/cpu/globals.h.

◆ reduce_max() [2/4]

ccl_device_inline float KernelGlobalsCPU::reduce_max ( const float3 a)
inline

Definition at line 302 of file device/cpu/globals.h.

◆ reduce_max() [3/4]

ccl_device_inline float KernelGlobalsCPU::reduce_max ( const float4 a)
inline

Definition at line 358 of file device/cpu/globals.h.

◆ reduce_max() [4/4]

ccl_device_inline float KernelGlobalsCPU::reduce_max ( const vfloat8 a)
inline

Definition at line 337 of file device/cpu/globals.h.

◆ reduce_min() [1/4]

ccl_device_inline float KernelGlobalsCPU::reduce_min ( const float2 a)
inline

Definition at line 168 of file device/cpu/globals.h.

◆ reduce_min() [2/4]

ccl_device_inline float KernelGlobalsCPU::reduce_min ( const float3 a)
inline

Definition at line 297 of file device/cpu/globals.h.

◆ reduce_min() [3/4]

ccl_device_inline float KernelGlobalsCPU::reduce_min ( const float4 a)
inline

Definition at line 344 of file device/cpu/globals.h.

◆ reduce_min() [4/4]

ccl_device_inline float KernelGlobalsCPU::reduce_min ( const vfloat8 a)
inline

Definition at line 332 of file device/cpu/globals.h.

◆ reflect()

ccl_device_inline float3 KernelGlobalsCPU::reflect ( const float3 incident,
const float3 unit_normal )
inline

Definition at line 496 of file device/cpu/globals.h.

◆ refract()

ccl_device_inline float3 KernelGlobalsCPU::refract ( const float3 incident,
const float3 normal,
const float eta )
inline

Definition at line 501 of file device/cpu/globals.h.

◆ reverse_integer_bits()

ccl_device_inline uint32_t KernelGlobalsCPU::reverse_integer_bits ( uint32_t x)
inline

Definition at line 802 of file device/cpu/globals.h.

◆ rgb_to_rgbe()

ccl_device RGBE KernelGlobalsCPU::rgb_to_rgbe ( float3 rgb)
inline

Definition at line 60 of file device/cpu/globals.h.

◆ rgbe_to_rgb()

ccl_device_inline float3 KernelGlobalsCPU::rgbe_to_rgb ( const RGBE rgbe)
inline

Definition at line 92 of file device/cpu/globals.h.

◆ rotate_around_axis()

ccl_device_inline float3 KernelGlobalsCPU::rotate_around_axis ( const float3 p,
const float3 axis,
const float angle )
inline

Definition at line 748 of file device/cpu/globals.h.

◆ round()

ccl_device_inline float3 KernelGlobalsCPU::round ( const float3 a)
inline

Definition at line 422 of file device/cpu/globals.h.

◆ round_down()

ccl_device_inline size_t KernelGlobalsCPU::round_down ( const size_t x,
const size_t multiple )
inline

Definition at line 62 of file device/cpu/globals.h.

◆ round_up()

ccl_device_inline size_t KernelGlobalsCPU::round_up ( const size_t x,
const size_t multiple )
inline

Definition at line 57 of file device/cpu/globals.h.

◆ safe_acosf()

ccl_device float KernelGlobalsCPU::safe_acosf ( const float a)
inline

Definition at line 543 of file device/cpu/globals.h.

◆ safe_asinf()

ccl_device float KernelGlobalsCPU::safe_asinf ( const float a)
inline

Definition at line 538 of file device/cpu/globals.h.

◆ safe_divide() [1/7]

ccl_device float KernelGlobalsCPU::safe_divide ( const float a,
const float b )
inline

Definition at line 580 of file device/cpu/globals.h.

◆ safe_divide() [2/7]

ccl_device_inline float3 KernelGlobalsCPU::safe_divide ( const float3 a,
const float b )
inline

Definition at line 561 of file device/cpu/globals.h.

◆ safe_divide() [3/7]

ccl_device_inline float3 KernelGlobalsCPU::safe_divide ( const float3 a,
const float3 b )
inline

Definition at line 554 of file device/cpu/globals.h.

◆ safe_divide() [4/7]

ccl_device_inline float4 KernelGlobalsCPU::safe_divide ( const float4 a,
const float b )
inline

Definition at line 588 of file device/cpu/globals.h.

◆ safe_divide() [5/7]

ccl_device_inline float4 KernelGlobalsCPU::safe_divide ( const float4 a,
const float4 b )
inline

Definition at line 593 of file device/cpu/globals.h.

◆ safe_divide() [6/7]

ccl_device_inline vfloat8 KernelGlobalsCPU::safe_divide ( const vfloat8 a,
const float b )
inline

Definition at line 347 of file device/cpu/globals.h.

◆ safe_divide() [7/7]

ccl_device_inline vfloat8 KernelGlobalsCPU::safe_divide ( const vfloat8 a,
const vfloat8 b )
inline

Definition at line 352 of file device/cpu/globals.h.

◆ safe_divide_float2_float()

ccl_device_inline float2 KernelGlobalsCPU::safe_divide_float2_float ( const float2 a,
const float b )
inline

Definition at line 269 of file device/cpu/globals.h.

◆ safe_floored_fmod()

ccl_device_inline float3 KernelGlobalsCPU::safe_floored_fmod ( const float3 a,
const float3 b )
inline

Definition at line 667 of file device/cpu/globals.h.

◆ safe_floored_modulo()

ccl_device float KernelGlobalsCPU::safe_floored_modulo ( const float a,
const float b )
inline

Definition at line 599 of file device/cpu/globals.h.

◆ safe_fmod()

ccl_device_inline float3 KernelGlobalsCPU::safe_fmod ( const float3 a,
const float3 b )
inline

Definition at line 677 of file device/cpu/globals.h.

◆ safe_logf()

ccl_device float KernelGlobalsCPU::safe_logf ( const float a,
const float b )
inline

Definition at line 585 of file device/cpu/globals.h.

◆ safe_modulo()

ccl_device float KernelGlobalsCPU::safe_modulo ( const float a,
const float b )
inline

Definition at line 594 of file device/cpu/globals.h.

◆ safe_normalize() [1/3]

ccl_device_inline float2 KernelGlobalsCPU::safe_normalize ( const float2 a)
inline

Definition at line 188 of file device/cpu/globals.h.

◆ safe_normalize() [2/3]

ccl_device_inline float3 KernelGlobalsCPU::safe_normalize ( const float3 a)
inline

Definition at line 536 of file device/cpu/globals.h.

◆ safe_normalize() [3/3]

ccl_device_inline float4 KernelGlobalsCPU::safe_normalize ( const float4 a)
inline

Definition at line 447 of file device/cpu/globals.h.

◆ safe_normalize_fallback()

ccl_device_inline float3 KernelGlobalsCPU::safe_normalize_fallback ( const float3 a,
const float3 fallback )
inline

Definition at line 542 of file device/cpu/globals.h.

◆ safe_normalize_len()

ccl_device_inline float3 KernelGlobalsCPU::safe_normalize_len ( const float3 a,
ccl_private float * t )
inline

Definition at line 548 of file device/cpu/globals.h.

◆ safe_pow()

ccl_device_inline float3 KernelGlobalsCPU::safe_pow ( const float3 a,
const float3 b )
inline

Definition at line 644 of file device/cpu/globals.h.

◆ safe_powf()

ccl_device float KernelGlobalsCPU::safe_powf ( const float a,
const float b )
inline

Definition at line 571 of file device/cpu/globals.h.

◆ safe_sqrt()

ccl_device_inline float3 KernelGlobalsCPU::safe_sqrt ( const float3 a)
inline

Definition at line 518 of file device/cpu/globals.h.

◆ safe_sqrtf()

ccl_device_inline float KernelGlobalsCPU::safe_sqrtf ( const float f)
inline

Definition at line 524 of file device/cpu/globals.h.

◆ saturate() [1/3]

ccl_device_inline float3 KernelGlobalsCPU::saturate ( const float3 a)
inline

Definition at line 461 of file device/cpu/globals.h.

◆ saturate() [2/3]

ccl_device_inline float4 KernelGlobalsCPU::saturate ( const float4 a)
inline

Definition at line 525 of file device/cpu/globals.h.

◆ saturate() [3/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::saturate ( const vfloat8 a)
inline

Definition at line 292 of file device/cpu/globals.h.

◆ saturatef()

ccl_device_inline float KernelGlobalsCPU::saturatef ( const float a)
inline

Definition at line 401 of file device/cpu/globals.h.

◆ select() [1/6]

ccl_device_inline int4 KernelGlobalsCPU::select ( const int4 mask,
const int4 a,
const int4 b )
inline

Definition at line 230 of file device/cpu/globals.h.

◆ select() [2/6]

template<class MaskType>
ccl_device_inline float2 KernelGlobalsCPU::select ( const MaskType mask,
const float2 a,
const float2 b )
inline

Definition at line 152 of file device/cpu/globals.h.

◆ select() [3/6]

template<class MaskType>
ccl_device_inline float3 KernelGlobalsCPU::select ( const MaskType mask,
const float3 a,
const float3 b )
inline

Definition at line 616 of file device/cpu/globals.h.

◆ select() [4/6]

template<class MaskType>
ccl_device_inline float4 KernelGlobalsCPU::select ( const MaskType mask,
const float4 a,
const float4 b )
inline

Definition at line 552 of file device/cpu/globals.h.

◆ select() [5/6]

ccl_device_inline vfloat8 KernelGlobalsCPU::select ( const vint8 mask,
const vfloat8 a,
const vfloat8 b )
inline

Definition at line 250 of file device/cpu/globals.h.

◆ select() [6/6]

ccl_device_inline vint8 KernelGlobalsCPU::select ( const vint8 mask,
const vint8 a,
const vint8 b )
inline

Definition at line 263 of file device/cpu/globals.h.

◆ signf()

ccl_device_inline float KernelGlobalsCPU::signf ( const float f)
inline

Definition at line 455 of file device/cpu/globals.h.

◆ sin()

ccl_device_inline float3 KernelGlobalsCPU::sin ( const float3 v)
inline

Definition at line 476 of file device/cpu/globals.h.

◆ sin_from_cos()

ccl_device_inline float KernelGlobalsCPU::sin_from_cos ( const float c)
inline

Definition at line 609 of file device/cpu/globals.h.

◆ sin_sqr_to_one_minus_cos()

ccl_device_inline float KernelGlobalsCPU::sin_sqr_to_one_minus_cos ( const float s_sq)
inline

Definition at line 619 of file device/cpu/globals.h.

◆ smoothminf()

ccl_device_inline float KernelGlobalsCPU::smoothminf ( const float a,
const float b,
float k )
inline

Definition at line 446 of file device/cpu/globals.h.

◆ smoothstep()

ccl_device_inline float KernelGlobalsCPU::smoothstep ( const float edge0,
const float edge1,
const float x )
inline

Definition at line 377 of file device/cpu/globals.h.

◆ smoothstepf()

ccl_device_inline float KernelGlobalsCPU::smoothstepf ( const float f)
inline

Definition at line 485 of file device/cpu/globals.h.

◆ solve_quadratic()

ccl_device_inline bool KernelGlobalsCPU::solve_quadratic ( const float a,
const float b,
const float c,
ccl_private float & x1,
ccl_private float & x2 )
inline

Definition at line 842 of file device/cpu/globals.h.

◆ spherical_cos_to_direction()

ccl_device float3 KernelGlobalsCPU::spherical_cos_to_direction ( const float cos_theta,
const float phi )
inline

Definition at line 24 of file device/cpu/globals.h.

◆ spherical_to_direction()

ccl_device float3 KernelGlobalsCPU::spherical_to_direction ( const float theta,
const float phi )
inline

Definition at line 19 of file device/cpu/globals.h.

◆ sqr() [1/4]

ccl_device_inline float KernelGlobalsCPU::sqr ( const float a)
inline

Definition at line 604 of file device/cpu/globals.h.

◆ sqr() [2/4]

ccl_device_inline float3 KernelGlobalsCPU::sqr ( const float3 a)
inline

Definition at line 571 of file device/cpu/globals.h.

◆ sqr() [3/4]

ccl_device_inline float4 KernelGlobalsCPU::sqr ( const float4 a)
inline

Definition at line 398 of file device/cpu/globals.h.

◆ sqr() [4/4]

ccl_device_inline vfloat8 KernelGlobalsCPU::sqr ( const vfloat8 a)
inline

Definition at line 187 of file device/cpu/globals.h.

◆ sqrt() [1/3]

ccl_device_inline float3 KernelGlobalsCPU::sqrt ( const float3 a)
inline

Definition at line 413 of file device/cpu/globals.h.

◆ sqrt() [2/3]

ccl_device_inline float4 KernelGlobalsCPU::sqrt ( const float4 a)
inline

Definition at line 409 of file device/cpu/globals.h.

◆ sqrt() [3/3]

ccl_device_inline vfloat8 KernelGlobalsCPU::sqrt ( const vfloat8 a)
inline

Definition at line 171 of file device/cpu/globals.h.

◆ static_assert_align() [1/15]

KernelGlobalsCPU::static_assert_align ( KernelBake ,
16  )

◆ static_assert_align() [2/15]

KernelGlobalsCPU::static_assert_align ( KernelCamera ,
16  )

◆ static_assert_align() [3/15]

KernelGlobalsCPU::static_assert_align ( KernelCurve ,
16  )

◆ static_assert_align() [4/15]

KernelGlobalsCPU::static_assert_align ( KernelCurveSegment ,
8  )

◆ static_assert_align() [5/15]

KernelGlobalsCPU::static_assert_align ( KernelData ,
16  )

◆ static_assert_align() [6/15]

KernelGlobalsCPU::static_assert_align ( KernelFilmConvert ,
16  )

◆ static_assert_align() [7/15]

KernelGlobalsCPU::static_assert_align ( KernelLight ,
16  )

◆ static_assert_align() [8/15]

KernelGlobalsCPU::static_assert_align ( KernelLightDistribution ,
16  )

◆ static_assert_align() [9/15]

KernelGlobalsCPU::static_assert_align ( KernelLightTreeEmitter ,
16  )

◆ static_assert_align() [10/15]

KernelGlobalsCPU::static_assert_align ( KernelLightTreeNode ,
16  )

◆ static_assert_align() [11/15]

KernelGlobalsCPU::static_assert_align ( KernelObject ,
16  )

◆ static_assert_align() [12/15]

KernelGlobalsCPU::static_assert_align ( KernelParticle ,
16  )

◆ static_assert_align() [13/15]

KernelGlobalsCPU::static_assert_align ( KernelShader ,
16  )

◆ static_assert_align() [14/15]

KernelGlobalsCPU::static_assert_align ( KernelShaderEvalInput ,
16  )

◆ static_assert_align() [15/15]

KernelGlobalsCPU::static_assert_align ( KernelTables ,
16  )

◆ system_console_width()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN int KernelGlobalsCPU::system_console_width ( )

◆ system_cpu_bits()

int KernelGlobalsCPU::system_cpu_bits ( )

◆ system_cpu_brand_string()

std::string KernelGlobalsCPU::system_cpu_brand_string ( )

◆ system_cpu_support_avx2()

bool KernelGlobalsCPU::system_cpu_support_avx2 ( )

◆ system_cpu_support_sse42()

bool KernelGlobalsCPU::system_cpu_support_sse42 ( )

◆ system_physical_ram()

size_t KernelGlobalsCPU::system_physical_ram ( )

◆ system_self_process_id()

uint64_t KernelGlobalsCPU::system_self_process_id ( )

◆ tan()

ccl_device_inline float3 KernelGlobalsCPU::tan ( const float3 v)
inline

Definition at line 486 of file device/cpu/globals.h.

◆ tan_angle()

ccl_device_inline float KernelGlobalsCPU::tan_angle ( const float3 a,
const float3 b )
inline

Definition at line 780 of file device/cpu/globals.h.

◆ to_global() [1/2]

template<class T>
ccl_device_inline T KernelGlobalsCPU::to_global ( const float2 p,
const T X,
const T Y )
inline

Definition at line 36 of file device/cpu/globals.h.

◆ to_global() [2/2]

template<class T>
ccl_device_inline T KernelGlobalsCPU::to_global ( const float3 p,
const T X,
const T Y,
const T Z )
inline

Definition at line 42 of file device/cpu/globals.h.

◆ to_local() [1/2]

template<class T>
ccl_device_inline float2 KernelGlobalsCPU::to_local ( const T p,
const T X,
const T Y )
inline

Definition at line 48 of file device/cpu/globals.h.

◆ to_local() [2/2]

template<class T>
ccl_device_inline float3 KernelGlobalsCPU::to_local ( const T p,
const T X,
const T Y,
const T Z )
inline

Definition at line 54 of file device/cpu/globals.h.

◆ transform_clear_scale()

ccl_device_inline Transform KernelGlobalsCPU::transform_clear_scale ( const Transform & tfm)
inline

Definition at line 400 of file device/cpu/globals.h.

◆ transform_compose()

ccl_device_inline void KernelGlobalsCPU::transform_compose ( ccl_private Transform * tfm,
const ccl_private DecomposedTransform * decomp )
inline

Definition at line 539 of file device/cpu/globals.h.

◆ transform_decomposed_isfinite_safe()

ccl_device_inline bool KernelGlobalsCPU::transform_decomposed_isfinite_safe ( ccl_private DecomposedTransform * decomp)
inline

Definition at line 620 of file device/cpu/globals.h.

◆ transform_direction()

ccl_device_inline float3 KernelGlobalsCPU::transform_direction ( const ccl_private Transform * t,
const float3 a )
inline

Definition at line 127 of file device/cpu/globals.h.

◆ transform_direction_transposed()

ccl_device_inline float3 KernelGlobalsCPU::transform_direction_transposed ( const ccl_private Transform * t,
const float3 a )
inline

Definition at line 149 of file device/cpu/globals.h.

◆ transform_empty()

ccl_device_inline Transform KernelGlobalsCPU::transform_empty ( )
inline

Definition at line 411 of file device/cpu/globals.h.

◆ transform_equal_threshold()

ccl_device_inline bool KernelGlobalsCPU::transform_equal_threshold ( const Transform & A,
const Transform & B,
const float threshold )
inline

Definition at line 339 of file device/cpu/globals.h.

◆ transform_euler()

ccl_device_inline Transform KernelGlobalsCPU::transform_euler ( const float3 euler)
inline

Definition at line 315 of file device/cpu/globals.h.

◆ transform_from_viewplane()

Transform KernelGlobalsCPU::transform_from_viewplane ( BoundBox2D & viewplane)

◆ transform_get_column()

ccl_device_inline float3 KernelGlobalsCPU::transform_get_column ( const Transform * t,
const int column )
inline

Definition at line 354 of file device/cpu/globals.h.

◆ transform_identity()

ccl_device_inline Transform KernelGlobalsCPU::transform_identity ( )
inline

Definition at line 322 of file device/cpu/globals.h.

◆ transform_inverse()

ccl_device_inline Transform KernelGlobalsCPU::transform_inverse ( const Transform tfm)
inline

Definition at line 525 of file device/cpu/globals.h.

◆ transform_inverse_cpu_avx2()

void KernelGlobalsCPU::transform_inverse_cpu_avx2 ( const Transform & tfm,
Transform & itfm )

◆ transform_inverse_cross()

ccl_device_forceinline float3 KernelGlobalsCPU::transform_inverse_cross ( const float3 a_,
const float3 b_ )
inline

Definition at line 453 of file device/cpu/globals.h.

◆ transform_inverse_dot()

ccl_device_forceinline float KernelGlobalsCPU::transform_inverse_dot ( const float3 a_,
const float3 b_ )
inline

Definition at line 471 of file device/cpu/globals.h.

◆ transform_inverse_impl()

ccl_device_forceinline Transform KernelGlobalsCPU::transform_inverse_impl ( const Transform tfm)
inline

Definition at line 482 of file device/cpu/globals.h.

◆ transform_isfinite_safe()

ccl_device_inline bool KernelGlobalsCPU::transform_isfinite_safe ( ccl_private Transform * tfm)
inline

Definition at line 615 of file device/cpu/globals.h.

◆ transform_motion_array_interpolate()

ccl_device void KernelGlobalsCPU::transform_motion_array_interpolate ( ccl_private Transform * tfm,
const ccl_global DecomposedTransform * motion,
const uint numsteps,
const float time )
inline

Definition at line 591 of file device/cpu/globals.h.

◆ transform_motion_decompose()

void KernelGlobalsCPU::transform_motion_decompose ( DecomposedTransform * decomp,
const Transform * motion,
const size_t size )

◆ transform_negative_scale()

ccl_device_inline bool KernelGlobalsCPU::transform_negative_scale ( const Transform & tfm)
inline

Definition at line 391 of file device/cpu/globals.h.

◆ transform_perspective()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float3 KernelGlobalsCPU::transform_perspective ( const ccl_private ProjectionTransform * t,
const float3 a )
inline

Definition at line 94 of file device/cpu/globals.h.

◆ transform_perspective_deriv()

ccl_device_inline float3 KernelGlobalsCPU::transform_perspective_deriv ( const ccl_private ProjectionTransform * t,
const float3 a,
const float3 dx,
const float3 dy,
ccl_private float3 & out_dx,
ccl_private float3 & out_dy )
inline

Definition at line 116 of file device/cpu/globals.h.

◆ transform_perspective_direction()

ccl_device_inline float3 KernelGlobalsCPU::transform_perspective_direction ( const ccl_private ProjectionTransform * t,
const float3 a )
inline

Definition at line 104 of file device/cpu/globals.h.

◆ transform_point() [1/2]

ccl_device_inline dual3 KernelGlobalsCPU::transform_point ( const ccl_private Transform * t,
const dual3 a )
inline

Definition at line 79 of file device/cpu/globals.h.

◆ transform_point() [2/2]

ccl_device_inline float3 KernelGlobalsCPU::transform_point ( const ccl_private Transform * t,
const float3 a )
inline

Definition at line 56 of file device/cpu/globals.h.

◆ transform_rotate()

ccl_device_inline Transform KernelGlobalsCPU::transform_rotate ( const float angle,
float3 axis )
inline

Definition at line 290 of file device/cpu/globals.h.

◆ transform_scale() [1/2]

ccl_device_inline Transform KernelGlobalsCPU::transform_scale ( const float x,
const float y,
float z )
inline

Definition at line 285 of file device/cpu/globals.h.

◆ transform_scale() [2/2]

ccl_device_inline Transform KernelGlobalsCPU::transform_scale ( const float3 s)
inline

Definition at line 280 of file device/cpu/globals.h.

◆ transform_set_column()

ccl_device_inline void KernelGlobalsCPU::transform_set_column ( Transform * t,
const int column,
const float3 value )
inline

Definition at line 359 of file device/cpu/globals.h.

◆ transform_to_quat()

float4 KernelGlobalsCPU::transform_to_quat ( const Transform & tfm)

◆ transform_translate() [1/2]

ccl_device_inline Transform KernelGlobalsCPU::transform_translate ( const float x,
const float y,
float z )
inline

Definition at line 275 of file device/cpu/globals.h.

◆ transform_translate() [2/2]

ccl_device_inline Transform KernelGlobalsCPU::transform_translate ( const float3 t)
inline

Definition at line 270 of file device/cpu/globals.h.

◆ transform_transposed_inverse()

Transform KernelGlobalsCPU::transform_transposed_inverse ( const Transform & tfm)

◆ transform_uniform_scale()

ccl_device_inline bool KernelGlobalsCPU::transform_uniform_scale ( const Transform & tfm,
float & scale )
inline

Definition at line 368 of file device/cpu/globals.h.

◆ transform_zero()

ccl_device_inline Transform KernelGlobalsCPU::transform_zero ( )
inline

Definition at line 254 of file device/cpu/globals.h.

◆ triangle_area()

ccl_device_inline float KernelGlobalsCPU::triangle_area ( const ccl_private float3 & v1,
const ccl_private float3 & v2,
const ccl_private float3 & v3 )
inline

Definition at line 709 of file device/cpu/globals.h.

◆ uint16_pack_to_uint()

ccl_device_inline uint KernelGlobalsCPU::uint16_pack_to_uint ( const uint a,
const uint b )
inline

Definition at line 326 of file device/cpu/globals.h.

◆ uint16_unpack_from_uint_0()

ccl_device_inline uint KernelGlobalsCPU::uint16_unpack_from_uint_0 ( const uint i)
inline

Definition at line 331 of file device/cpu/globals.h.

◆ uint16_unpack_from_uint_1()

ccl_device_inline uint KernelGlobalsCPU::uint16_unpack_from_uint_1 ( const uint i)
inline

Definition at line 336 of file device/cpu/globals.h.

◆ uint3_as_float3()

ccl_device_inline float3 KernelGlobalsCPU::uint3_as_float3 ( const uint3 f)
inline

Definition at line 838 of file device/cpu/globals.h.

◆ vector_angle()

ccl_device_inline float KernelGlobalsCPU::vector_angle ( const float3 a,
const float3 b )
inline

Definition at line 339 of file device/cpu/globals.h.

◆ wrap()

ccl_device_inline float3 KernelGlobalsCPU::wrap ( const float3 value,
const float3 max,
const float3 min )
inline

Definition at line 672 of file device/cpu/globals.h.

◆ wrapf()

ccl_device_inline float KernelGlobalsCPU::wrapf ( const float value,
const float max,
const float min )
inline

Definition at line 435 of file device/cpu/globals.h.

◆ xor_mask()

ccl_device_inline float KernelGlobalsCPU::xor_mask ( const float x,
const uint y )
inline

Definition at line 666 of file device/cpu/globals.h.

◆ zero_float2()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float2 KernelGlobalsCPU::zero_float2 ( )
inline

Definition at line 13 of file device/cpu/globals.h.

◆ zero_float3()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float3 KernelGlobalsCPU::zero_float3 ( )
inline

Definition at line 17 of file device/cpu/globals.h.

◆ zero_float4()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float4 KernelGlobalsCPU::zero_float4 ( )
inline

Definition at line 13 of file device/cpu/globals.h.

◆ zero_int4()

ccl_device_inline int4 KernelGlobalsCPU::zero_int4 ( )
inline

Definition at line 79 of file device/cpu/globals.h.

◆ zero_vfloat8()

CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline vfloat8 KernelGlobalsCPU::zero_vfloat8 ( )
inline

Definition at line 14 of file device/cpu/globals.h.

Member Data Documentation

◆ data

CCL_NAMESPACE_END KernelData KernelGlobalsCPU::data = {}

◆ profiler


The documentation for this struct was generated from the following file: