blob: 42ffcfd9a4fdf393dd09f688b64e02931bf32dcc [file] [log] [blame]
SKIP: FAILED
<dawn>/src/tint/lang/msl/writer/printer/printer.cc:493 internal compiler error: S = struct @align(16) {
arr:array<vec4<i32>, 4> @offset(0)
}
S_nested = struct @align(4) {
arr:array<array<array<i32, 2>, 3>, 4> @offset(0)
}
%b1 = block { # root
%src_private:ptr<private, array<vec4<i32>, 4>, read_write> = var
%src_workgroup:ptr<workgroup, array<vec4<i32>, 4>, read_write> = var
%src_uniform:ptr<uniform, S, read> = var @binding_point(0, 0)
%src_storage:ptr<storage, S, read_write> = var @binding_point(0, 1)
%dst:ptr<storage, S, read_write> = var @binding_point(0, 2)
%dst_nested:ptr<storage, S_nested, read_write> = var @binding_point(0, 3)
}
%ret_arr = func():array<vec4<i32>, 4> -> %b2 {
%b2 = block {
ret array<vec4<i32>, 4>(vec4<i32>(0i))
}
}
%ret_struct_arr = func():S -> %b3 {
%b3 = block {
ret S(array<vec4<i32>, 4>(vec4<i32>(0i)))
}
}
%foo = func(%src_param:array<vec4<i32>, 4>):void -> %b4 {
%b4 = block {
%src_function:ptr<function, array<vec4<i32>, 4>, read_write> = var
%12:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
store %12, array<vec4<i32>, 4>(vec4<i32>(1i), vec4<i32>(2i), vec4<i32>(3i), vec4<i32>(3i))
%13:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
store %13, %src_param
%14:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%15:array<vec4<i32>, 4> = call %ret_arr
store %14, %15
%src_let:array<vec4<i32>, 4> = let array<vec4<i32>, 4>(vec4<i32>(0i))
%17:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
store %17, %src_let
%18:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%19:array<vec4<i32>, 4> = load %src_function
store %18, %19
%20:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%21:array<vec4<i32>, 4> = load %src_private
store %20, %21
%22:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%23:array<vec4<i32>, 4> = load %src_workgroup
store %22, %23
%24:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%25:S = call %ret_struct_arr
%26:array<vec4<i32>, 4> = access %25, 0u
store %24, %26
%27:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%28:ptr<uniform, array<vec4<i32>, 4>, read> = access %src_uniform, 0u
%29:array<vec4<i32>, 4> = load %28
store %27, %29
%30:ptr<storage, array<vec4<i32>, 4>, read_write> = access %dst, 0u
%31:ptr<storage, array<vec4<i32>, 4>, read_write> = access %src_storage, 0u
%32:array<vec4<i32>, 4> = load %31
store %30, %32
%src_nested:ptr<function, array<array<array<i32, 2>, 3>, 4>, read_write> = var
%34:ptr<storage, array<array<array<i32, 2>, 3>, 4>, read_write> = access %dst_nested, 0u
%35:array<array<array<i32, 2>, 3>, 4> = load %src_nested
store %34, %35
ret
}
}
%tint_symbol = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void -> %b5 {
%b5 = block {
loop [i: %b6, b: %b7, c: %b8] { # loop_1
%b6 = block { # initializer
next_iteration %b7 %tint_local_index
}
%b7 = block (%idx:u32) { # body
%39:bool = gte %idx:u32, 4u
if %39 [t: %b9] { # if_1
%b9 = block { # true
exit_loop # loop_1
}
}
%40:ptr<workgroup, vec4<i32>, read_write> = access %src_workgroup, %idx:u32
store %40, vec4<i32>(0i)
continue %b8
}
%b8 = block { # continuing
%41:u32 = add %idx:u32, 1u
next_iteration %b7 %41
}
}
%42:void = msl.threadgroup_barrier 4u
%ary:array<vec4<i32>, 4> = let array<vec4<i32>, 4>(vec4<i32>(0i))
%44:void = call %foo, %ary
ret
}
}
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. *
********************************************************************