1#version 450 2 3flat in int i1; 4flat in ivec2 i2; 5flat in ivec3 i3; 6flat in ivec4 i4; 7 8flat in uint u1; 9flat in uvec2 u2; 10flat in uvec3 u3; 11flat in uvec4 u4; 12 13in float f1; 14in vec2 f2; 15in vec3 f3; 16in vec4 f4; 17 18out vec4 fragColor; 19 20void main() 21{ 22 ivec4 idata = ivec4(0); 23 idata.x += floatBitsToInt(f1); 24 idata.xy += floatBitsToInt(f2); 25 idata.xyz += floatBitsToInt(f3); 26 idata += floatBitsToInt(f4); 27 28 uvec4 udata = uvec4(0); 29 udata.x += floatBitsToUint(f1); 30 udata.xy += floatBitsToUint(f2); 31 udata.xyz += floatBitsToUint(f3); 32 udata += floatBitsToUint(f4); 33 34 vec4 fdata = vec4(0.0); 35 fdata.x += intBitsToFloat(i1); 36 fdata.xy += intBitsToFloat(i2); 37 fdata.xyz += intBitsToFloat(i3); 38 fdata += intBitsToFloat(i4); 39 fdata.x += uintBitsToFloat(u1); 40 fdata.xy += uintBitsToFloat(u2); 41 fdata.xyz += uintBitsToFloat(u3); 42 fdata += uintBitsToFloat(u4); 43 44 fragColor = (idata == udata) ? fdata : fdata + vec4(0.2); 45}