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__

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to