[Piglit] [PATCH V2 2/2] glsl-1.50: Add shader tests to verify gl_FragCoord redeclarations
Chris Forbes
chrisf at ijw.co.nz
Fri May 16 18:00:27 PDT 2014
With a note on the controversial test that it matches other existing
implementations and Khronos' interpretation of the spec, this is:
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
On Sat, May 17, 2014 at 12:21 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
> On Fri, May 16, 2014 at 4:59 PM, Jordan Justen <jljusten at gmail.com> wrote:
>> On Thu, Mar 6, 2014 at 4:11 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
>>> V2: Add few more shader tests and do minor changes in tests added in V1.
>>>
>>> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
>>> ---
>>> ...ayout-qualifiers-conflicting-case-5.shader_test | 62 ++++++++++++++++++++++
>>> ...ayout-qualifiers-conflicting-case-6.shader_test | 61 +++++++++++++++++++++
>>> ...ayout-qualifiers-conflicting-case-7.shader_test | 50 +++++++++++++++++
>>> ...ayout-qualifiers-conflicting-case-8.shader_test | 61 +++++++++++++++++++++
>>> ...ayout-qualifiers-conflicting-case-9.shader_test | 49 +++++++++++++++++
>>> 5 files changed, 283 insertions(+)
>>> create mode 100644 tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-5.shader_test
>>> create mode 100644 tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-6.shader_test
>>> create mode 100644 tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-7.shader_test
>>> create mode 100644 tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-8.shader_test
>>> create mode 100644 tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-9.shader_test
>> <snip>
>>> diff --git a/tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-7.shader_test b/tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-7.shader_test
>>> new file mode 100644
>>> index 0000000..259e095
>>> --- /dev/null
>>> +++ b/tests/spec/glsl-1.50/execution/fragcoord-layout-qualifiers-conflicting-case-7.shader_test
>>> @@ -0,0 +1,50 @@
>>> +/* 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"
>>> + *
>>> + *
>>> + * "If gl_FragCoord is redeclared in any fragment shader in a program,
>>> + * it must be redeclared in all the fragment shaders in that program
>>> + * that have a static use gl_FragCoord. All redeclarations of
>>> + * gl_FragCoord in all fragment shaders in a single program must have
>>> + * the same set of qualifiers."
>>> + *
>>> + * Tests the case when one fragment shader redeclares gl_FragCoord without
>>> + * any qualifiers and other one has missing redeclaration. Spec is not very
>>> + * clear about this case but making this case fail to link would be wrong.
>>
>> If the spec is not clear, then does this pass with most drivers then?
>>
> Yes. These tests are also accepted by Khronos to be part of CTS.
>> Series Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
>>
>>> + */
>>> +[require]
>>> +GLSL >= 1.50
>>> +
>>> +
>>> +[vertex shader passthrough]
>>> +
>>> +[fragment shader]
>>> +
>>> +in vec4 gl_FragCoord;
>>> +out vec4 fragcolor;
>>> +void alpha();
>>> +void main()
>>> +{
>>> + fragcolor = vec4(gl_FragCoord.xyz, 1.0);
>>> + alpha();
>>> +}
>>> +
>>> +[fragment shader]
>>> +
>>> +out vec4 fragcolor;
>>> +void alpha()
>>> +{
>>> + fragcolor.a = gl_FragCoord.z;
>>> +}
>>> +
>>> +
>>> +[test]
>>> +link success
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
More information about the Piglit
mailing list