blob: ea185841a3c3a07beaaf11a1dd935c0991f50ca3 [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct tint_private_vars_struct {
uint tint_msl_thread_index_in_quadgroup;
};
half3 tint_msl_quadSwapDiagonal(half3 e, thread tint_private_vars_struct* const tint_private_vars) {
return quad_shuffle(e,((*(tint_private_vars)).tint_msl_thread_index_in_quadgroup ^ 3u));
}
half3 quadSwapDiagonal_e4bec8(thread tint_private_vars_struct* const tint_private_vars) {
half3 arg_0 = half3(1.0h);
half3 res = tint_msl_quadSwapDiagonal(arg_0, tint_private_vars);
return res;
}
fragment void fragment_main(device packed_half3* tint_symbol [[buffer(0)]], uint tint_thread_index_in_quadgroup [[thread_index_in_quadgroup]]) {
thread tint_private_vars_struct tint_private_vars = {};
{
tint_private_vars.tint_msl_thread_index_in_quadgroup = tint_thread_index_in_quadgroup;
}
*(tint_symbol) = packed_half3(quadSwapDiagonal_e4bec8(&(tint_private_vars)));
return;
}
kernel void compute_main(device packed_half3* tint_symbol_1 [[buffer(0)]], uint tint_thread_index_in_quadgroup_1 [[thread_index_in_quadgroup]]) {
thread tint_private_vars_struct tint_private_vars = {};
{
tint_private_vars.tint_msl_thread_index_in_quadgroup = tint_thread_index_in_quadgroup_1;
}
*(tint_symbol_1) = packed_half3(quadSwapDiagonal_e4bec8(&(tint_private_vars)));
return;
}