blob: 2f4757d87a8ac26ab8fa886c0a286afe572338c3 [file] [log] [blame]
SKIP: FAILED
<dawn>/src/tint/lang/msl/writer/printer/printer.cc:493 internal compiler error: S = struct @align(4) {
a:i32 @offset(0)
b:i32 @offset(4)
}
%b1 = block { # root
%s:ptr<storage, i32, read_write> = var @binding_point(0, 0)
%g1:ptr<workgroup, atomic<i32>, read_write> = var
}
%d = func(%val:i32):i32 -> %b2 {
%b2 = block {
ret %val
}
}
%c = func(%val_1:ptr<function, i32, read_write>):i32 -> %b3 { # %val_1: 'val'
%b3 = block {
%7:i32 = load %val_1
%8:i32 = let %7
%9:i32 = load %val_1
%10:i32 = call %d, %9
%11:i32 = add %8, %10
ret %11
}
}
%a = func(%val_2:ptr<function, i32, read_write>):i32 -> %b4 { # %val_2: 'val'
%b4 = block {
%14:i32 = load %val_2
%15:i32 = let %14
%16:i32 = call %c, %val_2
%17:i32 = add %15, %16
ret %17
}
}
%z = func():i32 -> %b5 {
%b5 = block {
%19:i32 = atomicLoad %g1
ret %19
}
}
%y = func(%v1:ptr<function, vec3<f32>, read_write>):i32 -> %b6 {
%b6 = block {
%22:vec3<f32> = load %v1
%23:vec3<f32> = load %v1
%24:vec3<f32> = cross %22, %23
%25:f32 = access %24, 0u
store_vector_element %v1, 0u, %25
%26:f32 = load_vector_element %v1, 0u
%27:i32 = call %tint_f32_to_i32, %26
ret %27
}
}
%b = func(%val_3:ptr<function, S, read_write>):i32 -> %b7 { # %val_3: 'val'
%b7 = block {
%31:ptr<function, i32, read_write> = access %val_3, 0u
%32:i32 = load %31
%33:ptr<function, i32, read_write> = access %val_3, 1u
%34:i32 = load %33
%35:i32 = add %32, %34
ret %35
}
}
%tint_symbol = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void -> %b8 {
%b8 = block {
%38:bool = eq %tint_local_index, 0u
if %38 [t: %b9] { # if_1
%b9 = block { # true
%39:void = atomicStore %g1, 0i
exit_if # if_1
}
}
%40:void = msl.threadgroup_barrier 4u
%v1_1:ptr<function, i32, read_write> = var, 0i # %v1_1: 'v1'
%v2:ptr<function, S, read_write> = var, S(0i)
%v3:ptr<function, S, read_write> = let %v2
%v4:ptr<function, vec3<f32>, read_write> = var, vec3<f32>(0.0f)
%45:i32 = atomicLoad %g1
%t1:i32 = let %45
%47:i32 = call %a, %v1_1
%48:i32 = let %47
%49:i32 = call %b, %v2
%50:i32 = add %48, %49
%51:i32 = let %50
%52:i32 = call %b, %v3
%53:i32 = add %51, %52
%54:i32 = let %53
%55:i32 = call %z
%56:i32 = add %54, %55
%57:i32 = add %56, %t1
%58:i32 = let %57
%59:i32 = call %y, %v4
%60:i32 = add %58, %59
store %s, %60
ret
}
}
%tint_f32_to_i32 = func(%value:f32):i32 -> %b10 {
%b10 = block {
%62:i32 = convert %value
%63:bool = gte %value, -2147483648.0f
%64:i32 = select -2147483648i, %62, %63
%65:bool = lte %value, 2147483520.0f
%66:i32 = select 2147483647i, %64, %65
ret %66
}
}
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. *
********************************************************************