13#define HIPRT_SHARED_STACK
17#define HIPRT_THREAD_STACK_SIZE 64
20#define HIPRT_SHARED_STACK_SIZE 24
29#define HIPRT_THREAD_GROUP_SIZE 256
35#ifdef HIPRT_SHARED_STACK
42#if defined(HIPRT_SHARED_STACK)
46# define HIPRT_INIT_KERNEL_GLOBAL() \
47 ccl_gpu_shared int shared_stack[HIPRT_SHARED_STACK_SIZE * HIPRT_THREAD_GROUP_SIZE]; \
48 ccl_global KernelGlobalsGPU kg_gpu; \
49 KernelGlobals kg = &kg_gpu; \
50 kg->shared_stack.stackData = &shared_stack[0]; \
51 kg->shared_stack.stackSize = HIPRT_SHARED_STACK_SIZE; \
52 kg->global_stack_buffer = stack_buffer;
54# define HIPRT_INIT_KERNEL_GLOBAL() \
55 KernelGlobals kg = NULL; \
56 kg->global_stack_buffer = stack_buffer;
61#define KERNEL_DATA_ARRAY(type, name) const type *name;
68#include "kernel/data_arrays.h"
148# ifdef HIPRT_SHARED_STACK
149typedef hiprtGlobalStack Stack;
150typedef hiprtEmptyInstanceStack Instance_Stack;
156#define kernel_data kernel_params.data
157#define kernel_data_fetch(name, index) kernel_params.name[(index)]
158#define kernel_data_array(name) (kernel_params.name)
159#define kernel_integrator_state kernel_params.integrator_state
#define CCL_NAMESPACE_END
ccl_global KernelGlobalsGPU *ccl_restrict KernelGlobals
#define KERNEL_DATA_ARRAY(type, name)
Filter_Function_Table_Index
@ Curve_Filter_Local_None
@ Point_Filter_Opaque_Non
@ Motion_Triangle_Filter_Volume
@ Motion_Triangle_Filter_Local
@ Point_Filter_Local_None
@ Triangle_Filter_Closest
@ Curve_Filter_Volume_None
@ Motion_Triangle_Filter_Opaque_None
@ Point_Filter_Volume_None
@ Motion_Triangle_Filter_Shadow
@ Curve_Filter_Opaque_None
Intersection_Function_Table_Index
@ Motion_Triangle_Intersect_Shadow
@ Curve_Intersect_Local_None
@ Curve_Intersect_Function
@ Triangle_Intersect_Local_None
@ Point_Intersect_Volume_None
@ Motion_Triangle_Intersect_Function
@ Triangle_Intersect_Volume_None
@ Point_Intersect_Function
@ Curve_Intersect_Volume_None
@ Motion_Triangle_Intersect_Volume
@ Motion_Triangle_Intersect_Local
@ Triangle_Intersect_Shadow_None
@ Point_Intersect_Local_None
unsigned __int64 uint64_t
hiprtSharedStackBuffer shared_stack
hiprtGlobalStackBuffer global_stack_buffer
hiprtFuncTable table_closest_intersect
hiprtFuncTable table_volume_intersect
hiprtFuncTable table_local_intersect
IntegratorStateGPU integrator_state
hiprtFuncTable table_shadow_intersect