<div dir="ltr">**NAK this email. It is a duplicate.**</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 1, 2013 at 10:42 AM, Steve Miller <span dir="ltr"><<a href="mailto:dervishx@gmail.com" target="_blank">dervishx@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 .../basic-qualifiers-both-origin-and-pixel.frag    | 26 +++++++++++++++++++<br>
 .../compiler/basic-qualifiers-layout-illegal.frag  | 29 ++++++++++++++++++++++<br>
 .../compiler/basic-qualifiers-nothing.frag         | 25 +++++++++++++++++++<br>
 .../compiler/basic-qualifiers-origin.frag          | 26 +++++++++++++++++++<br>
 .../compiler/basic-qualifiers-pixel-center.frag    | 26 +++++++++++++++++++<br>
 .../compiler/redeclaration-after-use.frag          | 23 +++++++++++++++++<br>
 .../compiler/redeclaration-outside-fs.vert         | 27 ++++++++++++++++++++<br>
 7 files changed, 182 insertions(+)<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag<br>
 create mode 100644 tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert<br>
<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag<br>
new file mode 100644<br>
index 0000000..7b40f9b<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag<br>
@@ -0,0 +1,26 @@<br>
+// [config]<br>
+// expect result: pass<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables). The layout qualifier identifiers for gl_FragCoord are<br>
+*      layout-qualifier-id:<br>
+*          origin_upper_left<br>
+*          pixel_center_integer<br>
+*<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag<br>
new file mode 100644<br>
index 0000000..9c2f9c9<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag<br>
@@ -0,0 +1,29 @@<br>
+// [config]<br>
+// expect result: fail<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables). The layout qualifier identifiers for gl_FragCoord are<br>
+*      layout-qualifier-id:<br>
+*          origin_upper_left<br>
+*          pixel_center_integer<br>
+*<br>
+* Test should fail because input layout should only apply to gl_FragCoord.<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+layout(origin_upper_left, pixel_center_integer) in vec2 gl_PointCoord;<br>
+<br>
+layout(origin_upper_left, pixel_center_integer) in bool gl_FrontFacing;<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag<br>
new file mode 100644<br>
index 0000000..8abc4e4<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag<br>
@@ -0,0 +1,25 @@<br>
+// [config]<br>
+// expect result: pass<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables).<br>
+*<br>
+*  Redeclarations are done as follows<br>
+*      in vec4 gl_FragCoord; // redeclaration that changes nothing is allowed<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+in vec4 gl_FragCoord;<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag<br>
new file mode 100644<br>
index 0000000..d415290<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag<br>
@@ -0,0 +1,26 @@<br>
+// [config]<br>
+// expect result: pass<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables). The layout qualifier identifiers for gl_FragCoord are<br>
+*      layout-qualifier-id:<br>
+*          origin_upper_left<br>
+*          pixel_center_integer<br>
+*<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+layout(origin_upper_left) in vec4 gl_FragCoord;<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag<br>
new file mode 100644<br>
index 0000000..5e6c9c6<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag<br>
@@ -0,0 +1,26 @@<br>
+// [config]<br>
+// expect result: pass<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables). The layout qualifier identifiers for gl_FragCoord are<br>
+*      layout-qualifier-id:<br>
+*          origin_upper_left<br>
+*          pixel_center_integer<br>
+*<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+layout(pixel_center_integer) in vec4 gl_FragCoord;<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag<br>
new file mode 100644<br>
index 0000000..5b4d96e<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag<br>
@@ -0,0 +1,23 @@<br>
+// [config]<br>
+// expect result: fail<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Within any shader, the first redeclarations of gl_FragCoord must appear<br>
+*  before any use of gl_FragCoord.<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+vec2 a = gl_FragCoord.xy;<br>
+<br>
+in vec4 gl_FragCoord; //redeclaration after use should be illegal<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
diff --git a/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert<br>
new file mode 100644<br>
index 0000000..97cf31c<br>
--- /dev/null<br>
+++ b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert<br>
@@ -0,0 +1,27 @@<br>
+// [config]<br>
+// expect result: fail<br>
+// glsl_version: 1.50<br>
+// check_link: false<br>
+// [end config]<br>
+/*<br>
+* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:<br>
+*  Fragment shaders can have an input layout only for redeclaring the<br>
+*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special<br>
+*  Variables). The layout qualifier identifiers for gl_FragCoord are<br>
+*      layout-qualifier-id:<br>
+*          origin_upper_left<br>
+*          pixel_center_integer<br>
+*<br>
+* This test assumes that gl_FragCoord cannot be redeclared anywhere other than a fragment shader.<br>
+*/<br>
+<br>
+#version 150<br>
+<br>
+in vec4 gl_FragCoord; //redeclaration in a VS<br>
+<br>
+void main() {<br>
+<br>
+     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,<br>
+                 gl_FragCoord.z, gl_FragCoord.z);<br>
+<br>
+}<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.3.1<br>
<br>
</font></span></blockquote></div><br></div>