Blender  V2.93
Functions
kernel_queues.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device void enqueue_ray_index (int ray_index, int queue_number, ccl_global int *queues, int queue_size, ccl_global int *queue_index)
 
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 unsigned int get_local_queue_index (int queue_number, ccl_local_param unsigned int *local_queue_atomics)
 
ccl_device unsigned int get_global_per_queue_offset (int queue_number, ccl_local_param unsigned int *local_queue_atomics, ccl_global int *global_queue_atomics)
 
ccl_device unsigned int get_global_queue_index (int queue_number, int queuesize, unsigned int lqidx, ccl_local_param unsigned int *global_per_queue_offset)
 
ccl_device int dequeue_ray_index (int queue_number, ccl_global int *queues, int queue_size, ccl_global int *queue_index)
 

Function Documentation

◆ dequeue_ray_index()

ccl_device int dequeue_ray_index ( int  queue_number,
ccl_global int *  queues,
int  queue_size,
ccl_global int *  queue_index 
)

◆ enqueue_ray_index()

CCL_NAMESPACE_BEGIN ccl_device void enqueue_ray_index ( int  ray_index,
int  queue_number,
ccl_global int *  queues,
int  queue_size,
ccl_global int *  queue_index 
)

Definition at line 33 of file kernel_queues.h.

References atomic_fetch_and_inc_uint32, ccl_global, and queue_index.

◆ enqueue_ray_index_local()

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 
)

◆ get_global_per_queue_offset()

ccl_device unsigned int get_global_per_queue_offset ( int  queue_number,
ccl_local_param unsigned int *  local_queue_atomics,
ccl_global int *  global_queue_atomics 
)

Definition at line 111 of file kernel_queues.h.

References atomic_fetch_and_add_uint32(), and ccl_global.

Referenced by kernel_queue_enqueue().

◆ get_global_queue_index()

ccl_device unsigned int get_global_queue_index ( int  queue_number,
int  queuesize,
unsigned int  lqidx,
ccl_local_param unsigned int *  global_per_queue_offset 
)

Definition at line 121 of file kernel_queues.h.

Referenced by kernel_queue_enqueue().

◆ get_local_queue_index()

ccl_device unsigned int get_local_queue_index ( int  queue_number,
ccl_local_param unsigned int *  local_queue_atomics 
)

Definition at line 103 of file kernel_queues.h.

References atomic_fetch_and_inc_uint32.

Referenced by kernel_queue_enqueue().

◆ get_ray_index()

ccl_device int get_ray_index ( KernelGlobals *  kg,
int  thread_index,
int  queue_number,
ccl_global int *  queues,
int  queuesize,
int  empty_queue 
)