summaryrefslogtreecommitdiff
path: root/generated_tests
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2017-01-25 22:55:38 +0100
committerNicolai Hähnle <nhaehnle@gmail.com>2017-02-02 15:49:45 +0100
commit5af9c7c11a87c9977777927204929d29463c25a1 (patch)
tree5b0b5545b5e8d92e2d38f20fd96055cee1b51cb3 /generated_tests
parent8bd5790b8f6b26e4ddc4e546f72a31fb874e15f3 (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')
-rw-r--r--generated_tests/gen_conversion.py8
-rw-r--r--generated_tests/templates/gen_conversion/compiler_base.mako8
-rw-r--r--generated_tests/templates/gen_conversion/execution_base.mako6
-rw-r--r--generated_tests/templates/gen_conversion/shader_base.mako6
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()}\