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