| SKIP: FAILED |
| |
| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct main_out { |
| uint x_2_1; |
| uint x_4_1; |
| }; |
| struct tint_symbol_2 { |
| uint x_1_param [[user(locn0)]]; |
| uint x_3_param [[user(locn30)]]; |
| }; |
| struct tint_symbol_3 { |
| uint x_2_1 [[color(0)]]; |
| uint x_4_1 [[color(40)]]; |
| }; |
| |
| void main_1() { |
| return; |
| } |
| |
| fragment tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) { |
| thread uint tint_symbol_6 = 0u; |
| thread uint tint_symbol_7 = 0u; |
| thread uint tint_symbol_8 = 0u; |
| thread uint tint_symbol_9 = 0u; |
| uint const x_1_param = tint_symbol_1.x_1_param; |
| uint const x_3_param = tint_symbol_1.x_3_param; |
| tint_symbol_6 = x_1_param; |
| tint_symbol_7 = x_3_param; |
| main_1(); |
| main_out const tint_symbol_4 = {.x_2_1=tint_symbol_8, .x_4_1=tint_symbol_9}; |
| tint_symbol_3 const tint_symbol_5 = {.x_2_1=tint_symbol_4.x_2_1, .x_4_1=tint_symbol_4.x_4_1}; |
| return tint_symbol_5; |
| } |
| |
| Compilation failed: |
| |
| program_source:14:22: error: 'color' attribute parameter is out of bounds: must be between 0 and 7 |
| uint x_4_1 [[color(40)]]; |
| ^ |
| program_source:21:10: error: invalid return type 'tint_symbol_3' for fragment function |
| fragment tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) { |
| ^ |
| |
| |