[Piglit] [PATCH] arb_fragment_coord_conventions compiler/parser Tests for layout qualifiers and redeclaration of gl_FragCoord. Tests fail at this time due to compiler not supporting 3.2 FS input redeclarations.

Steve Miller dervishx at gmail.com
Tue Aug 6 11:36:55 PDT 2013


**NAK this email. It is a duplicate.**


On Thu, Aug 1, 2013 at 10:42 AM, Steve Miller <dervishx at gmail.com> wrote:

> ---
>  .../basic-qualifiers-both-origin-and-pixel.frag    | 26
> +++++++++++++++++++
>  .../compiler/basic-qualifiers-layout-illegal.frag  | 29
> ++++++++++++++++++++++
>  .../compiler/basic-qualifiers-nothing.frag         | 25
> +++++++++++++++++++
>  .../compiler/basic-qualifiers-origin.frag          | 26
> +++++++++++++++++++
>  .../compiler/basic-qualifiers-pixel-center.frag    | 26
> +++++++++++++++++++
>  .../compiler/redeclaration-after-use.frag          | 23 +++++++++++++++++
>  .../compiler/redeclaration-outside-fs.vert         | 27
> ++++++++++++++++++++
>  7 files changed, 182 insertions(+)
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag
>  create mode 100644
> tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert
>
> 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
> new file mode 100644
> index 0000000..7b40f9b
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-both-origin-and-pixel.frag
> @@ -0,0 +1,26 @@
> +// [config]
> +// expect result: pass
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables). The layout qualifier identifiers for gl_FragCoord are
> +*      layout-qualifier-id:
> +*          origin_upper_left
> +*          pixel_center_integer
> +*
> +*/
> +
> +#version 150
> +
> +layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..9c2f9c9
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-layout-illegal.frag
> @@ -0,0 +1,29 @@
> +// [config]
> +// expect result: fail
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables). The layout qualifier identifiers for gl_FragCoord are
> +*      layout-qualifier-id:
> +*          origin_upper_left
> +*          pixel_center_integer
> +*
> +* Test should fail because input layout should only apply to gl_FragCoord.
> +*/
> +
> +#version 150
> +
> +layout(origin_upper_left, pixel_center_integer) in vec2 gl_PointCoord;
> +
> +layout(origin_upper_left, pixel_center_integer) in bool gl_FrontFacing;
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..8abc4e4
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-nothing.frag
> @@ -0,0 +1,25 @@
> +// [config]
> +// expect result: pass
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables).
> +*
> +*  Redeclarations are done as follows
> +*      in vec4 gl_FragCoord; // redeclaration that changes nothing is
> allowed
> +*/
> +
> +#version 150
> +
> +in vec4 gl_FragCoord;
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..d415290
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-origin.frag
> @@ -0,0 +1,26 @@
> +// [config]
> +// expect result: pass
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables). The layout qualifier identifiers for gl_FragCoord are
> +*      layout-qualifier-id:
> +*          origin_upper_left
> +*          pixel_center_integer
> +*
> +*/
> +
> +#version 150
> +
> +layout(origin_upper_left) in vec4 gl_FragCoord;
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..5e6c9c6
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/basic-qualifiers-pixel-center.frag
> @@ -0,0 +1,26 @@
> +// [config]
> +// expect result: pass
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables). The layout qualifier identifiers for gl_FragCoord are
> +*      layout-qualifier-id:
> +*          origin_upper_left
> +*          pixel_center_integer
> +*
> +*/
> +
> +#version 150
> +
> +layout(pixel_center_integer) in vec4 gl_FragCoord;
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..5b4d96e
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-after-use.frag
> @@ -0,0 +1,23 @@
> +// [config]
> +// expect result: fail
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Within any shader, the first redeclarations of gl_FragCoord must appear
> +*  before any use of gl_FragCoord.
> +*/
> +
> +#version 150
> +
> +vec2 a = gl_FragCoord.xy;
> +
> +in vec4 gl_FragCoord; //redeclaration after use should be illegal
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> 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
> new file mode 100644
> index 0000000..97cf31c
> --- /dev/null
> +++
> b/tests/spec/arb_fragment_coord_conventions/compiler/redeclaration-outside-fs.vert
> @@ -0,0 +1,27 @@
> +// [config]
> +// expect result: fail
> +// glsl_version: 1.50
> +// check_link: false
> +// [end config]
> +/*
> +* Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
> +*  Fragment shaders can have an input layout only for redeclaring the
> +*  built-in variable gl_FragCoord (see section 7.2 Fragment Shader Special
> +*  Variables). The layout qualifier identifiers for gl_FragCoord are
> +*      layout-qualifier-id:
> +*          origin_upper_left
> +*          pixel_center_integer
> +*
> +* This test assumes that gl_FragCoord cannot be redeclared anywhere other
> than a fragment shader.
> +*/
> +
> +#version 150
> +
> +in vec4 gl_FragCoord; //redeclaration in a VS
> +
> +void main() {
> +
> +     gl_FragColor(gl_FragCoord.x, gl_FragCoord.y,
> +                 gl_FragCoord.z, gl_FragCoord.z);
> +
> +}
> --
> 1.8.3.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130806/0b84c34d/attachment-0001.html>


More information about the Piglit mailing list