#version 450 #if defined(GL_AMD_gpu_shader_half_float) #extension GL_AMD_gpu_shader_half_float : require #elif defined(GL_NV_gpu_shader5) #extension GL_NV_gpu_shader5 : require #else #error No extension available for FP16. #endif layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(binding = 0, std430) buffer SSBO { f16vec2 a; float b; float c; f16vec2 d; } _4; void main() { _4.b = uintBitsToFloat(packFloat2x16(_4.a)); _4.d = unpackFloat2x16(floatBitsToUint(_4.c)); }