#pragma clang diagnostic ignored "-Wmissing-prototypes" #include #include using namespace metal; struct SSBO0 { float scalar; float2 vec2_val; float3 vec3_val; float4 vec4_val; }; [[clang::optnone]] float spvQuantizeToF16(float val) { return float(half(val)); } [[clang::optnone]] float2 spvQuantize2ToF16(float2 val) { return float2(half2(val)); } [[clang::optnone]] float3 spvQuantize3ToF16(float3 val) { return float3(half3(val)); } [[clang::optnone]] float4 spvQuantize4ToF16(float4 val) { return float4(half4(val)); } kernel void main0(device SSBO0& _4 [[buffer(0)]]) { _4.scalar = spvQuantizeToF16(_4.scalar); _4.vec2_val = spvQuantize2ToF16(_4.vec2_val); _4.vec3_val = spvQuantize3ToF16(_4.vec3_val); _4.vec4_val = spvQuantize4ToF16(_4.vec4_val); }