Blender  V3.3
Classes | Macros | Typedefs
state.h File Reference
#include "kernel/types.h"
#include "util/types.h"
#include "kernel/integrator/shadow_state_template.h"
#include "kernel/integrator/state_template.h"

Go to the source code of this file.

Classes

struct  IntegratorShadowStateCPU
 
struct  IntegratorStateCPU
 
struct  IntegratorQueueCounter
 
struct  IntegratorStateGPU
 

Macros

#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   type name;
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   type name;
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   ccl_global type *name;
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define INTEGRATOR_STATE_NULL   nullptr
 
#define INTEGRATOR_STATE(state, nested_struct, member)   ((state)->nested_struct.member)
 
#define INTEGRATOR_STATE_WRITE(state, nested_struct, member)   ((state)->nested_struct.member)
 
#define INTEGRATOR_STATE_ARRAY(state, nested_struct, array_index, member)    ((state)->nested_struct[array_index].member)
 
#define INTEGRATOR_STATE_ARRAY_WRITE(state, nested_struct, array_index, member)    ((state)->nested_struct[array_index].member)
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct IntegratorShadowStateCPU IntegratorShadowStateCPU
 
typedef struct IntegratorStateCPU IntegratorStateCPU
 
typedef struct IntegratorQueueCounter IntegratorQueueCounter
 
typedef struct IntegratorStateGPU IntegratorStateGPU
 
typedef IntegratorStateCPU *ccl_restrict IntegratorState
 
typedef const IntegratorStateCPU *ccl_restrict ConstIntegratorState
 
typedef IntegratorShadowStateCPU *ccl_restrict IntegratorShadowState
 
typedef const IntegratorShadowStateCPU *ccl_restrict ConstIntegratorShadowState
 

Macro Definition Documentation

◆ INTEGRATOR_STATE

#define INTEGRATOR_STATE (   state,
  nested_struct,
  member 
)    ((state)->nested_struct.member)

Definition at line 154 of file state.h.

◆ INTEGRATOR_STATE_ARRAY

#define INTEGRATOR_STATE_ARRAY (   state,
  nested_struct,
  array_index,
  member 
)     ((state)->nested_struct[array_index].member)

Definition at line 157 of file state.h.

◆ INTEGRATOR_STATE_ARRAY_WRITE

#define INTEGRATOR_STATE_ARRAY_WRITE (   state,
  nested_struct,
  array_index,
  member 
)     ((state)->nested_struct[array_index].member)

Definition at line 159 of file state.h.

◆ INTEGRATOR_STATE_NULL

#define INTEGRATOR_STATE_NULL   nullptr

Definition at line 152 of file state.h.

◆ INTEGRATOR_STATE_WRITE

#define INTEGRATOR_STATE_WRITE (   state,
  nested_struct,
  member 
)    ((state)->nested_struct.member)

Definition at line 155 of file state.h.

◆ KERNEL_STRUCT_ARRAY_MEMBER [1/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 99 of file state.h.

◆ KERNEL_STRUCT_ARRAY_MEMBER [2/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 99 of file state.h.

◆ KERNEL_STRUCT_ARRAY_MEMBER [3/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 99 of file state.h.

◆ KERNEL_STRUCT_BEGIN [1/3]

#define KERNEL_STRUCT_BEGIN (   name)    struct {

Definition at line 97 of file state.h.

◆ KERNEL_STRUCT_BEGIN [2/3]

#define KERNEL_STRUCT_BEGIN (   name)    struct {

Definition at line 97 of file state.h.

◆ KERNEL_STRUCT_BEGIN [3/3]

#define KERNEL_STRUCT_BEGIN (   name)    struct {

Definition at line 97 of file state.h.

◆ KERNEL_STRUCT_END [1/3]

#define KERNEL_STRUCT_END (   name)
Value:
} \
name;

Definition at line 100 of file state.h.

◆ KERNEL_STRUCT_END [2/3]

#define KERNEL_STRUCT_END (   name)
Value:
} \
name;

Definition at line 100 of file state.h.

◆ KERNEL_STRUCT_END [3/3]

#define KERNEL_STRUCT_END (   name)
Value:
} \
name;

Definition at line 100 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [1/3]

#define KERNEL_STRUCT_END_ARRAY (   name,
  cpu_size,
  gpu_size 
)
Value:
} \
name[cpu_size];

Definition at line 103 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [2/3]

#define KERNEL_STRUCT_END_ARRAY (   name,
  cpu_size,
  gpu_size 
)
Value:
} \
name[cpu_size];

Definition at line 103 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [3/3]

#define KERNEL_STRUCT_END_ARRAY (   name,
  cpu_size,
  gpu_size 
)
Value:
} \
name[gpu_size];

Definition at line 103 of file state.h.

◆ KERNEL_STRUCT_MEMBER [1/3]

#define KERNEL_STRUCT_MEMBER (   parent_struct,
  type,
  name,
  feature 
)    type name;

Definition at line 98 of file state.h.

◆ KERNEL_STRUCT_MEMBER [2/3]

#define KERNEL_STRUCT_MEMBER (   parent_struct,
  type,
  name,
  feature 
)    type name;

Definition at line 98 of file state.h.

◆ KERNEL_STRUCT_MEMBER [3/3]

#define KERNEL_STRUCT_MEMBER (   parent_struct,
  type,
  name,
  feature 
)    ccl_global type *name;

Definition at line 98 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [1/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 106 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [2/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 106 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [3/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 106 of file state.h.

Typedef Documentation

◆ ConstIntegratorShadowState

Definition at line 150 of file state.h.

◆ ConstIntegratorState

Definition at line 148 of file state.h.

◆ IntegratorQueueCounter

◆ IntegratorShadowState

Definition at line 149 of file state.h.

◆ IntegratorShadowStateCPU

◆ IntegratorState

Definition at line 147 of file state.h.

◆ IntegratorStateCPU

◆ IntegratorStateGPU