ca4744ab72
Constants of 8-bit type aren't supported in GLSL, since there's no extension letting you use them.
30 lines
732 B
GLSL
30 lines
732 B
GLSL
#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
|
|
#elif defined(GL_EXT_shader_16bit_storage)
|
|
#extension GL_EXT_shader_16bit_storage : require
|
|
#else
|
|
#error No extension available for FP16.
|
|
#endif
|
|
#if defined(GL_AMD_gpu_shader_int16)
|
|
#extension GL_AMD_gpu_shader_int16 : require
|
|
#elif defined(GL_EXT_shader_16bit_storage)
|
|
#extension GL_EXT_shader_16bit_storage : 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 = 1.0hf;
|
|
bar = 2s;
|
|
baz = 3us;
|
|
}
|
|
|