The new test that was to have been added with the previous check in.
authorJohn Kessenich <cepheus@frii.com>
Sun, 2 Jun 2013 22:57:37 +0000 (22:57 +0000)
committerJohn Kessenich <cepheus@frii.com>
Sun, 2 Jun 2013 22:57:37 +0000 (22:57 +0000)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21814 e7fa87d3-cd2b-0410-9028-fcbf551c1848

Test/300operations.frag [new file with mode: 0644]

diff --git a/Test/300operations.frag b/Test/300operations.frag
new file mode 100644 (file)
index 0000000..9657c59
--- /dev/null
@@ -0,0 +1,126 @@
+#version 300 es
+
+uniform block {
+    float f;
+} instanceName;
+
+struct S {
+    int i;
+} s;
+
+float a[5];
+
+void main()
+{
+    bool b;
+    float f;
+    int i;
+    uint u;
+    bvec3 b3;
+    vec3 v3;
+    ivec3 iv3;
+    uvec3 uv3;
+    vec4 v4;
+    ivec4 iv4;
+    uvec4 uv4;
+    mat2 m2;
+    mat4 m4;
+
+    // These are all errors:
+    instanceName + instanceName;
+    s + s;
+    i + f;
+    u + f;
+    u + i;
+    iv3 *= iv4;
+    iv4 / uv4;
+    i - v3;
+    iv3 + uv3;
+    a * a;
+    b / b;
+
+    f % f;
+    i % f;
+    f % u;
+    instanceName++;
+    ++s;
+    a--;
+    ++b3;
+
+    iv3 < uv3;
+    m2 > m2;
+    m2 != m4;
+    i >= u;
+    a <= a;
+    b > b;
+
+    b && b3;
+    b3 ^^ b3;
+    b3 || b;
+    i && i;
+    u || u;
+    m2 ^^ m2;
+
+    !u;
+    !i;
+    !m2;
+    !v3;
+    !a;
+
+    ~f;
+    ~m4;
+    ~v3;
+    ~a;
+    ~instanceName;
+
+    i << iv3;
+    u << uv3;
+    i >> f;
+    f >> i;
+    m4 >> i;
+    a >> u;
+
+    i & u;
+    u ^ uv3;
+    i | uv3;
+    u & f;
+    m2 | m2;
+    s ^ s;
+
+    // These are all okay:
+    f * v4;
+    u + u;
+    uv4 / u;
+    iv3 -= iv3;
+    
+    i %= 3;
+    uv3 % 4u;
+    --m2;
+    iv4++;
+
+    m4 != m4;
+    m2 == m2;
+    i <= i;
+    a == a;
+    s != s;
+
+    b && b;
+    b || b;
+    b ^^ b;
+
+    !b, uv3;
+
+    ~i;
+    ~u;
+    ~uv3;
+    ~iv3;
+
+    uv3 <<= i;
+    i >> i;
+    u << u;
+
+    i & i;
+    u | u;
+    iv3 ^ iv3;
+
+}