| SKIP: FAILED |
| |
| ../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: __atomic_compare_exchange_result_i32 = struct @align(4) { |
| old_value:i32 @offset(0) |
| exchanged:bool @offset(4) |
| } |
| |
| $B1: { # root |
| %a:ptr<storage, atomic<i32>, read_write> = var @binding_point(0, 0) |
| %continue_execution:ptr<private, bool, read_write> = var, true |
| } |
| |
| %foo = @fragment func():i32 [@location(0)] { |
| $B2: { |
| store %continue_execution, false |
| %x:ptr<function, i32, read_write> = var, 0i |
| %5:bool = load %continue_execution |
| %6:__atomic_compare_exchange_result_i32 = if %5 [t: $B3] { # if_1 |
| $B3: { # true |
| %7:__atomic_compare_exchange_result_i32 = atomicCompareExchangeWeak %a, 0i, 1i |
| exit_if %7 # if_1 |
| } |
| # implicit false block: exit_if undef |
| } |
| %result:__atomic_compare_exchange_result_i32 = let %6 |
| %9:bool = access %result, 1u |
| if %9 [t: $B4] { # if_2 |
| $B4: { # true |
| %10:i32 = access %result, 0u |
| store %x, %10 |
| exit_if # if_2 |
| } |
| } |
| %11:i32 = load %x |
| %12:bool = load %continue_execution |
| %13:bool = eq %12, false |
| if %13 [t: $B5] { # if_3 |
| $B5: { # true |
| terminate_invocation |
| } |
| } |
| ret %11 |
| } |
| } |
| |
| unhandled variable address space |
| ******************************************************************** |
| * The tint shader compiler has encountered an unexpected error. * |
| * * |
| * Please help us fix this issue by submitting a bug report at * |
| * crbug.com/tint with the source program that triggered the bug. * |
| ******************************************************************** |