[Piglit] [PATCH 3/5] glsl-es-1.00: p3 move glsl-1.00 to glsl-es-1.00
Tom Gall
tom.gall at linaro.org
Thu Feb 14 15:03:53 PST 2013
Move contents of tests/spec/glsl-1.00/compiler/precision-qualifiers
to tests/spec/glsl-es-1.00/compiler/precision-qualifiers
Signed-off-by: Tom Gall <tom.gall at linaro.org>
---
.../default-precision-bool-01.frag | 22 ---------------
.../default-precision-float-01.frag | 21 --------------
.../default-precision-int-01.frag | 21 --------------
.../default-precision-sampler.frag | 28 -------------------
.../default-precision-sampler.vert | 29 --------------------
.../default-precision-vec-01.frag | 23 ----------------
.../precision-qualifiers/precision-bool-01.frag | 17 ------------
.../precision-qualifiers/precision-bool-02.frag | 17 ------------
.../precision-qualifiers/precision-float-01.frag | 17 ------------
.../precision-qualifiers/precision-float-02.frag | 17 ------------
.../precision-qualifiers/precision-float-03.frag | 18 ------------
.../precision-qualifiers/precision-float-04.frag | 17 ------------
.../precision-fs-highp-01.frag | 24 ----------------
.../precision-fs-highp-02.frag | 26 ------------------
.../precision-function-param-01.frag | 16 -----------
.../precision-qualifiers/precision-global-01.frag | 19 -------------
.../precision-qualifiers/precision-int-01.frag | 17 ------------
.../precision-qualifiers/precision-int-02.frag | 17 ------------
.../precision-qualifiers/precision-int-03.frag | 18 ------------
.../precision-literal-const-01.frag | 16 -----------
.../precision-literal-const-02.frag | 16 -----------
.../precision-qualifiers/precision-local-01.frag | 17 ------------
.../precision-qualifiers/precision-struct-01.frag | 21 --------------
.../precision-qualifiers/precision-struct-02.frag | 21 --------------
.../precision-vs-highp-01.vert | 18 ------------
.../default-precision-bool-01.frag | 22 +++++++++++++++
.../default-precision-float-01.frag | 21 ++++++++++++++
.../default-precision-int-01.frag | 21 ++++++++++++++
.../default-precision-sampler.frag | 28 +++++++++++++++++++
.../default-precision-sampler.vert | 29 ++++++++++++++++++++
.../default-precision-vec-01.frag | 23 ++++++++++++++++
.../precision-qualifiers/precision-bool-01.frag | 17 ++++++++++++
.../precision-qualifiers/precision-bool-02.frag | 17 ++++++++++++
.../precision-qualifiers/precision-float-01.frag | 17 ++++++++++++
.../precision-qualifiers/precision-float-02.frag | 17 ++++++++++++
.../precision-qualifiers/precision-float-03.frag | 18 ++++++++++++
.../precision-qualifiers/precision-float-04.frag | 17 ++++++++++++
.../precision-fs-highp-01.frag | 24 ++++++++++++++++
.../precision-fs-highp-02.frag | 26 ++++++++++++++++++
.../precision-function-param-01.frag | 16 +++++++++++
.../precision-qualifiers/precision-global-01.frag | 19 +++++++++++++
.../precision-qualifiers/precision-int-01.frag | 17 ++++++++++++
.../precision-qualifiers/precision-int-02.frag | 17 ++++++++++++
.../precision-qualifiers/precision-int-03.frag | 18 ++++++++++++
.../precision-literal-const-01.frag | 16 +++++++++++
.../precision-literal-const-02.frag | 16 +++++++++++
.../precision-qualifiers/precision-local-01.frag | 17 ++++++++++++
.../precision-qualifiers/precision-struct-01.frag | 21 ++++++++++++++
.../precision-qualifiers/precision-struct-02.frag | 21 ++++++++++++++
.../precision-vs-highp-01.vert | 18 ++++++++++++
50 files changed, 493 insertions(+), 493 deletions(-)
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-03.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-04.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-global-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-03.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-local-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-01.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-02.frag
delete mode 100644 tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-03.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-04.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-global-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-03.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-local-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-01.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-02.frag
create mode 100644 tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
deleted file mode 100644
index 07b669f..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
+++ /dev/null
@@ -1,22 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Type bool cannot have default precision.
-//
-// From section 4.5.3 of the GLSL 1.00 spec:
-// The precision statement
-// precision precision-qualifier type;
-// can be used to establish a default precision qualifier. The type field
-// can be either int or float. [...] Any other types or qualifiers will
-// result in an error.
-
-
-#version 100
-
-precision lowp bool;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-float-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
deleted file mode 100644
index 63b8756..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Type float can have default precision.
-//
-// From section 4.5.3 of the GLSL 1.00 spec:
-// The precision statement
-// precision precision-qualifier type;
-// can be used to establish a default precision qualifier. The type field
-// can be either int or float,
-
-
-#version 100
-
-precision lowp float;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-int-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
deleted file mode 100644
index ecfd6e7..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Type int can have default precision.
-//
-// From section 4.5.3 of the GLSL 1.00 spec:
-// The precision statement
-// precision precision-qualifier type;
-// can be used to establish a default precision qualifier. The type field
-// can be either int or float,
-
-
-#version 100
-
-precision mediump int;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
deleted file mode 100644
index f600796..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
+++ /dev/null
@@ -1,28 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// check_link: true
-// [end config]
-//
-// From the GLSL ES 1.00 specification, section 4.5.3 ("Default
-// Precision Qualifiers"):
-//
-// "The precision statement
-//
-// precision precision-qualifier type;
-//
-// can be used to establish a default precision qualifier. The
-// type field can be int or float or any of the sampler types, and
-// the precision-qualifier can be lowp, mediump, or highp."
-//
-// This test verifies that a default precision qualifier can be used
-// on all of GLSL ES 1.00's sampler types.
-
-#version 100
-
-precision mediump sampler2D;
-precision mediump samplerCube;
-
-void main()
-{
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.vert b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
deleted file mode 100644
index b44d016..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
+++ /dev/null
@@ -1,29 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// check_link: true
-// [end config]
-//
-// From the GLSL ES 1.00 specification, section 4.5.3 ("Default
-// Precision Qualifiers"):
-//
-// "The precision statement
-//
-// precision precision-qualifier type;
-//
-// can be used to establish a default precision qualifier. The
-// type field can be int or float or any of the sampler types, and
-// the precision-qualifier can be lowp, mediump, or highp."
-//
-// This test verifies that a default precision qualifier can be used
-// on all of GLSL ES 1.00's sampler types.
-
-#version 100
-
-precision mediump sampler2D;
-precision mediump samplerCube;
-
-void main()
-{
- gl_Position = vec4(0.0);
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
deleted file mode 100644
index 777d069..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
+++ /dev/null
@@ -1,23 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Vector types cannot have default precision.
-//
-// From section 4.5.3 of the GLSL 1.00 spec:
-// The precision statement
-// precision precision-qualifier type;
-// can be used to establish a default precision qualifier. The type field
-// can be either int or float. [...] Any other types or qualifiers will
-// result in an error.
-
-
-
-#version 100
-
-precision mediump vec2;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-01.frag
deleted file mode 100644
index a350ae6..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-01.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers cannot be applied to bool variables.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Literal constants do not have precision qualifiers. Neither do Boolean
-// variables.
-
-#version 100
-
-float f() {
- lowp bool b;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-02.frag
deleted file mode 100644
index 0251c78..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-bool-02.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.30
-// [end config]
-//
-// Precision qualifiers cannot be applied to boolean vectors.
-//
-// From section 4.5.2 of the GLSL 1.30 spec:
-// Literal constants do not have precision qualifiers. Neither do Boolean
-// variables.
-
-#version 130
-
-float f() {
- lowp bvec2 v;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-01.frag
deleted file mode 100644
index 9e122b8..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-01.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to floats.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- mediump float x;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-02.frag
deleted file mode 100644
index e84dba0..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-02.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to float vectors.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- lowp vec2 v;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-03.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-03.frag
deleted file mode 100644
index d4878ed..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-03.frag
+++ /dev/null
@@ -1,18 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to float arrays.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-lowp float a[4];
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-04.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-04.frag
deleted file mode 100644
index b13877d..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-float-04.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to float matrices.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- lowp mat4 m;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
deleted file mode 100644
index 7540d30..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
+++ /dev/null
@@ -1,24 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// If high precision is available in the fragment shader, then it should be
-// legal to use it.
-//
-// From section 4.5.4 of the GLSL 1.00 spec:
-// "The built-in macro GL_FRAGMENT_PRECISION_HIGH is defined to one on
-// systems supporting highp precision in the fragment language
-// #define GL_FRAGMENT_PRECISION_HIGH 1
-// and is not defined on systems not supporting highp precision in the
-// fragment language."
-
-#version 100
-
-#ifdef GL_FRAGMENT_PRECISION_HIGH
-highp float x;
-#endif
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
deleted file mode 100644
index a79d0f0..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
+++ /dev/null
@@ -1,26 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// If high precision is unavailable in the fragment shader, then it should be
-// illegal to use it.
-//
-// From section 4.5.4 of the GLSL 1.00 spec:
-// "The built-in macro GL_FRAGMENT_PRECISION_HIGH is defined to one on
-// systems supporting highp precision in the fragment language
-// #define GL_FRAGMENT_PRECISION_HIGH 1
-// and is not defined on systems not supporting highp precision in the
-// fragment language."
-
-#version 100
-
-#ifndef GL_FRAGMENT_PRECISION_HIGH
-highp float x;
-#else
-#error
-#endif
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-function-param-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
deleted file mode 100644
index 8ab6734..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
+++ /dev/null
@@ -1,16 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Function parameters and return types can have precision qualifiers.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-lowp float f(lowp int x) {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-global-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-global-01.frag
deleted file mode 100644
index 83e4ce9..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-global-01.frag
+++ /dev/null
@@ -1,19 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Global variables can have precision qualifiers.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-uniform mediump float x;
-varying lowp float y;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-01.frag
deleted file mode 100644
index 061b365..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-01.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to ints.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- lowp int x;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-02.frag
deleted file mode 100644
index 3572a4b..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-02.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to integer vectors.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- mediump ivec2 v;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-03.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-03.frag
deleted file mode 100644
index 4ed9263..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-int-03.frag
+++ /dev/null
@@ -1,18 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers can be applied to int arrays.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-lowp int a[4];
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
deleted file mode 100644
index abeb82c..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
+++ /dev/null
@@ -1,16 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers cannot be applied to integer literals.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Literal constants do not have precision qualifiers.
-
-#version 100
-
-float f() {
- lowp int x = lowp 1;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
deleted file mode 100644
index 8daeb3b..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
+++ /dev/null
@@ -1,16 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers cannot be applied to float literals.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Literal constants do not have precision qualifiers.
-
-#version 100
-
-float f() {
- lowp float x = lowp 0.0;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-local-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-local-01.frag
deleted file mode 100644
index 4f7e285..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-local-01.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// Local variables can have precision qualifiers.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// Any floating point or any integer declaration can have the type
-// preceded by one of these precision qualifiers
-
-#version 100
-
-float f() {
- lowp float x = 0.0;
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-01.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-01.frag
deleted file mode 100644
index 07161a2..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-01.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers cannot be applied to structs.
-//
-// This test declares the struct and its sole member with matching
-// precision qualifier.
-//
-// See section 4.5.2 of the GLSL 1.00 spec.
-
-#version 100
-
-lowp struct s {
- lowp float a;
-};
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-02.frag b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-02.frag
deleted file mode 100644
index 4dcaa98..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-struct-02.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-// [config]
-// expect_result: fail
-// glsl_version: 1.00
-// [end config]
-//
-// Precision qualifiers cannot be applied to structs.
-//
-// This test declares the struct, but none of its members, with a precision
-// qualifier.
-//
-// See section 4.5.2 of the GLSL 1.00 spec.
-
-#version 100
-
-lowp struct s {
- float a;
-};
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert b/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
deleted file mode 100644
index bf9a0eb..0000000
--- a/tests/spec/glsl-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
+++ /dev/null
@@ -1,18 +0,0 @@
-// [config]
-// expect_result: pass
-// glsl_version: 1.00
-// [end config]
-//
-// High precision is always available in the vertex shader.
-//
-// From section 4.5.2 of the GLSL 1.00 spec:
-// "The vertex language requires any uses of lowp, mediump and highp to
-// compile and link without error."
-
-#version 100
-
-highp float x;
-
-float f() {
- return 0.0;
-}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
new file mode 100644
index 0000000..07b669f
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-bool-01.frag
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Type bool cannot have default precision.
+//
+// From section 4.5.3 of the GLSL 1.00 spec:
+// The precision statement
+// precision precision-qualifier type;
+// can be used to establish a default precision qualifier. The type field
+// can be either int or float. [...] Any other types or qualifiers will
+// result in an error.
+
+
+#version 100
+
+precision lowp bool;
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-float-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
new file mode 100644
index 0000000..63b8756
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-float-01.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Type float can have default precision.
+//
+// From section 4.5.3 of the GLSL 1.00 spec:
+// The precision statement
+// precision precision-qualifier type;
+// can be used to establish a default precision qualifier. The type field
+// can be either int or float,
+
+
+#version 100
+
+precision lowp float;
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-int-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
new file mode 100644
index 0000000..ecfd6e7
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-int-01.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Type int can have default precision.
+//
+// From section 4.5.3 of the GLSL 1.00 spec:
+// The precision statement
+// precision precision-qualifier type;
+// can be used to establish a default precision qualifier. The type field
+// can be either int or float,
+
+
+#version 100
+
+precision mediump int;
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
new file mode 100644
index 0000000..f600796
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.frag
@@ -0,0 +1,28 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// check_link: true
+// [end config]
+//
+// From the GLSL ES 1.00 specification, section 4.5.3 ("Default
+// Precision Qualifiers"):
+//
+// "The precision statement
+//
+// precision precision-qualifier type;
+//
+// can be used to establish a default precision qualifier. The
+// type field can be int or float or any of the sampler types, and
+// the precision-qualifier can be lowp, mediump, or highp."
+//
+// This test verifies that a default precision qualifier can be used
+// on all of GLSL ES 1.00's sampler types.
+
+#version 100
+
+precision mediump sampler2D;
+precision mediump samplerCube;
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.vert b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
new file mode 100644
index 0000000..b44d016
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-sampler.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// check_link: true
+// [end config]
+//
+// From the GLSL ES 1.00 specification, section 4.5.3 ("Default
+// Precision Qualifiers"):
+//
+// "The precision statement
+//
+// precision precision-qualifier type;
+//
+// can be used to establish a default precision qualifier. The
+// type field can be int or float or any of the sampler types, and
+// the precision-qualifier can be lowp, mediump, or highp."
+//
+// This test verifies that a default precision qualifier can be used
+// on all of GLSL ES 1.00's sampler types.
+
+#version 100
+
+precision mediump sampler2D;
+precision mediump samplerCube;
+
+void main()
+{
+ gl_Position = vec4(0.0);
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
new file mode 100644
index 0000000..777d069
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/default-precision-vec-01.frag
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Vector types cannot have default precision.
+//
+// From section 4.5.3 of the GLSL 1.00 spec:
+// The precision statement
+// precision precision-qualifier type;
+// can be used to establish a default precision qualifier. The type field
+// can be either int or float. [...] Any other types or qualifiers will
+// result in an error.
+
+
+
+#version 100
+
+precision mediump vec2;
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-01.frag
new file mode 100644
index 0000000..a350ae6
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-01.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers cannot be applied to bool variables.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Literal constants do not have precision qualifiers. Neither do Boolean
+// variables.
+
+#version 100
+
+float f() {
+ lowp bool b;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-02.frag
new file mode 100644
index 0000000..0251c78
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-bool-02.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.30
+// [end config]
+//
+// Precision qualifiers cannot be applied to boolean vectors.
+//
+// From section 4.5.2 of the GLSL 1.30 spec:
+// Literal constants do not have precision qualifiers. Neither do Boolean
+// variables.
+
+#version 130
+
+float f() {
+ lowp bvec2 v;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-01.frag
new file mode 100644
index 0000000..9e122b8
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-01.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to floats.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ mediump float x;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-02.frag
new file mode 100644
index 0000000..e84dba0
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-02.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to float vectors.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ lowp vec2 v;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-03.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-03.frag
new file mode 100644
index 0000000..d4878ed
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-03.frag
@@ -0,0 +1,18 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to float arrays.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+lowp float a[4];
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-04.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-04.frag
new file mode 100644
index 0000000..b13877d
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-float-04.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to float matrices.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ lowp mat4 m;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
new file mode 100644
index 0000000..7540d30
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-01.frag
@@ -0,0 +1,24 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// If high precision is available in the fragment shader, then it should be
+// legal to use it.
+//
+// From section 4.5.4 of the GLSL 1.00 spec:
+// "The built-in macro GL_FRAGMENT_PRECISION_HIGH is defined to one on
+// systems supporting highp precision in the fragment language
+// #define GL_FRAGMENT_PRECISION_HIGH 1
+// and is not defined on systems not supporting highp precision in the
+// fragment language."
+
+#version 100
+
+#ifdef GL_FRAGMENT_PRECISION_HIGH
+highp float x;
+#endif
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
new file mode 100644
index 0000000..a79d0f0
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-fs-highp-02.frag
@@ -0,0 +1,26 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// If high precision is unavailable in the fragment shader, then it should be
+// illegal to use it.
+//
+// From section 4.5.4 of the GLSL 1.00 spec:
+// "The built-in macro GL_FRAGMENT_PRECISION_HIGH is defined to one on
+// systems supporting highp precision in the fragment language
+// #define GL_FRAGMENT_PRECISION_HIGH 1
+// and is not defined on systems not supporting highp precision in the
+// fragment language."
+
+#version 100
+
+#ifndef GL_FRAGMENT_PRECISION_HIGH
+highp float x;
+#else
+#error
+#endif
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-function-param-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
new file mode 100644
index 0000000..8ab6734
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-function-param-01.frag
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Function parameters and return types can have precision qualifiers.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+lowp float f(lowp int x) {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-global-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-global-01.frag
new file mode 100644
index 0000000..83e4ce9
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-global-01.frag
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Global variables can have precision qualifiers.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+uniform mediump float x;
+varying lowp float y;
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-01.frag
new file mode 100644
index 0000000..061b365
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-01.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to ints.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ lowp int x;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-02.frag
new file mode 100644
index 0000000..3572a4b
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-02.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to integer vectors.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ mediump ivec2 v;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-03.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-03.frag
new file mode 100644
index 0000000..4ed9263
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-int-03.frag
@@ -0,0 +1,18 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers can be applied to int arrays.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+lowp int a[4];
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
new file mode 100644
index 0000000..abeb82c
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-01.frag
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers cannot be applied to integer literals.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Literal constants do not have precision qualifiers.
+
+#version 100
+
+float f() {
+ lowp int x = lowp 1;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
new file mode 100644
index 0000000..8daeb3b
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-literal-const-02.frag
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers cannot be applied to float literals.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Literal constants do not have precision qualifiers.
+
+#version 100
+
+float f() {
+ lowp float x = lowp 0.0;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-local-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-local-01.frag
new file mode 100644
index 0000000..4f7e285
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-local-01.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// Local variables can have precision qualifiers.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// Any floating point or any integer declaration can have the type
+// preceded by one of these precision qualifiers
+
+#version 100
+
+float f() {
+ lowp float x = 0.0;
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-01.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-01.frag
new file mode 100644
index 0000000..07161a2
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-01.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers cannot be applied to structs.
+//
+// This test declares the struct and its sole member with matching
+// precision qualifier.
+//
+// See section 4.5.2 of the GLSL 1.00 spec.
+
+#version 100
+
+lowp struct s {
+ lowp float a;
+};
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-02.frag b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-02.frag
new file mode 100644
index 0000000..4dcaa98
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-struct-02.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.00
+// [end config]
+//
+// Precision qualifiers cannot be applied to structs.
+//
+// This test declares the struct, but none of its members, with a precision
+// qualifier.
+//
+// See section 4.5.2 of the GLSL 1.00 spec.
+
+#version 100
+
+lowp struct s {
+ float a;
+};
+
+float f() {
+ return 0.0;
+}
diff --git a/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
new file mode 100644
index 0000000..bf9a0eb
--- /dev/null
+++ b/tests/spec/glsl-es-1.00/compiler/precision-qualifiers/precision-vs-highp-01.vert
@@ -0,0 +1,18 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.00
+// [end config]
+//
+// High precision is always available in the vertex shader.
+//
+// From section 4.5.2 of the GLSL 1.00 spec:
+// "The vertex language requires any uses of lowp, mediump and highp to
+// compile and link without error."
+
+#version 100
+
+highp float x;
+
+float f() {
+ return 0.0;
+}
--
1.7.10.4
More information about the Piglit
mailing list