blob: bd51a4bb4dc465db1dd7679c0ff471d7a70fe1d6 [file] [log] [blame]
Ben Clayton6a772362021-06-18 18:56:13 +00001struct SB_RW {
James Price3b671cb2022-03-28 14:31:22 +00002 arg_0 : atomic<u32>,
James Price6b1e5f52022-01-19 18:11:17 +00003}
Ben Clayton0a32a722021-06-18 18:56:13 +00004
Ben Clayton01e4b6f2022-01-19 22:46:57 +00005@group(0) @binding(0) var<storage, read_write> sb_rw : SB_RW;
Ben Clayton0a32a722021-06-18 18:56:13 +00006
7fn atomicExchange_d59712() {
8 var res : u32 = atomicExchange(&(sb_rw.arg_0), 1u);
Ben Clayton77a90cb2023-03-06 18:25:08 +00009 prevent_dce = res;
Ben Clayton0a32a722021-06-18 18:56:13 +000010}
11
Ben Clayton77a90cb2023-03-06 18:25:08 +000012@group(2) @binding(0) var<storage, read_write> prevent_dce : u32;
13
dan sinclairb29892b2022-06-07 13:55:34 +000014@fragment
Ben Clayton0a32a722021-06-18 18:56:13 +000015fn fragment_main() {
16 atomicExchange_d59712();
17}
18
dan sinclairb29892b2022-06-07 13:55:34 +000019@compute @workgroup_size(1)
Ben Clayton0a32a722021-06-18 18:56:13 +000020fn compute_main() {
21 atomicExchange_d59712();
22}