Go to the source code of this file.
|
| #define | KERNEL_STRUCT_BEGIN(name) |
| #define | KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature) |
| #define | KERNEL_STRUCT_MEMBER_PACKED KERNEL_STRUCT_MEMBER |
| #define | KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature) |
| #define | KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature) |
| #define | KERNEL_STRUCT_END(name) |
| #define | KERNEL_STRUCT_END_ARRAY(name, cpu_array_size, gpu_array_size) |
| #define | KERNEL_STRUCT_VOLUME_STACK_SIZE 4 |
| #define | KERNEL_STRUCT_BEGIN(name) |
| #define | KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature) |
| #define | KERNEL_STRUCT_MEMBER_PACKED KERNEL_STRUCT_MEMBER |
| #define | KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature) |
| #define | KERNEL_STRUCT_ARRAY_MEMBER(parent_struct, type, name, feature) |
| #define | KERNEL_STRUCT_END(name) |
| #define | KERNEL_STRUCT_END_ARRAY(name, cpu_array_size, gpu_array_size) |
| #define | KERNEL_STRUCT_VOLUME_STACK_SIZE (integrator_state_soa_volume_stack_size_) |
◆ KERNEL_STRUCT_ARRAY_MEMBER [1/2]
| #define KERNEL_STRUCT_ARRAY_MEMBER |
( |
| parent_struct, |
|
|
| type, |
|
|
| name, |
|
|
| feature ) |
Value:if ((kernel_features & (feature)) && \
(integrator_state_gpu_.parent_struct[array_index].name == nullptr)) \
{ \
"%sintegrator_state_" #
name "_%d", shadow ?
"shadow_" :
"", array_index); \
auto array = make_unique<device_only_memory<type>>(device_, name_str.c_str()); \
array->alloc_to_device(max_num_paths_); \
memcpy(&integrator_state_gpu_.parent_struct[array_index].name, \
&
array->device_pointer, \
sizeof(
array->device_pointer)); \
integrator_state_soa_.emplace_back(std::move(
array)); \
}
CCL_NAMESPACE_BEGIN string string_printf(const char *format,...)
◆ KERNEL_STRUCT_ARRAY_MEMBER [2/2]
| #define KERNEL_STRUCT_ARRAY_MEMBER |
( |
| parent_struct, |
|
|
| type, |
|
|
| name, |
|
|
| feature ) |
Value:state_size += (kernel_features & (feature)) ? sizeof(type) : 0;
◆ KERNEL_STRUCT_BEGIN [1/2]
| #define KERNEL_STRUCT_BEGIN |
( |
| name | ) |
|
Value:for (int array_index = 0;; array_index++) {
◆ KERNEL_STRUCT_BEGIN [2/2]
| #define KERNEL_STRUCT_BEGIN |
( |
| name | ) |
|
Value:for (int array_index = 0;; array_index++) {
◆ KERNEL_STRUCT_BEGIN_PACKED [1/2]
| #define KERNEL_STRUCT_BEGIN_PACKED |
( |
| parent_struct, |
|
|
| feature ) |
Value:
#define KERNEL_STRUCT_BEGIN(name)
◆ KERNEL_STRUCT_BEGIN_PACKED [2/2]
| #define KERNEL_STRUCT_BEGIN_PACKED |
( |
| parent_struct, |
|
|
| feature ) |
◆ KERNEL_STRUCT_END [1/2]
| #define KERNEL_STRUCT_END |
( |
| name | ) |
|
Value:(void)array_index; \
break; \
}
◆ KERNEL_STRUCT_END [2/2]
| #define KERNEL_STRUCT_END |
( |
| name | ) |
|
Value:(void)array_index; \
break; \
}
◆ KERNEL_STRUCT_END_ARRAY [1/2]
| #define KERNEL_STRUCT_END_ARRAY |
( |
| name, |
|
|
| cpu_array_size, |
|
|
| gpu_array_size ) |
Value:if (array_index >= gpu_array_size - 1) { \
break; \
} \
}
◆ KERNEL_STRUCT_END_ARRAY [2/2]
| #define KERNEL_STRUCT_END_ARRAY |
( |
| name, |
|
|
| cpu_array_size, |
|
|
| gpu_array_size ) |
Value:if (array_index >= gpu_array_size - 1) { \
break; \
} \
}
◆ KERNEL_STRUCT_MEMBER [1/2]
| #define KERNEL_STRUCT_MEMBER |
( |
| parent_struct, |
|
|
| type, |
|
|
| name, |
|
|
| feature ) |
Value:if ((kernel_features & (feature)) && (integrator_state_gpu_.parent_struct.name == nullptr)) { \
shadow ? "shadow_" : ""); \
auto array = make_unique<device_only_memory<type>>(device_, name_str.c_str()); \
array->alloc_to_device(max_num_paths_); \
memcpy(&integrator_state_gpu_.parent_struct.name, \
&
array->device_pointer, \
sizeof(
array->device_pointer)); \
integrator_state_soa_.emplace_back(std::move(
array)); \
}
◆ KERNEL_STRUCT_MEMBER [2/2]
| #define KERNEL_STRUCT_MEMBER |
( |
| parent_struct, |
|
|
| type, |
|
|
| name, |
|
|
| feature ) |
◆ KERNEL_STRUCT_MEMBER_PACKED [1/2]
◆ KERNEL_STRUCT_MEMBER_PACKED [2/2]
◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [1/2]
| #define KERNEL_STRUCT_VOLUME_STACK_SIZE (integrator_state_soa_volume_stack_size_) |
◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [2/2]
| #define KERNEL_STRUCT_VOLUME_STACK_SIZE 4 |
◆ estimate_single_state_size()