[Libclc-dev] [PATCH 00/15] Finish 32-bit atomics
awatry at gmail.com
Wed Sep 10 07:54:30 PDT 2014
Note: I also tested this on radeonsi last night.
No R600 back-end changes were needed to get all of the piglit tests
working, all existing tests for local atomics pass with just this
On Tue, Sep 9, 2014 at 6:24 PM, Aaron Watry <awatry at gmail.com> wrote:
> This series provides implementations for all 32-bit local/global atomic
> functions for architectures that have support for the underlying LLVM
> Each architecture that wishes to use them needs to map the local/global
> address space to their specific addrspace identifiers.
> This is done for R600, and is left as an exercise to the reader for others.
> In addition, this defines the extension functions for CL 1.0 int/uint
> atomics for compatibility.
> This entire series has been tested on evergreen using the tests that have
> been sent to the piglit mailing list. The piglit tests sadly only test the
> local address space versions (the global tests won't work until we have
> a working barrier(CLK_GLOBAL_MEM_FENCE) implementation committed).
> If testing on evergreen, you'll need to apply the LLVM patches that I have
> sent to the llvm-commits list:
> Note: I'm not entirely happy with the way that the cmpxchg and min/max mappings
> ended up in the r600 atomic.cl file. If someone has time to come up with
> a cleaner method, it would be welcome. The existing implementation works fine,
> it's just a bit ugly.
More information about the Libclc-dev