diff options
author | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2017-01-25 22:55:38 +0100 |
---|---|---|
committer | Nicolai Hähnle <nhaehnle@gmail.com> | 2017-02-02 15:49:45 +0100 |
commit | 5af9c7c11a87c9977777927204929d29463c25a1 (patch) | |
tree | 5b0b5545b5e8d92e2d38f20fd96055cee1b51cb3 /generated_tests | |
parent | 8bd5790b8f6b26e4ddc4e546f72a31fb874e15f3 (diff) |
gen_conversion: refactor templates to allow multiple extensions
This will be needed for the interaction of GL_ARB_gpu_shader_fp64 with
GL_ARB_gpu_shader_int64.
Acked-by: Dave Airlie <airlied@redhat.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
Diffstat (limited to 'generated_tests')
4 files changed, 20 insertions, 8 deletions
diff --git a/generated_tests/gen_conversion.py b/generated_tests/gen_conversion.py index aa76d483a..e261eacbc 100644 --- a/generated_tests/gen_conversion.py +++ b/generated_tests/gen_conversion.py @@ -281,6 +281,11 @@ class TestTuple(object): self._uniform_type = '' self._amount = int(first_dimension) * int(second_dimension) self._filenames = [] + self._extensions = [] + + if ver.startswith('GL_'): + if basic_type == 'd' or target_type == 'd': + self._extensions.append('GL_ARB_gpu_shader_fp64') if first_dimension != '1': dimensional_type = 'mat' + first_dimension @@ -396,6 +401,7 @@ class RegularTestTuple(TestTuple): test_file.write(TEMPLATES.get_template( 'compiler.{}.mako'.format(self._stage)).render_unicode( ver=self._ver, + extensions=self._extensions, from_type=from_type, to_type=to_type, converted_from=converted_from)) @@ -415,6 +421,7 @@ class RegularTestTuple(TestTuple): test_file.write(TEMPLATES.get_template( 'execution.{}.shader_test.mako'.format(self._stage)).render_unicode( ver=self._ver, + extensions=self._extensions, amount=self._amount, from_type=from_type, to_type=to_type, @@ -542,6 +549,7 @@ class ZeroSignTestTuple(TestTuple): 'execution-zero-sign.{}.shader_test.mako'.format( self._stage)).render_unicode( ver=self._ver, + extensions=self._extensions, amount=self._amount, from_type=from_type, to_type=to_type, diff --git a/generated_tests/templates/gen_conversion/compiler_base.mako b/generated_tests/templates/gen_conversion/compiler_base.mako index 96ecc3643..33166c848 100644 --- a/generated_tests/templates/gen_conversion/compiler_base.mako +++ b/generated_tests/templates/gen_conversion/compiler_base.mako @@ -6,8 +6,12 @@ /* [config] * expect_result: fail * glsl_version: ${glsl_version} -% if ver == 'GL_ARB_gpu_shader_fp64': - * require_extensions: ${ver} +% if extensions: + * require_extensions:\ +% for extension in extensions: + ${extension}\ +% endfor + * [end config] * * ${ver} spec states: diff --git a/generated_tests/templates/gen_conversion/execution_base.mako b/generated_tests/templates/gen_conversion/execution_base.mako index 2a3e06560..09a3223b7 100644 --- a/generated_tests/templates/gen_conversion/execution_base.mako +++ b/generated_tests/templates/gen_conversion/execution_base.mako @@ -6,9 +6,9 @@ <%! from six.moves import range %>\ [require] GLSL >= ${glsl_version} -% if ver == 'GL_ARB_gpu_shader_fp64': -${ver} -% endif +% for extension in extensions: +${extension} +% endfor ${next.body()}\ [test] clear color 0.0 0.0 0.0 0.0 diff --git a/generated_tests/templates/gen_conversion/shader_base.mako b/generated_tests/templates/gen_conversion/shader_base.mako index 33d88b813..d424e834f 100644 --- a/generated_tests/templates/gen_conversion/shader_base.mako +++ b/generated_tests/templates/gen_conversion/shader_base.mako @@ -4,8 +4,8 @@ (glsl_version, glsl_version_int) = self.versioning() %>\ #version ${glsl_version_int} -% if ver == 'GL_ARB_gpu_shader_fp64': -#extension GL_ARB_gpu_shader_fp64 : require -% endif +% for extension in extensions: +#extension ${extension} : require +% endfor ${next.body()}\ |