Blender V4.3
svm.h File Reference

Go to the source code of this file.

Macros

#define SVM_CASE(node)   case node:
 

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3 (ccl_private float *stack, uint a)
 
ccl_device_inline void stack_store_float3 (ccl_private float *stack, uint a, float3 f)
 
ccl_device_inline float stack_load_float (ccl_private float *stack, uint a)
 
ccl_device_inline float stack_load_float_default (ccl_private float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_float (ccl_private float *stack, uint a, float f)
 
ccl_device_inline int stack_load_int (ccl_private float *stack, uint a)
 
ccl_device_inline int stack_load_int_default (ccl_private float *stack, uint a, uint value)
 
ccl_device_inline void stack_store_int (ccl_private float *stack, uint a, int i)
 
ccl_device_inline bool stack_valid (uint a)
 
ccl_device_inline uint4 read_node (KernelGlobals kg, ccl_private int *offset)
 
ccl_device_inline float4 read_node_float (KernelGlobals kg, ccl_private int *offset)
 
ccl_device_inline float4 fetch_node_float (KernelGlobals kg, int offset)
 
ccl_device_forceinline void svm_unpack_node_uchar2 (uint i, ccl_private uint *x, ccl_private uint *y)
 
ccl_device_forceinline void svm_unpack_node_uchar3 (uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
 
ccl_device_forceinline void svm_unpack_node_uchar4 (uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z, ccl_private uint *w)
 
template<uint node_feature_mask, ShaderType type, typename ConstIntegratorGenericState >
ccl_device void svm_eval_nodes (KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd, ccl_global float *render_buffer, uint32_t path_flag)
 

Macro Definition Documentation

◆ SVM_CASE

#define SVM_CASE ( node)    case node:

Definition at line 214 of file kernel/svm/svm.h.

Referenced by svm_eval_nodes().

Function Documentation

◆ fetch_node_float()

ccl_device_inline float4 fetch_node_float ( KernelGlobals kg,
int offset )

Definition at line 115 of file kernel/svm/svm.h.

References __uint_as_float, kernel_data_fetch, and make_float4().

Referenced by rgb_ramp_lookup().

◆ read_node()

◆ read_node_float()

◆ stack_load_float()

◆ stack_load_float3()

◆ stack_load_float_default()

◆ stack_load_int()

ccl_device_inline int stack_load_int ( ccl_private float * stack,
uint a )

Definition at line 71 of file kernel/svm/svm.h.

References __float_as_int, kernel_assert, and SVM_STACK_SIZE.

Referenced by stack_load_int_default(), and svm_node_convert().

◆ stack_load_int_default()

ccl_device_inline int stack_load_int_default ( ccl_private float * stack,
uint a,
uint value )

Definition at line 78 of file kernel/svm/svm.h.

References int, stack_load_int(), and SVM_STACK_INVALID.

◆ stack_store_float()

◆ stack_store_float3()

ccl_device_inline void stack_store_float3 ( ccl_private float * stack,
uint a,
float3 f )

Definition at line 42 of file kernel/svm/svm.h.

References ccl_private, kernel_assert, SVM_STACK_SIZE, float3::x, float3::y, and float3::z.

Referenced by svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_blackbody(), svm_node_brightness(), svm_node_camera(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_convert(), svm_node_curves(), svm_node_displacement(), svm_node_enter_bump_eval(), svm_node_gamma(), svm_node_geometry(), svm_node_geometry_bump_dx(), svm_node_geometry_bump_dy(), svm_node_hsv(), svm_node_invert(), svm_node_mapping(), svm_node_min_max(), svm_node_mix(), svm_node_mix_color(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal(), svm_node_normal_map(), svm_node_object_info(), svm_node_particle_info(), svm_node_rgb_ramp(), svm_node_set_bump(), svm_node_set_normal(), svm_node_tangent(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_environment(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_sky(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_texture_mapping(), svm_node_value_v(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), svm_node_vertex_color(), svm_node_vertex_color_bump_dx(), svm_node_vertex_color_bump_dy(), svm_node_wavelength(), and svm_voronoi_output().

◆ stack_store_int()

ccl_device_inline void stack_store_int ( ccl_private float * stack,
uint a,
int i )

Definition at line 83 of file kernel/svm/svm.h.

References __int_as_float, kernel_assert, and SVM_STACK_SIZE.

Referenced by svm_node_convert().

◆ stack_valid()

◆ svm_eval_nodes()

template<uint node_feature_mask, ShaderType type, typename ConstIntegratorGenericState >
ccl_device void svm_eval_nodes ( KernelGlobals kg,
ConstIntegratorGenericState state,
ccl_private ShaderData * sd,
ccl_global float * render_buffer,
uint32_t path_flag )

Definition at line 219 of file kernel/svm/svm.h.

References IF_KERNEL_NODES_FEATURE, kernel_assert, read_node(), render_buffer, SHADER_MASK, SHADER_TYPE_DISPLACEMENT, SHADER_TYPE_SURFACE, SHADER_TYPE_VOLUME, stack_load_float(), state, SVM_CASE, svm_node_aov_check(), svm_node_aov_color(), svm_node_aov_value(), svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_blackbody(), svm_node_brightness(), svm_node_camera(), svm_node_clamp(), svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), svm_node_closure_set_weight(), svm_node_closure_volume(), svm_node_closure_weight(), svm_node_combine_color(), svm_node_combine_hsv(), svm_node_combine_vector(), svm_node_convert(), svm_node_curve(), svm_node_curves(), svm_node_displacement(), svm_node_emission_weight(), svm_node_enter_bump_eval(), svm_node_fresnel(), svm_node_gamma(), svm_node_geometry(), svm_node_geometry_bump_dx(), svm_node_geometry_bump_dy(), svm_node_hsv(), svm_node_ies(), svm_node_invert(), svm_node_layer_weight(), svm_node_leave_bump_eval(), svm_node_light_falloff(), svm_node_light_path(), svm_node_map_range(), svm_node_mapping(), svm_node_math(), svm_node_min_max(), svm_node_mix(), svm_node_mix_closure(), svm_node_mix_color(), svm_node_mix_float(), svm_node_mix_vector(), svm_node_mix_vector_non_uniform(), svm_node_normal(), svm_node_normal_map(), svm_node_object_info(), svm_node_particle_info(), svm_node_principled_volume(), svm_node_rgb_ramp(), svm_node_separate_color(), svm_node_separate_hsv(), svm_node_separate_vector(), svm_node_set_bump(), svm_node_set_displacement(), svm_node_set_normal(), svm_node_tangent(), svm_node_tex_brick(), svm_node_tex_checker(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_environment(), svm_node_tex_gabor(), svm_node_tex_gradient(), svm_node_tex_image(), svm_node_tex_image_box(), svm_node_tex_magic(), svm_node_tex_noise(), svm_node_tex_sky(), svm_node_tex_voronoi(), svm_node_tex_voxel(), svm_node_tex_wave(), svm_node_tex_white_noise(), svm_node_texture_mapping(), svm_node_value_f(), svm_node_value_v(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_node_vector_math(), svm_node_vector_rotate(), svm_node_vector_transform(), svm_node_vertex_color(), svm_node_vertex_color_bump_dx(), svm_node_vertex_color_bump_dy(), svm_node_wavelength(), svm_node_wireframe(), and SVM_STACK_SIZE.

Referenced by displacement_shader_eval(), and surface_shader_eval().

◆ svm_unpack_node_uchar2()

◆ svm_unpack_node_uchar3()

◆ svm_unpack_node_uchar4()