diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag b/3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag new file mode 100644 index 00000000000..89233e2651e --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag @@ -0,0 +1,76 @@ +#version 300 es + +int imax, imin; +uint umax, umin; + +vec3 x, y; // ERROR, needs default precision +bvec3 bv; + +uint uy; +uvec2 uv2c; +uvec2 uv2y; +uvec2 uv2x; +uvec4 uv4y; + +ivec3 iv3a; +ivec3 iv3b; + +ivec4 iv4a; +ivec4 iv4b; + +float f; + +vec2 v2a, v2b; +vec4 v4; + +void main() +{ + // 1.3 int + vec3 v = mix(x, y, bv); + ivec4 iv10 = abs(iv4a); + ivec4 iv11 = sign(iv4a); + ivec4 iv12 = min(iv4a, iv4b); + ivec4 iv13 = min(iv4a, imin); + uvec2 u = min(uv2x, uv2y); + uvec4 uv = min(uv4y, uy); + ivec3 iv14 = max(iv3a, iv3b); + ivec4 iv15 = max(iv4a, imax); + uvec2 u10 = max(uv2x, uv2y); + uvec2 u11 = max(uv2x, uy); + ivec4 iv16 = clamp(iv4a, iv4a, iv4b); + ivec4 iv17 = clamp(iv4a, imin, imax); + uvec2 u12 = clamp(uv2x, uv2y, uv2c); + uvec4 uv10 = clamp(uv4y, umin, umax); + + // 1.3 float + vec3 modfOut; + vec3 v11 = modf(x, modfOut); + + float t = trunc(f); + vec2 v12 = round(v2a); + vec2 v13 = roundEven(v2a); + bvec2 b10 = isnan(v2a); + bvec4 b11 = isinf(v4); + + // 3.3 float + int i = floatBitsToInt(f); + uvec4 uv11 = floatBitsToUint(v4); + vec4 v14 = intBitsToFloat(iv4a); + vec2 v15 = uintBitsToFloat(uv2c); + + // 4.0 pack + uint u19 = packSnorm2x16(v2a); + vec2 v20 = unpackSnorm2x16(uy); + uint u15 = packUnorm2x16(v2a); + vec2 v16 = unpackUnorm2x16(uy); + uint u17 = packHalf2x16(v2b); + vec2 v18 = unpackHalf2x16(uy); + + // not present + noise2(v18); // ERROR, not present + + float t__; // ERROR, no __ until revision 310 + + // ERROR, no __ until revision 310 + #define __D +} |