From: Luo Xionghu <xionghu....@intel.com>

should use opencl 2.0 API to test generic atomic, the atomic_fetch_add
will return the old value of the source pointer, so should move the src
data to dst with another instruction.
---
 kernels/compiler_generic_atomic.cl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernels/compiler_generic_atomic.cl 
b/kernels/compiler_generic_atomic.cl
index 63947ec..3db49e2 100644
--- a/kernels/compiler_generic_atomic.cl
+++ b/kernels/compiler_generic_atomic.cl
@@ -24,7 +24,8 @@ kernel void compiler_generic_atomic_##T(global T *src, global 
T *dst)  \
   generic T * q1 = &pdata[lid];                                        \
   generic T * q2 = &ldata[lid];                                        \
   generic T *q = (gid & 1) ? q1 : q2;                                  \
-  dst[gid] = atomic_add(q , pdata[lid]);                               \
+  atomic_fetch_add((atomic_int*)q , pdata[lid]);                       \
+  dst[gid] = *q;                                                       \
 }
 
 GENERIC_KERNEL(int)
-- 
2.1.4

_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to