[Bf-blender-cvs] [6995b50e41e] master: Cycles: Add function to dequeue a ray
Mai Lavelle
noreply at git.blender.org
Sat Jun 10 10:59:07 CEST 2017
Commit: 6995b50e41e628d225b08c370db07d51cf8e3371
Author: Mai Lavelle
Date: Mon May 29 21:33:27 2017 -0400
Branches: master
https://developer.blender.org/rB6995b50e41e628d225b08c370db07d51cf8e3371
Cycles: Add function to dequeue a ray
===================================================================
M intern/cycles/kernel/kernel_queues.h
===================================================================
diff --git a/intern/cycles/kernel/kernel_queues.h b/intern/cycles/kernel/kernel_queues.h
index 96bc636d5ac..e32d4bbbc1b 100644
--- a/intern/cycles/kernel/kernel_queues.h
+++ b/intern/cycles/kernel/kernel_queues.h
@@ -128,6 +128,21 @@ ccl_device unsigned int get_global_queue_index(
return my_gqidx;
}
+ccl_device int dequeue_ray_index(
+ int queue_number,
+ ccl_global int *queues,
+ int queue_size,
+ ccl_global int *queue_index)
+{
+ int index = atomic_fetch_and_dec_uint32((ccl_global uint*)&queue_index[queue_number])-1;
+
+ if(index < 0) {
+ return QUEUE_EMPTY_SLOT;
+ }
+
+ return queues[index + queue_number * queue_size];
+}
+
CCL_NAMESPACE_END
#endif // __KERNEL_QUEUE_H__
More information about the Bf-blender-cvs
mailing list