47 *local_queue_atomics = 0;
51 char enqueue_flag = 0;
68 # ifdef __BRANCHED_PATH__
75 # ifdef __SHADOW_TRICKS__
84 float light_u, light_v;
91 light_ray.
time = sd->time;
129 #ifdef __BRANCHED_PATH__
135 *local_queue_atomics = 0;
#define ccl_global_size(d)
ccl_device_inline uint ccl_local_id(uint d)
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN ccl_device void kernel_direct_lighting(KernelGlobals *kg, ccl_local_param unsigned int *local_queue_atomics)
ccl_device_noinline_cpu bool direct_emission(KernelGlobals *kg, ShaderData *sd, ShaderData *emission_sd, LightSample *ls, ccl_addr_space PathState *state, Ray *ray, BsdfEval *eval, bool *is_lamp, float rand_terminate)
ccl_device_noinline bool light_sample(KernelGlobals *kg, int lamp, float randu, float randv, float time, float3 P, int bounce, LightSample *ls)
ccl_device int get_ray_index(KernelGlobals *kg, int thread_index, int queue_number, ccl_global int *queues, int queuesize, int empty_queue)
ccl_device void enqueue_ray_index_local(int ray_index, int queue_number, char enqueue_flag, int queuesize, ccl_local_param unsigned int *local_queue_atomics, ccl_global int *Queue_data, ccl_global int *Queue_index)
ccl_device_inline void path_state_rng_2D(KernelGlobals *kg, const ccl_addr_space PathState *state, int dimension, float *fx, float *fy)
ccl_device_inline float path_state_rng_light_termination(KernelGlobals *kg, const ccl_addr_space PathState *state)
#define kernel_split_params
#define kernel_split_sd(sd, ray_index)
#define kernel_split_state
#define AS_SHADER_DATA(shader_data_tiny_storage)
#define IS_STATE(ray_state, ray_index, state)
@ PATH_RAY_SHADOW_CATCHER
@ RAY_LIGHT_INDIRECT_NEXT_ITER
@ QUEUE_LIGHT_INDIRECT_ITER
@ QUEUE_SHADOW_RAY_CAST_DL_RAYS
@ QUEUE_ACTIVE_AND_REGENERATED_RAYS
#define CCL_LOCAL_MEM_FENCE
#define ccl_barrier(flags)