[Piglit] [PATCH 1/2] glsl-3.30: Add a test for __VERSION__ == 330.
Kenneth Graunke
kenneth at whitecape.org
Wed Aug 28 12:14:09 PDT 2013
On 08/28/2013 11:45 AM, Ian Romanick wrote:
> On 08/23/2013 11:46 AM, Kenneth Graunke wrote:
>> This is copy and pasted from glsl-1.50/compiler/version-macro.frag with
>> the version changed.
>>
>> Since this is the first test for GLSL 3.30, this patch also hooks up the
>> directory so all.tests scans it for parsertests and shader runner tests.
>> ---
>> tests/all.tests | 8 ++++++++
>> tests/spec/glsl-3.30/compiler/version-macro.frag | 7 +++++++
>> 2 files changed, 15 insertions(+)
>> create mode 100644 tests/spec/glsl-3.30/compiler/version-macro.frag
>>
>> diff --git a/tests/all.tests b/tests/all.tests
>> index 0c67beb..af2f684 100644
>> --- a/tests/all.tests
>> +++ b/tests/all.tests
>> @@ -938,6 +938,14 @@ for draw in ['', 'indexed']:
>> ('arb_geometry_shader4-ignore-adjacent-vertices '
>> 'core {0} {1}').format(draw, prim))
>>
>> +spec['glsl-3.30'] = Group()
>> +import_glsl_parser_tests(spec['glsl-3.30'],
>> + os.path.join(testsDir, 'spec', 'glsl-3.30'),
>> + ['compiler'])
>> +add_shader_test_dir(spec['glsl-3.30'],
>> + os.path.join(testsDir, 'spec', 'glsl-3.30'),
>> + recursive=True)
>> +
>> # Group spec/glsl-es-3.00
>> spec['glsl-es-3.00'] = Group()
>> import_glsl_parser_tests(spec['glsl-es-3.00'],
>> diff --git a/tests/spec/glsl-3.30/compiler/version-macro.frag b/tests/spec/glsl-3.30/compiler/version-macro.frag
>> new file mode 100644
>> index 0000000..d4107ce
>> --- /dev/null
>> +++ b/tests/spec/glsl-3.30/compiler/version-macro.frag
>> @@ -0,0 +1,7 @@
>> +// [config]
>> +// expect_result: pass
>> +// glsl_version: 3.30
>> +// [end config]
>> +
>> +#version 330
>> +int x[int(__VERSION__ == 330)];
>>
>
> Since the spec says __VERSION__ is a define, I feel like we should test
> these like:
>
> #if !defined __VERSION__
> #error __VERSION__ not defined.
> #endif
> #if __VERSION__ != 330
> #error __VERSION__ is not 330
> #endif
>
> void main() { ... }
>
> Including main or some function is important because Apple's compiler is
> dumb.
I suppose that also ensures that __VERSION__ is a #define, rather than
say, a built-in const int variable.
I'll make some patches.
More information about the Piglit
mailing list