| RWByteAddressBuffer buf : register(u1, space0); | |
| int g() { | |
| return 0; | |
| } | |
| int f() { | |
| while (true) { | |
| g(); | |
| break; | |
| } | |
| const int o = g(); | |
| return 0; | |
| } | |
| [numthreads(1, 1, 1)] | |
| void main() { | |
| while (true) { | |
| if ((buf.Load(0u) == 0u)) { | |
| break; | |
| } | |
| int s = f(); | |
| buf.Store(0u, asuint(0u)); | |
| } | |
| return; | |
| } |