[Piglit] [PATCH V2 2/2] glsl-1.50: Add shader tests to verify gl_FragCoord redeclarations

Anuj Phogat anuj.phogat at gmail.com
Fri May 16 17:21:31 PDT 2014


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


More information about the Piglit mailing list