llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.98k stars 11.55k forks source link

[HLSL] [DirectX] support 64-bit atomic operations #104392

Open python3kgae opened 1 month ago

python3kgae commented 1 month ago

Support 64-bit atomic operations

AC: Support 64-bit integer and limited bitwise floating-point atomic operations by overloading the Interlocked* functions and methods used on group shared memory, raw buffer, and typed (RWBuffer/RWTexture) resources.

Enable 64bit types on related DXIL operations. Set shader flags for 64-bit atomic operations. Mark resources used 64-bit atomic operations with UsedByAtomic64 flag in PSV0 part and Atomic64Use in DXIL metadata.

damyanp commented 1 week ago

@python3kgae - is this needed for llvm/wg-hlsl#11?

python3kgae commented 1 week ago

@python3kgae - is this needed for llvm/wg-hlsl#11?

No. Atomic operation on resource is not used at present.