1*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, derivative_uniformity); 2*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, chromium.unreachable_code); 3*c8dee2aaSAndroid Build Coastguard Workerstruct _GlobalUniforms { 4*c8dee2aaSAndroid Build Coastguard Worker testMatrix2x2: mat2x2<f32>, 5*c8dee2aaSAndroid Build Coastguard Worker colorRed: vec4<f32>, 6*c8dee2aaSAndroid Build Coastguard Worker colorGreen: vec4<f32>, 7*c8dee2aaSAndroid Build Coastguard Worker unknownInput: f32, 8*c8dee2aaSAndroid Build Coastguard Worker}; 9*c8dee2aaSAndroid Build Coastguard Worker@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 10*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_scalar_float_b() -> bool { 11*c8dee2aaSAndroid Build Coastguard Worker { 12*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 13*c8dee2aaSAndroid Build Coastguard Worker return ok; 14*c8dee2aaSAndroid Build Coastguard Worker } 15*c8dee2aaSAndroid Build Coastguard Worker} 16*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_scalar_half_b() -> bool { 17*c8dee2aaSAndroid Build Coastguard Worker { 18*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 19*c8dee2aaSAndroid Build Coastguard Worker return ok; 20*c8dee2aaSAndroid Build Coastguard Worker } 21*c8dee2aaSAndroid Build Coastguard Worker} 22*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_matrix_float_b() -> bool { 23*c8dee2aaSAndroid Build Coastguard Worker { 24*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 25*c8dee2aaSAndroid Build Coastguard Worker return ok; 26*c8dee2aaSAndroid Build Coastguard Worker } 27*c8dee2aaSAndroid Build Coastguard Worker} 28*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_matrix_half_b() -> bool { 29*c8dee2aaSAndroid Build Coastguard Worker { 30*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 31*c8dee2aaSAndroid Build Coastguard Worker return ok; 32*c8dee2aaSAndroid Build Coastguard Worker } 33*c8dee2aaSAndroid Build Coastguard Worker} 34*c8dee2aaSAndroid Build Coastguard Workerfn test_vector_op_matrix_float_b() -> bool { 35*c8dee2aaSAndroid Build Coastguard Worker { 36*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 37*c8dee2aaSAndroid Build Coastguard Worker return ok; 38*c8dee2aaSAndroid Build Coastguard Worker } 39*c8dee2aaSAndroid Build Coastguard Worker} 40*c8dee2aaSAndroid Build Coastguard Workerfn test_vector_op_matrix_half_b() -> bool { 41*c8dee2aaSAndroid Build Coastguard Worker { 42*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 43*c8dee2aaSAndroid Build Coastguard Worker return ok; 44*c8dee2aaSAndroid Build Coastguard Worker } 45*c8dee2aaSAndroid Build Coastguard Worker} 46*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_vector_float_b() -> bool { 47*c8dee2aaSAndroid Build Coastguard Worker { 48*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 49*c8dee2aaSAndroid Build Coastguard Worker return ok; 50*c8dee2aaSAndroid Build Coastguard Worker } 51*c8dee2aaSAndroid Build Coastguard Worker} 52*c8dee2aaSAndroid Build Coastguard Workerfn test_matrix_op_vector_half_b() -> bool { 53*c8dee2aaSAndroid Build Coastguard Worker { 54*c8dee2aaSAndroid Build Coastguard Worker const ok: bool = true; 55*c8dee2aaSAndroid Build Coastguard Worker return ok; 56*c8dee2aaSAndroid Build Coastguard Worker } 57*c8dee2aaSAndroid Build Coastguard Worker} 58*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain(coords: vec2<f32>) -> vec4<f32> { 59*c8dee2aaSAndroid Build Coastguard Worker { 60*c8dee2aaSAndroid Build Coastguard Worker var _0_ok: bool = true; 61*c8dee2aaSAndroid Build Coastguard Worker let _skTemp0 = f32(_globalUniforms.unknownInput); 62*c8dee2aaSAndroid Build Coastguard Worker let _skTemp1 = mat3x3<f32>(_skTemp0, 0.0, 0.0, 0.0, _skTemp0, 0.0, 0.0, 0.0, _skTemp0); 63*c8dee2aaSAndroid Build Coastguard Worker const _skTemp2 = mat2x2<f32>(1.0, 0.0, 0.0, 1.0); 64*c8dee2aaSAndroid Build Coastguard Worker const _skTemp3 = mat3x3<f32>(_skTemp2[0][0], _skTemp2[0][1], 0.0, _skTemp2[1][0], _skTemp2[1][1], 0.0, 0.0, 0.0, 1.0); 65*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && (all(_skTemp1[0] == _skTemp3[0]) && all(_skTemp1[1] == _skTemp3[1]) && all(_skTemp1[2] == _skTemp3[2])); 66*c8dee2aaSAndroid Build Coastguard Worker let _skTemp4 = mat3x3<f32>(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, f32(_globalUniforms.unknownInput)); 67*c8dee2aaSAndroid Build Coastguard Worker const _skTemp5 = mat2x2<f32>(9.0, 0.0, 0.0, 9.0); 68*c8dee2aaSAndroid Build Coastguard Worker const _skTemp6 = mat3x3<f32>(_skTemp5[0][0], _skTemp5[0][1], 0.0, _skTemp5[1][0], _skTemp5[1][1], 0.0, 0.0, 0.0, 1.0); 69*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && (all(_skTemp4[0] == _skTemp6[0]) && all(_skTemp4[1] == _skTemp6[1]) && all(_skTemp4[2] == _skTemp6[2])); 70*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && all(vec4<f32>(_globalUniforms.testMatrix2x2[0], _globalUniforms.testMatrix2x2[1]) == vec4<f32>(1.0, 2.0, 3.0, 4.0)); 71*c8dee2aaSAndroid Build Coastguard Worker { 72*c8dee2aaSAndroid Build Coastguard Worker let _skTemp7 = mat2x2<f32>(_globalUniforms.testMatrix2x2); 73*c8dee2aaSAndroid Build Coastguard Worker let _skTemp8 = mat3x3<f32>(mat3x3<f32>(_skTemp7[0][0], _skTemp7[0][1], 0.0, _skTemp7[1][0], _skTemp7[1][1], 0.0, 0.0, 0.0, 1.0)); 74*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && all(mat4x4<f32>(_skTemp8[0][0], _skTemp8[0][1], _skTemp8[0][2], 0.0, _skTemp8[1][0], _skTemp8[1][1], _skTemp8[1][2], 0.0, _skTemp8[2][0], _skTemp8[2][1], _skTemp8[2][2], 0.0, 0.0, 0.0, 0.0, 1.0)[0] == vec4<f32>(1.0, 2.0, 0.0, 0.0)); 75*c8dee2aaSAndroid Build Coastguard Worker let _skTemp9 = mat2x2<f32>(_globalUniforms.testMatrix2x2); 76*c8dee2aaSAndroid Build Coastguard Worker let _skTemp10 = mat3x3<f32>(mat3x3<f32>(_skTemp9[0][0], _skTemp9[0][1], 0.0, _skTemp9[1][0], _skTemp9[1][1], 0.0, 0.0, 0.0, 1.0)); 77*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && all(mat4x4<f32>(_skTemp10[0][0], _skTemp10[0][1], _skTemp10[0][2], 0.0, _skTemp10[1][0], _skTemp10[1][1], _skTemp10[1][2], 0.0, _skTemp10[2][0], _skTemp10[2][1], _skTemp10[2][2], 0.0, 0.0, 0.0, 0.0, 1.0)[1] == vec4<f32>(3.0, 4.0, 0.0, 0.0)); 78*c8dee2aaSAndroid Build Coastguard Worker } 79*c8dee2aaSAndroid Build Coastguard Worker var _skTemp11: vec4<f32>; 80*c8dee2aaSAndroid Build Coastguard Worker var _skTemp12: bool; 81*c8dee2aaSAndroid Build Coastguard Worker var _skTemp13: bool; 82*c8dee2aaSAndroid Build Coastguard Worker var _skTemp14: bool; 83*c8dee2aaSAndroid Build Coastguard Worker var _skTemp15: bool; 84*c8dee2aaSAndroid Build Coastguard Worker var _skTemp16: bool; 85*c8dee2aaSAndroid Build Coastguard Worker var _skTemp17: bool; 86*c8dee2aaSAndroid Build Coastguard Worker var _skTemp18: bool; 87*c8dee2aaSAndroid Build Coastguard Worker var _skTemp19: bool; 88*c8dee2aaSAndroid Build Coastguard Worker if _0_ok { 89*c8dee2aaSAndroid Build Coastguard Worker let _skTemp20 = test_matrix_op_scalar_float_b(); 90*c8dee2aaSAndroid Build Coastguard Worker _skTemp19 = _skTemp20; 91*c8dee2aaSAndroid Build Coastguard Worker } else { 92*c8dee2aaSAndroid Build Coastguard Worker _skTemp19 = false; 93*c8dee2aaSAndroid Build Coastguard Worker } 94*c8dee2aaSAndroid Build Coastguard Worker if _skTemp19 { 95*c8dee2aaSAndroid Build Coastguard Worker let _skTemp21 = test_matrix_op_scalar_half_b(); 96*c8dee2aaSAndroid Build Coastguard Worker _skTemp18 = _skTemp21; 97*c8dee2aaSAndroid Build Coastguard Worker } else { 98*c8dee2aaSAndroid Build Coastguard Worker _skTemp18 = false; 99*c8dee2aaSAndroid Build Coastguard Worker } 100*c8dee2aaSAndroid Build Coastguard Worker if _skTemp18 { 101*c8dee2aaSAndroid Build Coastguard Worker let _skTemp22 = test_matrix_op_matrix_float_b(); 102*c8dee2aaSAndroid Build Coastguard Worker _skTemp17 = _skTemp22; 103*c8dee2aaSAndroid Build Coastguard Worker } else { 104*c8dee2aaSAndroid Build Coastguard Worker _skTemp17 = false; 105*c8dee2aaSAndroid Build Coastguard Worker } 106*c8dee2aaSAndroid Build Coastguard Worker if _skTemp17 { 107*c8dee2aaSAndroid Build Coastguard Worker let _skTemp23 = test_matrix_op_matrix_half_b(); 108*c8dee2aaSAndroid Build Coastguard Worker _skTemp16 = _skTemp23; 109*c8dee2aaSAndroid Build Coastguard Worker } else { 110*c8dee2aaSAndroid Build Coastguard Worker _skTemp16 = false; 111*c8dee2aaSAndroid Build Coastguard Worker } 112*c8dee2aaSAndroid Build Coastguard Worker if _skTemp16 { 113*c8dee2aaSAndroid Build Coastguard Worker let _skTemp24 = test_vector_op_matrix_float_b(); 114*c8dee2aaSAndroid Build Coastguard Worker _skTemp15 = _skTemp24; 115*c8dee2aaSAndroid Build Coastguard Worker } else { 116*c8dee2aaSAndroid Build Coastguard Worker _skTemp15 = false; 117*c8dee2aaSAndroid Build Coastguard Worker } 118*c8dee2aaSAndroid Build Coastguard Worker if _skTemp15 { 119*c8dee2aaSAndroid Build Coastguard Worker let _skTemp25 = test_vector_op_matrix_half_b(); 120*c8dee2aaSAndroid Build Coastguard Worker _skTemp14 = _skTemp25; 121*c8dee2aaSAndroid Build Coastguard Worker } else { 122*c8dee2aaSAndroid Build Coastguard Worker _skTemp14 = false; 123*c8dee2aaSAndroid Build Coastguard Worker } 124*c8dee2aaSAndroid Build Coastguard Worker if _skTemp14 { 125*c8dee2aaSAndroid Build Coastguard Worker let _skTemp26 = test_matrix_op_vector_float_b(); 126*c8dee2aaSAndroid Build Coastguard Worker _skTemp13 = _skTemp26; 127*c8dee2aaSAndroid Build Coastguard Worker } else { 128*c8dee2aaSAndroid Build Coastguard Worker _skTemp13 = false; 129*c8dee2aaSAndroid Build Coastguard Worker } 130*c8dee2aaSAndroid Build Coastguard Worker if _skTemp13 { 131*c8dee2aaSAndroid Build Coastguard Worker let _skTemp27 = test_matrix_op_vector_half_b(); 132*c8dee2aaSAndroid Build Coastguard Worker _skTemp12 = _skTemp27; 133*c8dee2aaSAndroid Build Coastguard Worker } else { 134*c8dee2aaSAndroid Build Coastguard Worker _skTemp12 = false; 135*c8dee2aaSAndroid Build Coastguard Worker } 136*c8dee2aaSAndroid Build Coastguard Worker if _skTemp12 { 137*c8dee2aaSAndroid Build Coastguard Worker _skTemp11 = _globalUniforms.colorGreen; 138*c8dee2aaSAndroid Build Coastguard Worker } else { 139*c8dee2aaSAndroid Build Coastguard Worker _skTemp11 = _globalUniforms.colorRed; 140*c8dee2aaSAndroid Build Coastguard Worker } 141*c8dee2aaSAndroid Build Coastguard Worker return _skTemp11; 142*c8dee2aaSAndroid Build Coastguard Worker } 143*c8dee2aaSAndroid Build Coastguard Worker} 144*c8dee2aaSAndroid Build Coastguard Worker@fragment fn main(@location(0) _coords: vec2<f32>) -> @location(0) vec4<f32> { 145*c8dee2aaSAndroid Build Coastguard Worker return _skslMain(_coords); 146*c8dee2aaSAndroid Build Coastguard Worker} 147