343c6f4ff4
Fix fallout from changes. There's a bug in glslang that prevents `float16_t`, `[u]int16_t`, and `[u]int8_t` constants from adding the corresponding SPIR-V capabilities. SPIRV-Tools, meanwhile, tightened validation so that these constants are only valid if the corresponding `Float16`, `Int16`, and `Int8` caps are on. This affects the `16bit-constants.frag` test for GLSL and MSL.
26 lines
557 B
GLSL
26 lines
557 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
|
|
#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;
|
|
}
|
|
|