dawn-cmake/test/intrinsics
Ben Clayton e027e81bf2 writer/hlsl: Emit helper functions for storage class atomic intrinsics
By generating a helper function for these, we can keep the atomic expression pre-statement-free. This can help prevent for-loops from being transformed into while loops, which can upset FXC.

We can't do the same for workgroup storage atomics, as the InterlockedXXX() methods have the workgroup-storage expression as the first argument, and I'm not aware of any way to make a user-declared parameter be `groupshared`.

Change-Id: I8669127a58dc9cae95ce316523029064b5c9b5fa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57462
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-07-09 16:50:14 +00:00
..
arrayLength validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
gen writer/hlsl: Emit helper functions for storage class atomic intrinsics 2021-07-09 16:50:14 +00:00
frexp.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
frexp.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
frexp.wgsl.expected.msl [writer/msl]: Implement modf and frexp 2021-07-08 21:21:27 +00:00
frexp.wgsl.expected.spvasm Implement Pointers and References 2021-05-18 10:28:48 +00:00
frexp.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
ignore.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
ignore.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
ignore.wgsl.expected.msl Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
ignore.wgsl.expected.spvasm Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
ignore.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
intrinsics.wgsl.tmpl test/intrinsics/gen: Use '0' for level parameters 2021-07-08 21:04:53 +00:00
modf.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
modf.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
modf.wgsl.expected.msl [writer/msl]: Implement modf and frexp 2021-07-08 21:21:27 +00:00
modf.wgsl.expected.spvasm Implement Pointers and References 2021-05-18 10:28:48 +00:00
modf.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00