SPIRV-Cross/shaders-no-opt/comp/int16min-literal.comp
Hans-Kristian Arntzen f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals.
We cannot naively convert these to decimal literals. C/C++ (and thus
MSL) has extremely awkward literal promotion rules.
2021-09-30 16:29:30 +02:00

23 lines
397 B
Plaintext

#version 450
#extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
layout(local_size_x = 1) in;
layout(set = 0, binding = 1) buffer SSBO
{
float16_t a;
};
layout(set = 0, binding = 0) uniform UBO
{
float16_t b;
};
void main()
{
int16_t v = float16BitsToInt16(b);
v ^= 0x8000s;
a = int16BitsToFloat16(v);
}