blob: fe83ec1c152ca543974584eaa7ec1ae48dbfe731 [file] [log] [blame]
SKIP: FAILED
<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: strided_arr = struct @align(4) {
el:i32 @offset(0)
}
buf1 = struct @align(4) {
x_GLF_uniform_int_values:array<strided_arr, 5> @offset(0)
}
strided_arr_1 = struct @align(4) {
el:f32 @offset(0)
}
buf0 = struct @align(4) {
x_GLF_uniform_float_values:array<strided_arr_1, 2> @offset(0)
}
main_out = struct @align(16) {
x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}
%b1 = block { # root
%x_6:ptr<uniform, buf1, read> = var @binding_point(0, 1)
%x_9:ptr<uniform, buf0, read> = var @binding_point(0, 0)
%x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}
%main_1 = func():void -> %b2 {
%b2 = block {
%v:ptr<function, vec4<f32>, read_write> = var
%i:ptr<function, i32, read_write> = var
%7:ptr<uniform, i32, read> = access %x_6, 0u, 1i, 0u
%8:i32 = load %7
%9:f32 = convert %8
%10:ptr<uniform, i32, read> = access %x_6, 0u, 2i, 0u
%11:i32 = load %10
%12:f32 = convert %11
%13:ptr<uniform, i32, read> = access %x_6, 0u, 3i, 0u
%14:i32 = load %13
%15:f32 = convert %14
%16:ptr<uniform, i32, read> = access %x_6, 0u, 0i, 0u
%17:i32 = load %16
%18:f32 = convert %17
%19:vec4<f32> = construct %9, %12, %15, %18
store %v, %19
%20:ptr<uniform, i32, read> = access %x_6, 0u, 4i, 0u
%21:i32 = load %20
store %i, %21
loop [b: %b3, c: %b4] { # loop_1
%b3 = block { # body
%22:i32 = load %i
%23:ptr<uniform, i32, read> = access %x_6, 0u, 0i, 0u
%24:i32 = load %23
%25:bool = lt %22, %24
if %25 [t: %b5, f: %b6] { # if_1
%b5 = block { # true
exit_if # if_1
}
%b6 = block { # false
exit_loop # loop_1
}
}
%26:f32 = load_vector_element %v, 0u
%27:f32 = load_vector_element %v, 1u
%28:f32 = load_vector_element %v, 2u
%29:f32 = load_vector_element %v, 3u
%30:vec4<f32> = construct %26, %27, %28, %29
%31:f32 = load_vector_element %v, 0u
%32:f32 = load_vector_element %v, 1u
%33:f32 = load_vector_element %v, 2u
%34:f32 = load_vector_element %v, 3u
%35:vec4<f32> = construct %31, %32, %33, %34
%36:f32 = load_vector_element %v, 0u
%37:f32 = load_vector_element %v, 1u
%38:f32 = load_vector_element %v, 2u
%39:f32 = load_vector_element %v, 3u
%40:vec4<f32> = construct %36, %37, %38, %39
%41:f32 = load_vector_element %v, 0u
%42:f32 = load_vector_element %v, 1u
%43:f32 = load_vector_element %v, 2u
%44:f32 = load_vector_element %v, 3u
%45:vec4<f32> = construct %41, %42, %43, %44
%46:mat4x4<f32> = construct %30, %35, %40, %45
%47:i32 = load %i
%48:f32 = access %46, 0u, %47
%49:ptr<uniform, f32, read> = access %x_9, 0u, 0i, 0u
%50:f32 = load %49
%51:bool = gt %48, %50
if %51 [t: %b7] { # if_2
%b7 = block { # true
%x_96:i32 = load %i
%53:vec4<f32> = load %v
%54:ptr<uniform, f32, read> = access %x_9, 0u, 1i, 0u
%55:f32 = load %54
%56:vec4<f32> = construct %55
%57:ptr<uniform, f32, read> = access %x_9, 0u, 0i, 0u
%58:f32 = load %57
%59:vec4<f32> = construct %58
%60:vec4<f32> = clamp %53, %56, %59
%61:ptr<uniform, i32, read> = access %x_6, 0u, 1i, 0u
%62:i32 = load %61
%63:f32 = access %60, %62
store_vector_element %v, %x_96, %63
exit_if # if_2
}
}
continue %b4
}
%b4 = block { # continuing
%64:i32 = load %i
%65:i32 = add %64, 1i
store %i, %65
next_iteration %b3
}
}
%66:vec4<f32> = load %v
%67:ptr<uniform, i32, read> = access %x_6, 0u, 1i, 0u
%68:i32 = load %67
%69:f32 = convert %68
%70:vec4<f32> = construct %69
%71:vec4<bool> = eq %66, %70
%72:bool = all %71
if %72 [t: %b8, f: %b9] { # if_3
%b8 = block { # true
%73:ptr<uniform, i32, read> = access %x_6, 0u, 1i, 0u
%74:i32 = load %73
%75:f32 = convert %74
%76:ptr<uniform, i32, read> = access %x_6, 0u, 4i, 0u
%77:i32 = load %76
%78:f32 = convert %77
%79:ptr<uniform, i32, read> = access %x_6, 0u, 4i, 0u
%80:i32 = load %79
%81:f32 = convert %80
%82:ptr<uniform, i32, read> = access %x_6, 0u, 1i, 0u
%83:i32 = load %82
%84:f32 = convert %83
%85:vec4<f32> = construct %75, %78, %81, %84
store %x_GLF_color, %85
exit_if # if_3
}
%b9 = block { # false
%86:ptr<uniform, i32, read> = access %x_6, 0u, 4i, 0u
%87:i32 = load %86
%88:f32 = convert %87
%89:vec4<f32> = construct %88
store %x_GLF_color, %89
exit_if # if_3
}
}
ret
}
}
%tint_symbol = @fragment func():main_out -> %b10 {
%b10 = block {
%91:void = call %main_1
%92:vec4<f32> = load %x_GLF_color
%93:main_out = construct %92
ret %93
}
}
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. *
********************************************************************