blob: cd0ca11e6c95eacd41cbb536e5251f853fff5553 [file] [log] [blame]
SKIP: FAILED
#include <metal_stdlib>
using namespace metal;
struct ComputeInputs0 {
uint3 local_invocation_id [[thread_position_in_threadgroup]];
};
struct ComputeInputs1 {
uint3 workgroup_id [[threadgroup_position_in_grid]];
};
kernel void tint_symbol(ComputeInputs0 inputs0, uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], ComputeInputs1 inputs1) {
uint const foo = (((inputs0.local_invocation_id[0u] + local_invocation_index) + global_invocation_id[0u]) + inputs1.workgroup_id[0u]);
}
program_source:4:31: error: 'thread_position_in_threadgroup' attribute only applies to parameters and global builtin variables
uint3 local_invocation_id [[thread_position_in_threadgroup]];
^
program_source:7:24: error: 'threadgroup_position_in_grid' attribute only applies to parameters and global builtin variables
uint3 workgroup_id [[threadgroup_position_in_grid]];
^
program_source:10:25: error: invalid type 'ComputeInputs0' for input declaration in a kernel function
kernel void tint_symbol(ComputeInputs0 inputs0, uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], ComputeInputs1 inputs1) {
^~~~~~~~~~~~~~~~~~~~~~
program_source:4:3: note: type 'uint3' (vector of 3 'unsigned int' values) cannot be used in struct of resources/colors
uint3 local_invocation_id [[thread_position_in_threadgroup]];
^
program_source:10:166: error: invalid type 'ComputeInputs1' for input declaration in a kernel function
kernel void tint_symbol(ComputeInputs0 inputs0, uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], ComputeInputs1 inputs1) {
^~~~~~~~~~~~~~~~~~~~~~
program_source:7:3: note: type 'uint3' (vector of 3 'unsigned int' values) cannot be used in struct of resources/colors
uint3 workgroup_id [[threadgroup_position_in_grid]];
^