[Piglit] [PATCH 2/2] arb_shader_atomic_counters: check different binding points
Francisco Jerez
currojerez at riseup.net
Tue Mar 7 21:20:21 UTC 2017
Andres Gomez <agomez at igalia.com> writes:
> This adds a test to check that a link error is expected when
> specifying different binding points among compilation units for atomic
> counters with the same name.
>
> From the ARB_shader_atomic_counters spec:
>
> " It is legal for some shaders to provide a layout qualifier for a
> uniform variable of the same name, while another shader does not
> provide a layout qualifier for a uniform variable of the same
> name, but if provided, all provided layout qualifiers must be
> equal for a uniform variable of the same name, and if not
> provided, all implicitly provided layout qualifiers must be equal
> for a uniform variable of the same name."
>
> v2: Added GL minimum version restriction.
>
> Signed-off-by: Andres Gomez <agomez at igalia.com>
> Cc: Francisco Jerez <currojerez at riseup.net>
> Cc: Ian Romanick <ian.d.romanick at intel.com>
> ---
> .../different-bindings-atomic-counter.shader_test | 51 ++++++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 tests/spec/arb_shader_atomic_counters/linker/different-bindings-atomic-counter.shader_test
>
> diff --git a/tests/spec/arb_shader_atomic_counters/linker/different-bindings-atomic-counter.shader_test b/tests/spec/arb_shader_atomic_counters/linker/different-bindings-atomic-counter.shader_test
> new file mode 100644
> index 000000000..b331650cc
> --- /dev/null
> +++ b/tests/spec/arb_shader_atomic_counters/linker/different-bindings-atomic-counter.shader_test
> @@ -0,0 +1,51 @@
> +/* The ARB_shader_atomic_counters says:
> + *
> + * "It is legal for some shaders to provide a layout qualifier for
> + * a uniform variable of the same name, while another shader does
> + * not provide a layout qualifier for a uniform variable of the
> + * same name, but if provided, all provided layout qualifiers
> + * must be equal for a uniform variable of the same name, and if
> + * not provided, all implicitly provided layout qualifiers must
> + * be equal for a uniform variable of the same name."
> + *
> + * Verify that a link error happens when using different binding
> + * points for an atomic counter with the same name in different
> + * compilation units.
> + */
> +
> +[require]
> +GL >= 3.00
The GL version specification seems inconsistent with the GLSL version
specified below, I think you want to ask for 3.1 here, with that fixed:
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
> +GLSL >= 1.40
> +GL_ARB_shader_atomic_counters
> +
> +[vertex shader]
> +#version 140
> +#extension GL_ARB_shader_atomic_counters: require
> +
> +layout (binding = 0) uniform atomic_uint x;
> +
> +in vec4 piglit_vertex;
> +out vec4 vs_fs;
> +
> +void main()
> +{
> + vs_fs = vec4(atomicCounter(x));
> + gl_Position = piglit_vertex;
> +}
> +
> +[fragment shader]
> +#version 140
> +#extension GL_ARB_shader_atomic_counters: require
> +
> +layout (binding = 1) uniform atomic_uint x;
> +
> +in vec4 vs_fs;
> +out vec4 fs_out;
> +
> +void main()
> +{
> + fs_out = vs_fs * atomicCounter(x);
> +}
> +
> +[test]
> +link error
> --
> 2.11.0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20170307/ca833da1/attachment.sig>
More information about the Piglit
mailing list