#version 450 core #extension GL_AMD_gpu_shader_half_float: enable #extension GL_AMD_gpu_shader_int16: enable layout(location = 0) in f16vec4 if16v4; layout(location = 1) in i16vec4 ii16v4; layout(location = 2) in u16vec4 iu16v4; layout(location = 0, xfb_buffer = 0, xfb_stride = 6, xfb_offset = 0) out f16vec3 of16v3; layout(location = 1, xfb_buffer = 1, xfb_stride = 6, xfb_offset = 0) out F16Out { float16_t of16; f16vec2 of16v2; }; layout(location = 5, xfb_buffer = 2, xfb_stride = 6, xfb_offset = 0) out i16vec3 oi16v3; layout(location = 6, xfb_buffer = 3, xfb_stride = 6, xfb_offset = 0) out I16Out { uint16_t ou16; u16vec2 ou16v2; }; void main() { of16v3 = if16v4.xyz; of16 = if16v4.x; of16v2 = if16v4.xy; oi16v3 = ii16v4.xyz; ou16 = iu16v4.x; ou16v2 = iu16v4.xy; }