Ben Clayton | 6a77236 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 1 | struct SB_RW { |
James Price | 3b671cb | 2022-03-28 14:31:22 +0000 | [diff] [blame] | 2 | arg_0 : atomic<u32>, |
James Price | 6b1e5f5 | 2022-01-19 18:11:17 +0000 | [diff] [blame] | 3 | } |
Ben Clayton | 0a32a72 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 4 | |
Ben Clayton | 01e4b6f | 2022-01-19 22:46:57 +0000 | [diff] [blame] | 5 | @group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW; |
Ben Clayton | 0a32a72 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 6 | |
| 7 | fn atomicExchange_d59712() { |
| 8 | var res : u32 = atomicExchange(&(sb_rw.arg_0), 1u); |
Ben Clayton | 77a90cb | 2023-03-06 18:25:08 +0000 | [diff] [blame^] | 9 | prevent_dce = res; |
Ben Clayton | 0a32a72 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 10 | } |
| 11 | |
Ben Clayton | 77a90cb | 2023-03-06 18:25:08 +0000 | [diff] [blame^] | 12 | @group(2) @binding(0) var<storage, read_write> prevent_dce : u32; |
| 13 | |
dan sinclair | b29892b | 2022-06-07 13:55:34 +0000 | [diff] [blame] | 14 | @fragment |
Ben Clayton | 0a32a72 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 15 | fn fragment_main() { |
| 16 | atomicExchange_d59712(); |
| 17 | } |
| 18 | |
dan sinclair | b29892b | 2022-06-07 13:55:34 +0000 | [diff] [blame] | 19 | @compute @workgroup_size(1) |
Ben Clayton | 0a32a72 | 2021-06-18 18:56:13 +0000 | [diff] [blame] | 20 | fn compute_main() { |
| 21 | atomicExchange_d59712(); |
| 22 | } |