blob: 2e14eb16238f53097aeed241f57382d973b6d7e1 [file] [log] [blame]
SKIP: FAILED
../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: Inner = struct @align(16) {
scalar_i32:i32 @offset(0)
scalar_f32:f32 @offset(16)
}
S = struct @align(16) {
scalar_f32:f32 @offset(0)
scalar_i32:i32 @offset(4)
scalar_u32:u32 @offset(8)
vec2_f32:vec2<f32> @offset(16)
vec2_i32:vec2<i32> @offset(24)
vec2_u32:vec2<u32> @offset(32)
vec3_f32:vec3<f32> @offset(48)
vec3_i32:vec3<i32> @offset(64)
vec3_u32:vec3<u32> @offset(80)
vec4_f32:vec4<f32> @offset(96)
vec4_i32:vec4<i32> @offset(112)
vec4_u32:vec4<u32> @offset(128)
mat2x2_f32:mat2x2<f32> @offset(144)
mat2x3_f32:mat2x3<f32> @offset(160)
mat2x4_f32:mat2x4<f32> @offset(192)
mat3x2_f32:mat3x2<f32> @offset(224)
mat3x3_f32:mat3x3<f32> @offset(256)
mat3x4_f32:mat3x4<f32> @offset(304)
mat4x2_f32:mat4x2<f32> @offset(352)
mat4x3_f32:mat4x3<f32> @offset(384)
mat4x4_f32:mat4x4<f32> @offset(448)
arr2_vec3_f32:array<vec3<f32>, 2> @offset(512)
struct_inner:Inner @offset(544)
array_struct_inner:array<Inner, 4> @offset(576)
}
$B1: { # root
%ub:ptr<uniform, S, read> = var @binding_point(0, 0)
%s:ptr<storage, i32, read_write> = var @binding_point(0, 1)
}
%tint_symbol = @compute @workgroup_size(1, 1, 1) func():void {
$B2: {
%4:ptr<uniform, f32, read> = access %ub, 0u
%5:f32 = load %4
%scalar_f32:f32 = let %5
%7:ptr<uniform, i32, read> = access %ub, 1u
%8:i32 = load %7
%scalar_i32:i32 = let %8
%10:ptr<uniform, u32, read> = access %ub, 2u
%11:u32 = load %10
%scalar_u32:u32 = let %11
%13:ptr<uniform, vec2<f32>, read> = access %ub, 3u
%14:vec2<f32> = load %13
%vec2_f32:vec2<f32> = let %14
%16:ptr<uniform, vec2<i32>, read> = access %ub, 4u
%17:vec2<i32> = load %16
%vec2_i32:vec2<i32> = let %17
%19:ptr<uniform, vec2<u32>, read> = access %ub, 5u
%20:vec2<u32> = load %19
%vec2_u32:vec2<u32> = let %20
%22:ptr<uniform, vec3<f32>, read> = access %ub, 6u
%23:vec3<f32> = load %22
%vec3_f32:vec3<f32> = let %23
%25:ptr<uniform, vec3<i32>, read> = access %ub, 7u
%26:vec3<i32> = load %25
%vec3_i32:vec3<i32> = let %26
%28:ptr<uniform, vec3<u32>, read> = access %ub, 8u
%29:vec3<u32> = load %28
%vec3_u32:vec3<u32> = let %29
%31:ptr<uniform, vec4<f32>, read> = access %ub, 9u
%32:vec4<f32> = load %31
%vec4_f32:vec4<f32> = let %32
%34:ptr<uniform, vec4<i32>, read> = access %ub, 10u
%35:vec4<i32> = load %34
%vec4_i32:vec4<i32> = let %35
%37:ptr<uniform, vec4<u32>, read> = access %ub, 11u
%38:vec4<u32> = load %37
%vec4_u32:vec4<u32> = let %38
%40:ptr<uniform, mat2x2<f32>, read> = access %ub, 12u
%41:mat2x2<f32> = load %40
%mat2x2_f32:mat2x2<f32> = let %41
%43:ptr<uniform, mat2x3<f32>, read> = access %ub, 13u
%44:mat2x3<f32> = load %43
%mat2x3_f32:mat2x3<f32> = let %44
%46:ptr<uniform, mat2x4<f32>, read> = access %ub, 14u
%47:mat2x4<f32> = load %46
%mat2x4_f32:mat2x4<f32> = let %47
%49:ptr<uniform, mat3x2<f32>, read> = access %ub, 15u
%50:mat3x2<f32> = load %49
%mat3x2_f32:mat3x2<f32> = let %50
%52:ptr<uniform, mat3x3<f32>, read> = access %ub, 16u
%53:mat3x3<f32> = load %52
%mat3x3_f32:mat3x3<f32> = let %53
%55:ptr<uniform, mat3x4<f32>, read> = access %ub, 17u
%56:mat3x4<f32> = load %55
%mat3x4_f32:mat3x4<f32> = let %56
%58:ptr<uniform, mat4x2<f32>, read> = access %ub, 18u
%59:mat4x2<f32> = load %58
%mat4x2_f32:mat4x2<f32> = let %59
%61:ptr<uniform, mat4x3<f32>, read> = access %ub, 19u
%62:mat4x3<f32> = load %61
%mat4x3_f32:mat4x3<f32> = let %62
%64:ptr<uniform, mat4x4<f32>, read> = access %ub, 20u
%65:mat4x4<f32> = load %64
%mat4x4_f32:mat4x4<f32> = let %65
%67:ptr<uniform, array<vec3<f32>, 2>, read> = access %ub, 21u
%68:array<vec3<f32>, 2> = load %67
%arr2_vec3_f32:array<vec3<f32>, 2> = let %68
%70:ptr<uniform, Inner, read> = access %ub, 22u
%71:Inner = load %70
%struct_inner:Inner = let %71
%73:ptr<uniform, array<Inner, 4>, read> = access %ub, 23u
%74:array<Inner, 4> = load %73
%array_struct_inner:array<Inner, 4> = let %74
%76:i32 = call %tint_f32_to_i32, %scalar_f32
%78:i32 = add %76, %scalar_i32
%79:i32 = let %78
%80:i32 = convert %scalar_u32
%81:i32 = add %79, %80
%82:i32 = let %81
%83:f32 = access %vec2_f32, 0u
%84:i32 = call %tint_f32_to_i32, %83
%85:i32 = add %82, %84
%86:i32 = access %vec2_i32, 0u
%87:i32 = add %85, %86
%88:i32 = let %87
%89:u32 = access %vec2_u32, 0u
%90:i32 = convert %89
%91:i32 = add %88, %90
%92:i32 = let %91
%93:f32 = access %vec3_f32, 1u
%94:i32 = call %tint_f32_to_i32, %93
%95:i32 = add %92, %94
%96:i32 = access %vec3_i32, 1u
%97:i32 = add %95, %96
%98:i32 = let %97
%99:u32 = access %vec3_u32, 1u
%100:i32 = convert %99
%101:i32 = add %98, %100
%102:i32 = let %101
%103:f32 = access %vec4_f32, 2u
%104:i32 = call %tint_f32_to_i32, %103
%105:i32 = add %102, %104
%106:i32 = access %vec4_i32, 2u
%107:i32 = add %105, %106
%108:i32 = let %107
%109:u32 = access %vec4_u32, 2u
%110:i32 = convert %109
%111:i32 = add %108, %110
%112:i32 = let %111
%113:f32 = access %mat2x2_f32, 0i, 0u
%114:i32 = call %tint_f32_to_i32, %113
%115:i32 = add %112, %114
%116:i32 = let %115
%117:f32 = access %mat2x3_f32, 0i, 0u
%118:i32 = call %tint_f32_to_i32, %117
%119:i32 = add %116, %118
%120:i32 = let %119
%121:f32 = access %mat2x4_f32, 0i, 0u
%122:i32 = call %tint_f32_to_i32, %121
%123:i32 = add %120, %122
%124:i32 = let %123
%125:f32 = access %mat3x2_f32, 0i, 0u
%126:i32 = call %tint_f32_to_i32, %125
%127:i32 = add %124, %126
%128:i32 = let %127
%129:f32 = access %mat3x3_f32, 0i, 0u
%130:i32 = call %tint_f32_to_i32, %129
%131:i32 = add %128, %130
%132:i32 = let %131
%133:f32 = access %mat3x4_f32, 0i, 0u
%134:i32 = call %tint_f32_to_i32, %133
%135:i32 = add %132, %134
%136:i32 = let %135
%137:f32 = access %mat4x2_f32, 0i, 0u
%138:i32 = call %tint_f32_to_i32, %137
%139:i32 = add %136, %138
%140:i32 = let %139
%141:f32 = access %mat4x3_f32, 0i, 0u
%142:i32 = call %tint_f32_to_i32, %141
%143:i32 = add %140, %142
%144:i32 = let %143
%145:f32 = access %mat4x4_f32, 0i, 0u
%146:i32 = call %tint_f32_to_i32, %145
%147:i32 = add %144, %146
%148:i32 = let %147
%149:f32 = access %arr2_vec3_f32, 0i, 0u
%150:i32 = call %tint_f32_to_i32, %149
%151:i32 = add %148, %150
%152:i32 = access %struct_inner, 0u
%153:i32 = add %151, %152
%154:i32 = access %array_struct_inner, 0i, 0u
%155:i32 = add %153, %154
store %s, %155
ret
}
}
%tint_f32_to_i32 = func(%value:f32):i32 {
$B3: {
%157:i32 = convert %value
%158:bool = gte %value, -2147483648.0f
%159:i32 = select -2147483648i, %157, %158
%160:bool = lte %value, 2147483520.0f
%161:i32 = select 2147483647i, %159, %160
ret %161
}
}
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. *
********************************************************************