107# if defined(__PATH_GUIDING__)
134# define INTEGRATOR_SORT_KEY(key, state) \
135 (key + kernel_data.max_shaders * (state / kernel_integrator_state.sort_partition_divisor))
142 const int key_ = INTEGRATOR_SORT_KEY(key,
state);
147# if defined(__KERNEL_LOCAL_ATOMIC_SORT__)
162 const int key_ = INTEGRATOR_SORT_KEY(key,
state);
169# if defined(__KERNEL_LOCAL_ATOMIC_SORT__)
200 (void)current_kernel;
211 (void)current_kernel;
222 (void)current_kernel;
230# if defined(__PATH_GUIDING__)
243 (void)current_kernel;
250 (void)current_kernel;
ATOMIC_INLINE uint32_t atomic_fetch_and_add_uint32(uint32_t *p, uint32_t x)
#define kernel_assert(cond)
#define ccl_device_forceinline
#define KERNEL_FEATURE_PATH_GUIDING
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define kernel_integrator_state
ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float * render_buffer
@ PATH_RAY_VOLUME_PRIMARY_TRANSMIT
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(IntegratorShadowState state, const DeviceKernel current_kernel)
ccl_device_forceinline void integrator_path_next_sorted(KernelGlobals, IntegratorState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel, const uint32_t key)
CCL_NAMESPACE_BEGIN ccl_device_forceinline bool integrator_path_is_terminated(ConstIntegratorState state)
ccl_device_forceinline void integrator_path_init_sorted(KernelGlobals, IntegratorState state, const DeviceKernel next_kernel, const uint32_t key)
ccl_device_inline void write_optical_depth(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer)
ccl_device_forceinline bool integrator_shadow_path_is_terminated(ConstIntegratorShadowState state)
ccl_device_forceinline void integrator_shadow_path_next(IntegratorShadowState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel)
ccl_device_forceinline void integrator_path_init(IntegratorState state, const DeviceKernel next_kernel)
ccl_device_forceinline void integrator_path_next(IntegratorState state, const DeviceKernel current_kernel, const DeviceKernel next_kernel)
ccl_device_forceinline void integrator_path_terminate(KernelGlobals kg, IntegratorState state, ccl_global float *ccl_restrict render_buffer, const DeviceKernel current_kernel)
ccl_device_forceinline IntegratorShadowState integrator_shadow_path_init(KernelGlobals kg, IntegratorState state, const DeviceKernel next_kernel, const bool is_ao)
ccl_device_inline void film_write_pass_float(ccl_global float *ccl_restrict buffer, const float value)
CCL_NAMESPACE_BEGIN ccl_device_forceinline ccl_global float * film_pass_pixel_render_buffer(KernelGlobals kg, ConstIntegratorState state, ccl_global float *ccl_restrict render_buffer)