blob: 4c0c448c76e9ce24d8b2a544978b71ca54e77424 [file] [log] [blame]
SKIP: FAILED
../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: strided_arr = struct @align(4) {
el:f32 @offset(0)
}
buf1 = struct @align(4) {
x_GLF_uniform_float_values:array<strided_arr, 5> @offset(0)
}
buf2 = struct @align(8) {
zeroVec:vec2<f32> @offset(0)
}
buf3 = struct @align(8) {
oneVec:vec2<f32> @offset(0)
}
strided_arr_1 = struct @align(4) {
el:i32 @offset(0)
}
buf0 = struct @align(4) {
x_GLF_uniform_int_values:array<strided_arr_1, 2> @offset(0)
}
S = struct @align(4) {
numbers:array<f32, 3> @offset(0)
}
main_out = struct @align(16) {
x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}
$B1: { # root
%x_7:ptr<uniform, buf1, read> = var @binding_point(0, 1)
%x_9:ptr<uniform, buf2, read> = var @binding_point(0, 2)
%x_12:ptr<uniform, buf3, read> = var @binding_point(0, 3)
%x_15:ptr<uniform, buf0, read> = var @binding_point(0, 0)
%x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}
%main_1 = func():void {
$B2: {
%obj:ptr<function, S, read_write> = var
%a:ptr<function, f32, read_write> = var
%x_49:ptr<function, vec2<f32>, read_write> = var
%b:ptr<function, f32, read_write> = var
%11:ptr<uniform, f32, read> = access %x_7, 0u, 3i, 0u
%12:f32 = load %11
%x_51:f32 = let %12
%14:ptr<uniform, f32, read> = access %x_7, 0u, 2i, 0u
%15:f32 = load %14
%x_53:f32 = let %15
%17:ptr<uniform, f32, read> = access %x_7, 0u, 4i, 0u
%18:f32 = load %17
%x_55:f32 = let %18
%20:array<f32, 3> = construct %x_51, %x_53, %x_55
%21:S = construct %20
store %obj, %21
%22:ptr<uniform, vec2<f32>, read> = access %x_9, 0u
%23:f32 = load_vector_element %22, 0u
%x_59:f32 = let %23
%25:ptr<uniform, f32, read> = access %x_7, 0u, 0i, 0u
%26:f32 = load %25
%x_62:f32 = let %26
%28:i32 = call %tint_f32_to_i32, %x_59
%30:ptr<function, f32, read_write> = access %obj, 0u, %28
store %30, %x_62
%31:ptr<uniform, vec2<f32>, read> = access %x_9, 0u
%32:f32 = load_vector_element %31, 0u
%x_65:f32 = let %32
%34:ptr<uniform, f32, read> = access %x_7, 0u, 0i, 0u
%35:f32 = load %34
%x_67:f32 = let %35
%37:bool = gt %x_65, %x_67
if %37 [t: $B3, f: $B4] { # if_1
$B3: { # true
%38:ptr<uniform, vec2<f32>, read> = access %x_9, 0u
%39:vec2<f32> = load %38
%x_73:vec2<f32> = let %39
store %x_49, %x_73
exit_if # if_1
}
$B4: { # false
%41:ptr<uniform, vec2<f32>, read> = access %x_12, 0u
%42:vec2<f32> = load %41
%x_75:vec2<f32> = let %42
store %x_49, %x_75
exit_if # if_1
}
}
%44:f32 = load_vector_element %x_49, 1u
%x_77:f32 = let %44
store %a, %x_77
%46:ptr<uniform, f32, read> = access %x_7, 0u, 0i, 0u
%47:f32 = load %46
%x_79:f32 = let %47
%49:f32 = load %a
%x_80:f32 = let %49
%51:ptr<uniform, i32, read> = access %x_15, 0u, 0i, 0u
%52:i32 = load %51
%x_82:i32 = let %52
%54:ptr<function, f32, read_write> = access %obj, 0u, %x_82
%55:f32 = load %54
%x_84:f32 = let %55
%57:f32 = mix %x_79, %x_80, %x_84
store %b, %57
%58:f32 = load %b
%x_86:f32 = let %58
%60:ptr<uniform, f32, read> = access %x_7, 0u, 2i, 0u
%61:f32 = load %60
%x_88:f32 = let %61
%63:ptr<uniform, f32, read> = access %x_7, 0u, 1i, 0u
%64:f32 = load %63
%x_91:f32 = let %64
%66:f32 = distance %x_86, %x_88
%67:bool = lt %66, %x_91
if %67 [t: $B5, f: $B6] { # if_2
$B5: { # true
%68:ptr<uniform, i32, read> = access %x_15, 0u, 0i, 0u
%69:i32 = load %68
%x_97:i32 = let %69
%71:ptr<uniform, i32, read> = access %x_15, 0u, 1i, 0u
%72:i32 = load %71
%x_100:i32 = let %72
%74:ptr<uniform, i32, read> = access %x_15, 0u, 1i, 0u
%75:i32 = load %74
%x_103:i32 = let %75
%77:ptr<uniform, i32, read> = access %x_15, 0u, 0i, 0u
%78:i32 = load %77
%x_106:i32 = let %78
%80:f32 = convert %x_97
%81:f32 = let %80
%82:f32 = convert %x_100
%83:f32 = let %82
%84:f32 = convert %x_103
%85:f32 = let %84
%86:f32 = convert %x_106
%87:vec4<f32> = construct %81, %83, %85, %86
store %x_GLF_color, %87
exit_if # if_2
}
$B6: { # false
%88:ptr<uniform, i32, read> = access %x_15, 0u, 1i, 0u
%89:i32 = load %88
%x_110:i32 = let %89
%91:f32 = convert %x_110
%x_111:f32 = let %91
%93:vec4<f32> = construct %x_111, %x_111, %x_111, %x_111
store %x_GLF_color, %93
exit_if # if_2
}
}
ret
}
}
%tint_symbol = @fragment func():main_out {
$B7: {
%95:void = call %main_1
%96:vec4<f32> = load %x_GLF_color
%97:main_out = construct %96
ret %97
}
}
%tint_f32_to_i32 = func(%value:f32):i32 {
$B8: {
%99:i32 = convert %value
%100:bool = gte %value, -2147483648.0f
%101:i32 = select -2147483648i, %99, %100
%102:bool = lte %value, 2147483520.0f
%103:i32 = select 2147483647i, %101, %102
ret %103
}
}
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. *
********************************************************************