84# ifdef __PATH_GUIDING__
111# define INTEGRATOR_SORT_KEY(key, state) \
112 (key + kernel_data.max_shaders * (state / kernel_integrator_state.sort_partition_divisor))
119 const int key_ = INTEGRATOR_SORT_KEY(key,
state);
124# if defined(__KERNEL_LOCAL_ATOMIC_SORT__)
139 const int key_ = INTEGRATOR_SORT_KEY(key,
state);
146# if defined(__KERNEL_LOCAL_ATOMIC_SORT__)
179 (void)current_kernel;
187 (void)current_kernel;
198 (void)current_kernel;
206# ifdef __PATH_GUIDING__
218 (void)current_kernel;
226 (void)current_kernel;
ATOMIC_INLINE uint32_t atomic_fetch_and_add_uint32(uint32_t *p, uint32_t x)
#define ccl_device_forceinline
const ThreadKernelGlobalsCPU * KernelGlobals
#define CCL_NAMESPACE_END
#define kernel_integrator_state
IntegratorShadowStateCPU * IntegratorShadowState
#define INTEGRATOR_STATE_WRITE(state, nested_struct, member)
#define INTEGRATOR_STATE(state, nested_struct, member)
const IntegratorShadowStateCPU * ConstIntegratorShadowState
IntegratorStateCPU * IntegratorState
const IntegratorStateCPU * ConstIntegratorState
ccl_device_forceinline void integrator_shadow_path_terminate(KernelGlobals kg, IntegratorShadowState state, const DeviceKernel current_kernel)
CCL_NAMESPACE_BEGIN ccl_device_forceinline bool integrator_path_is_terminated(ConstIntegratorState state)
ccl_device_forceinline void integrator_path_next_sorted(KernelGlobals kg, IntegratorState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel, const uint32_t key)
ccl_device_forceinline void integrator_path_terminate(KernelGlobals kg, IntegratorState state, const DeviceKernel current_kernel)
ccl_device_forceinline bool integrator_shadow_path_is_terminated(ConstIntegratorShadowState state)
ccl_device_forceinline void integrator_path_next(KernelGlobals kg, IntegratorState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel)
ccl_device_forceinline void integrator_path_init_sorted(KernelGlobals kg, IntegratorState state, const DeviceKernel next_kernel, const uint32_t key)
ccl_device_forceinline IntegratorShadowState integrator_shadow_path_init(KernelGlobals kg, IntegratorState state, const DeviceKernel next_kernel, const bool is_ao)
ccl_device_forceinline void integrator_shadow_path_next(KernelGlobals kg, IntegratorShadowState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel)
ccl_device_forceinline void integrator_path_init(KernelGlobals kg, IntegratorState state, const DeviceKernel next_kernel)