blob: 7a9c0a597659847ab1800e81daab0ede1a120da0 [file] [log] [blame]
SKIP: FAILED
../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: buf0 = struct @align(4) {
one:i32 @offset(0)
}
main_out = struct @align(16) {
x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}
$B1: { # root
%x_7:ptr<uniform, buf0, read> = var @binding_point(0, 0)
%x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}
%main_1 = func():void {
$B2: {
%a:ptr<function, i32, read_write> = var
%i0:ptr<function, i32, read_write> = var
%i1:ptr<function, i32, read_write> = var
%i2:ptr<function, i32, read_write> = var
%i3:ptr<function, i32, read_write> = var
%i4:ptr<function, i32, read_write> = var
%i5:ptr<function, i32, read_write> = var
%i6:ptr<function, i32, read_write> = var
%i7:ptr<function, i32, read_write> = var
%i8_1:ptr<function, i32, read_write> = var
%i9:ptr<function, i32, read_write> = var
store %a, 0i
store %i0, 0i
loop [b: $B3, c: $B4] { # loop_1
$B3: { # body
%15:i32 = load %i0
%x_40:i32 = let %15
%17:ptr<uniform, i32, read> = access %x_7, 0u
%18:i32 = load %17
%x_42:i32 = let %18
%20:bool = lt %x_40, %x_42
if %20 [t: $B5, f: $B6] { # if_1
$B5: { # true
exit_if # if_1
}
$B6: { # false
exit_loop # loop_1
}
}
store %i1, 0i
loop [b: $B7, c: $B8] { # loop_2
$B7: { # body
%21:i32 = load %i1
%x_49:i32 = let %21
%23:ptr<uniform, i32, read> = access %x_7, 0u
%24:i32 = load %23
%x_51:i32 = let %24
%26:bool = lt %x_49, %x_51
if %26 [t: $B9, f: $B10] { # if_2
$B9: { # true
exit_if # if_2
}
$B10: { # false
exit_loop # loop_2
}
}
store %i2, 0i
loop [b: $B11, c: $B12] { # loop_3
$B11: { # body
%27:i32 = load %i2
%x_58:i32 = let %27
%29:ptr<uniform, i32, read> = access %x_7, 0u
%30:i32 = load %29
%x_60:i32 = let %30
%32:bool = lt %x_58, %x_60
if %32 [t: $B13, f: $B14] { # if_3
$B13: { # true
exit_if # if_3
}
$B14: { # false
exit_loop # loop_3
}
}
store %i3, 0i
loop [b: $B15, c: $B16] { # loop_4
$B15: { # body
%33:i32 = load %i3
%x_67:i32 = let %33
%35:ptr<uniform, i32, read> = access %x_7, 0u
%36:i32 = load %35
%x_69:i32 = let %36
%38:i32 = add %x_69, 2i
%39:bool = lt %x_67, %38
if %39 [t: $B17, f: $B18] { # if_4
$B17: { # true
exit_if # if_4
}
$B18: { # false
exit_loop # loop_4
}
}
store %i4, 0i
loop [b: $B19, c: $B20] { # loop_5
$B19: { # body
%40:i32 = load %i4
%x_77:i32 = let %40
%42:ptr<uniform, i32, read> = access %x_7, 0u
%43:i32 = load %42
%x_79:i32 = let %43
%45:bool = lt %x_77, %x_79
if %45 [t: $B21, f: $B22] { # if_5
$B21: { # true
exit_if # if_5
}
$B22: { # false
exit_loop # loop_5
}
}
store %i5, 0i
loop [b: $B23, c: $B24] { # loop_6
$B23: { # body
%46:i32 = load %i5
%x_86:i32 = let %46
%48:ptr<uniform, i32, read> = access %x_7, 0u
%49:i32 = load %48
%x_88:i32 = let %49
%51:bool = lt %x_86, %x_88
if %51 [t: $B25, f: $B26] { # if_6
$B25: { # true
exit_if # if_6
}
$B26: { # false
exit_loop # loop_6
}
}
loop [b: $B27] { # loop_7
$B27: { # body
%52:ptr<uniform, i32, read> = access %x_7, 0u
%53:i32 = load %52
%x_96:i32 = let %53
%55:bool = gt %x_96, 0i
if %55 [t: $B28, f: $B29] { # if_7
$B28: { # true
exit_if # if_7
}
$B29: { # false
exit_loop # loop_7
}
}
store %i6, 0i
loop [b: $B30, c: $B31] { # loop_8
$B30: { # body
%56:i32 = load %i6
%x_103:i32 = let %56
%58:ptr<uniform, i32, read> = access %x_7, 0u
%59:i32 = load %58
%x_105:i32 = let %59
%61:bool = lt %x_103, %x_105
if %61 [t: $B32, f: $B33] { # if_8
$B32: { # true
exit_if # if_8
}
$B33: { # false
exit_loop # loop_8
}
}
store %i7, 0i
loop [b: $B34, c: $B35] { # loop_9
$B34: { # body
%62:i32 = load %i7
%x_112:i32 = let %62
%64:ptr<uniform, i32, read> = access %x_7, 0u
%65:i32 = load %64
%x_114:i32 = let %65
%67:bool = lt %x_112, %x_114
if %67 [t: $B36, f: $B37] { # if_9
$B36: { # true
exit_if # if_9
}
$B37: { # false
exit_loop # loop_9
}
}
store %i8_1, 0i
loop [b: $B38, c: $B39] { # loop_10
$B38: { # body
%68:i32 = load %i8_1
%x_121:i32 = let %68
%70:ptr<uniform, i32, read> = access %x_7, 0u
%71:i32 = load %70
%x_123:i32 = let %71
%73:bool = lt %x_121, %x_123
if %73 [t: $B40, f: $B41] { # if_10
$B40: { # true
exit_if # if_10
}
$B41: { # false
exit_loop # loop_10
}
}
store %i9, 0i
loop [b: $B42, c: $B43] { # loop_11
$B42: { # body
%74:i32 = load %i9
%x_130:i32 = let %74
%76:ptr<uniform, i32, read> = access %x_7, 0u
%77:i32 = load %76
%x_132:i32 = let %77
%79:bool = lt %x_130, %x_132
if %79 [t: $B44, f: $B45] { # if_11
$B44: { # true
exit_if # if_11
}
$B45: { # false
exit_loop # loop_11
}
}
%80:i32 = load %a
%x_135:i32 = let %80
%82:i32 = add %x_135, 1i
store %a, %82
continue # -> $B43
}
$B43: { # continuing
%83:i32 = load %i9
%x_137:i32 = let %83
%85:i32 = add %x_137, 1i
store %i9, %85
next_iteration # -> $B42
}
}
continue # -> $B39
}
$B39: { # continuing
%86:i32 = load %i8_1
%x_139:i32 = let %86
%88:i32 = add %x_139, 1i
store %i8_1, %88
next_iteration # -> $B38
}
}
continue # -> $B35
}
$B35: { # continuing
%89:i32 = load %i7
%x_141:i32 = let %89
%91:i32 = add %x_141, 1i
store %i7, %91
next_iteration # -> $B34
}
}
continue # -> $B31
}
$B31: { # continuing
%92:i32 = load %i6
%x_143:i32 = let %92
%94:i32 = add %x_143, 1i
store %i6, %94
next_iteration # -> $B30
}
}
exit_loop # loop_7
}
}
continue # -> $B24
}
$B24: { # continuing
%95:i32 = load %i5
%x_145:i32 = let %95
%97:i32 = add %x_145, 1i
store %i5, %97
next_iteration # -> $B23
}
}
continue # -> $B20
}
$B20: { # continuing
%98:i32 = load %i4
%x_147:i32 = let %98
%100:i32 = add %x_147, 1i
store %i4, %100
next_iteration # -> $B19
}
}
continue # -> $B16
}
$B16: { # continuing
%101:i32 = load %i3
%x_149:i32 = let %101
%103:i32 = add %x_149, 1i
store %i3, %103
next_iteration # -> $B15
}
}
continue # -> $B12
}
$B12: { # continuing
%104:i32 = load %i2
%x_151:i32 = let %104
%106:i32 = add %x_151, 1i
store %i2, %106
next_iteration # -> $B11
}
}
continue # -> $B8
}
$B8: { # continuing
%107:i32 = load %i1
%x_153:i32 = let %107
%109:i32 = add %x_153, 1i
store %i1, %109
next_iteration # -> $B7
}
}
continue # -> $B4
}
$B4: { # continuing
%110:i32 = load %i0
%x_155:i32 = let %110
%112:i32 = add %x_155, 1i
store %i0, %112
next_iteration # -> $B3
}
}
%113:i32 = load %a
%x_157:i32 = let %113
%115:bool = eq %x_157, 3i
if %115 [t: $B46, f: $B47] { # if_12
$B46: { # true
store %x_GLF_color, vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f)
exit_if # if_12
}
$B47: { # false
store %x_GLF_color, vec4<f32>(0.0f)
exit_if # if_12
}
}
ret
}
}
%tint_symbol = @fragment func():main_out {
$B48: {
%117:void = call %main_1
%118:vec4<f32> = load %x_GLF_color
%119:main_out = construct %118
ret %119
}
}
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. *
********************************************************************