[Piglit] [PATCH] glsl-es: Test whether or not sequence can be a constant expression

Matt Turner mattst88 at gmail.com
Tue Oct 6 13:43:23 PDT 2015


On Tue, Oct 6, 2015 at 1:40 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 10/05/2015 07:25 PM, Matt Turner wrote:
>> On Mon, Oct 5, 2015 at 3:57 PM, Ian Romanick <idr at freedesktop.org> wrote:
>>> From: Ian Romanick <ian.d.romanick at intel.com>
>>>
>>> The rules changed from GLSL ES 1.00 to GLSL ES 3.00, so the two tests
>>> expect opposite results.
>>>
>>> NOTE: Mesa currently fails
>>> tests/spec/glsl-es-3.00/compiler/constant-sequence.vert and the related
>>> GLES3 conformance test.
>>>
>>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>>> Cc: Tapani Pälli <tapani.palli at intel.com>
>>> Cc: Mark Janes <mark.a.janes at intel.com>
>>> Cc: Marta Lofstedt <marta.lofstedt at intel.com>
>>> ---
>>>  .../glsl-es-1.00/compiler/constant-sequence.vert    | 17 +++++++++++++++++
>>>  .../glsl-es-3.00/compiler/constant-sequence.vert    | 21 +++++++++++++++++++++
>>>  2 files changed, 38 insertions(+)
>>>  create mode 100644 tests/spec/glsl-es-1.00/compiler/constant-sequence.vert
>>>  create mode 100644 tests/spec/glsl-es-3.00/compiler/constant-sequence.vert
>>>
>>> diff --git a/tests/spec/glsl-es-1.00/compiler/constant-sequence.vert b/tests/spec/glsl-es-1.00/compiler/constant-sequence.vert
>>> new file mode 100644
>>> index 0000000..f57707b
>>> --- /dev/null
>>> +++ b/tests/spec/glsl-es-1.00/compiler/constant-sequence.vert
>>> @@ -0,0 +1,17 @@
>>> +#version 100
>>> +
>>> +/* [config]
>>> + * expect_result: pass
>>> + * glsl_version: 1.00
>>> + * [end config]
>>> + *
>>> + * While the sequnece operator is specifically disallowed as a constant
>>> + * expression in GLSL ES 3.0 and later, it is allowed in GLSL ES 1.00.
>>
>> Yay! More pointless differences that don't actually save anyone any
>> work since your compiler has to accept both #versions!
>
> Well... GLSL 4.30 has the same restriction.  Part of the problem was
> that, I believe, not all compilers actually supported sequence as
> constant expressions, and allowing it means you have to support
>
>     vec4 foo[3, 4];
>
> to declare 4 element array... which is both insane and illegal in C.
>
>> Also typo: sequence
>
> R-b with that fixed? :)

Sure,

Reviewed-by: Matt Turner <mattst88 at gmail.com>

(sorry, I wasn't meaning to review, just to complain :)


More information about the Piglit mailing list