Blender  V2.93
Classes | Macros | Typedefs
kernel_split_data_types.h File Reference

Go to the source code of this file.

Classes

struct  SplitParams
 
struct  SplitData
 
struct  QueueEnqueueLocals
 
struct  BackgroundAOLocals
 
struct  ShaderSortLocals
 

Macros

#define SPLIT_DATA_BRANCHED_ENTRIES
 
#define SPLIT_DATA_SUBSURFACE_ENTRIES
 
#define SPLIT_DATA_VOLUME_ENTRIES
 
#define SPLIT_DATA_ENTRIES
 
#define SPLIT_DATA_ENTRIES_BRANCHED_SHARED
 
#define SPLIT_DATA_ENTRY(type, name, num)   type *name;
 
#define kernel_split_state   (kg->split_data)
 
#define kernel_split_params   (kg->split_param_data)
 
#define kernel_split_sd(sd, ray_index)
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct SplitParams SplitParams
 
typedef struct SplitData SplitData
 
typedef struct QueueEnqueueLocals QueueEnqueueLocals
 
typedef struct BackgroundAOLocals BackgroundAOLocals
 
typedef struct ShaderSortLocals ShaderSortLocals
 

Macro Definition Documentation

◆ kernel_split_params

#define kernel_split_params   (kg->split_param_data)

Definition at line 148 of file kernel_split_data_types.h.

◆ kernel_split_sd

#define kernel_split_sd (   sd,
  ray_index 
)
Value:
((ShaderData *)(((ccl_global char *)kernel_split_state._##sd) + \
(sizeof(ShaderData) + \
sizeof(ShaderClosure) * (kernel_data.integrator.max_closures - 1)) * \
(ray_index)))
#define kernel_data
#define ccl_global
#define kernel_split_state
ShaderData
ShaderClosure
Definition: kernel_types.h:831

Definition at line 156 of file kernel_split_data_types.h.

◆ kernel_split_state

#define kernel_split_state   (kg->split_data)

Definition at line 147 of file kernel_split_data_types.h.

◆ SPLIT_DATA_BRANCHED_ENTRIES

#define SPLIT_DATA_BRANCHED_ENTRIES

Definition at line 82 of file kernel_split_data_types.h.

◆ SPLIT_DATA_ENTRIES

#define SPLIT_DATA_ENTRIES
Value:
SPLIT_DATA_ENTRY(PathRadiance, path_radiance, 1) \
SPLIT_DATA_ENTRY(ccl_global Ray, ray, 1) \
SPLIT_DATA_ENTRY(ccl_global PathState, path_state, 1) \
SPLIT_DATA_ENTRY(ccl_global Intersection, isect, 1) \
SPLIT_DATA_ENTRY(ccl_global BsdfEval, bsdf_eval, 1) \
SPLIT_DATA_ENTRY(ccl_global int, is_lamp, 1) \
SPLIT_DATA_ENTRY(ccl_global Ray, light_ray, 1) \
SPLIT_DATA_ENTRY( \
ccl_global int, queue_data, (NUM_QUEUES * 2)) /* TODO(mai): this is too large? */ \
SPLIT_DATA_ENTRY(ccl_global uint, buffer_offset, 1) \
SPLIT_DATA_ENTRY(ShaderDataTinyStorage, sd_DL_shadow, 1) \
unsigned int uint
Definition: BLI_sys_types.h:83
ccl_device float3 bsdf_eval(KernelGlobals *kg, ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, float *pdf)
Definition: bsdf.h:485
#define SPLIT_DATA_ENTRY(type, name, num)
ShaderDataTinyStorage
@ NUM_QUEUES

Definition at line 98 of file kernel_split_data_types.h.

◆ SPLIT_DATA_ENTRIES_BRANCHED_SHARED

#define SPLIT_DATA_ENTRIES_BRANCHED_SHARED
Value:
SPLIT_DATA_ENTRY(PathRadiance, path_radiance, 1) \
SPLIT_DATA_ENTRY(ccl_global Ray, ray, 1) \
SPLIT_DATA_ENTRY(ccl_global PathState, path_state, 1) \
SPLIT_DATA_ENTRY(ccl_global Intersection, isect, 1) \
SPLIT_DATA_ENTRY(ccl_global BsdfEval, bsdf_eval, 1) \
SPLIT_DATA_ENTRY(ccl_global int, is_lamp, 1) \
SPLIT_DATA_ENTRY(ccl_global Ray, light_ray, 1) \
SPLIT_DATA_ENTRY(ShaderDataTinyStorage, sd_DL_shadow, 1) \

Definition at line 118 of file kernel_split_data_types.h.

◆ SPLIT_DATA_ENTRY

#define SPLIT_DATA_ENTRY (   type,
  name,
  num 
)    type *name;

Definition at line 135 of file kernel_split_data_types.h.

◆ SPLIT_DATA_SUBSURFACE_ENTRIES

#define SPLIT_DATA_SUBSURFACE_ENTRIES

Definition at line 89 of file kernel_split_data_types.h.

◆ SPLIT_DATA_VOLUME_ENTRIES

#define SPLIT_DATA_VOLUME_ENTRIES

Definition at line 95 of file kernel_split_data_types.h.

Typedef Documentation

◆ BackgroundAOLocals

◆ QueueEnqueueLocals

◆ ShaderSortLocals

◆ SplitData

typedef struct SplitData SplitData

◆ SplitParams