| #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 |
| #if defined(GL_AMD_gpu_shader_int16) |
| #extension GL_AMD_gpu_shader_int16 : require |
| #else |
| #error No extension available for Int16. |
| #endif |
| |
| layout(location = 0) out float16_t foo; |
| layout(location = 1) out int16_t bar; |
| layout(location = 2) out uint16_t baz; |
| |
| void main() |
| { |
| foo = float16_t(1.0); |
| bar = 2s; |
| baz = 3us; |
| } |
| |