SPIRV-Cross/shaders-hlsl/frag/unorm-snorm-packing.frag

25 строки
738 B
GLSL

#version 450
layout(location = 0) flat in uint SNORM8;
layout(location = 1) flat in uint UNORM8;
layout(location = 2) flat in uint SNORM16;
layout(location = 3) flat in uint UNORM16;
layout(location = 4) flat in vec4 FP32;
layout(location = 0) out vec4 FP32Out;
layout(location = 1) out uint UNORM8Out;
layout(location = 2) out uint SNORM8Out;
layout(location = 3) out uint UNORM16Out;
layout(location = 4) out uint SNORM16Out;
void main()
{
FP32Out = unpackUnorm4x8(UNORM8);
FP32Out = unpackSnorm4x8(SNORM8);
FP32Out.xy = unpackUnorm2x16(UNORM16);
FP32Out.xy = unpackSnorm2x16(SNORM16);
UNORM8Out = packUnorm4x8(FP32);
SNORM8Out = packSnorm4x8(FP32);
UNORM16Out = packUnorm2x16(FP32.xy);
SNORM16Out = packSnorm2x16(FP32.zw);
}