summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/300BuiltIns.frag76
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
+}