[Piglit] [RESEND RFC 21/25] gen_tess_input_tests.py: move some formatting logic into the templates
baker.dylan.c at gmail.com
baker.dylan.c at gmail.com
Wed Oct 21 10:20:30 PDT 2015
From: Dylan Baker <baker.dylan.c at gmail.com>
This logic was purely used for making content to appear in the generated
files. It is both simpler and less code if it put in the template.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
generated_tests/gen_tess_input_tests.py | 44 ++--------------------
.../gen_tess_input_tests/tcs.shader_test.mako | 16 +++++++-
.../gen_tess_input_tests/tes.shader_test.mako | 16 +++++++-
3 files changed, 33 insertions(+), 43 deletions(-)
diff --git a/generated_tests/gen_tess_input_tests.py b/generated_tests/gen_tess_input_tests.py
index b623cce..cf1c1aa 100644
--- a/generated_tests/gen_tess_input_tests.py
+++ b/generated_tests/gen_tess_input_tests.py
@@ -36,7 +36,7 @@ import random
from six.moves import range
-from modules.utils import safe_makedirs
+from modules.utils import safe_makedirs, lazy_property
from templates import template_dir
@@ -107,26 +107,6 @@ class TcsTest(object):
def tcs_var_ref(self):
return '.' + self.var_name if self.interface_tcs_instance else self.var_name
- @property
- def uniform_string(self):
- """Returns string for loading uniform data by the shader_runner."""
- data = self.test_data()
- uniforms = ''
- if self.var_array:
- for i in range(12):
- for j in range(self.var_array):
- uniforms += 'uniform {0} reference[{1}].v[{2}] {3}\n'.format(
- self.var_type, i, j, data[i*j])
- else:
- for i in range(12):
- uniforms += 'uniform {0} reference[{1}].v {2}\n'.format(
- self.var_type,
- i,
- data[i])
-
- #strip last newline
- return uniforms[:-1]
-
def components(self):
"""Returns the number of scalar components of the used data type."""
n = 1
@@ -143,6 +123,7 @@ class TcsTest(object):
return n
+ @lazy_property
def test_data(self):
"""Returns random but deterministic data as a list of strings.
@@ -288,26 +269,6 @@ class TesTest(object):
def reference_size(self):
return 4 if self.patch_in else 12
- @property
- def uniform_string(self):
- """Returns string for loading uniform data by the shader_runner."""
- data = self.test_data()
- uniforms = ''
- if self.var_array:
- for i in range(self.reference_size):
- for j in range(self.var_array):
- uniforms += 'uniform {0} reference[{1}].v[{2}] {3}\n'.format(
- self.var_type, i, j, data[i*j])
- else:
- for i in range(self.reference_size):
- uniforms += 'uniform {0} reference[{1}].v {2}\n'.format(
- self.var_type,
- i,
- data[i])
-
- #strip last newline
- return uniforms[:-1]
-
def components(self):
"""Returns the number of scalar components of the used data type."""
n = 1
@@ -324,6 +285,7 @@ class TesTest(object):
return n
+ @lazy_property
def test_data(self):
"""Returns random but deterministic data as a list of strings.
diff --git a/generated_tests/templates/gen_tess_input_tests/tcs.shader_test.mako b/generated_tests/templates/gen_tess_input_tests/tcs.shader_test.mako
index b5950c2..f57f84d 100644
--- a/generated_tests/templates/gen_tess_input_tests/tcs.shader_test.mako
+++ b/generated_tests/templates/gen_tess_input_tests/tcs.shader_test.mako
@@ -19,6 +19,12 @@
## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
## SOFTWARE.
+<%!
+ import itertools
+
+ from six.moves import range
+%>
+
# Test generated by:
# ${generator_command}
@@ -107,7 +113,15 @@ void main()
}
[test]
-${params.uniform_string}
+% if params.var_array:
+ % for i, j in itertools.product(range(12), range(params.var_array)):
+uniform ${params.var_type} reference[${i}].v[${j}] ${params.test_data[i*j]}
+ % endfor
+% else:
+ % for i in range(12):
+uniform ${params.var_type} reference[${i}].v ${params.test_data[i]}
+ % endfor
+% endif
draw arrays GL_PATCHES 0 12
relative probe rgb (0.25, 0.25) (0.0, 1.0, 0.0)
relative probe rgb (0.75, 0.25) (0.0, 1.0, 0.0)
diff --git a/generated_tests/templates/gen_tess_input_tests/tes.shader_test.mako b/generated_tests/templates/gen_tess_input_tests/tes.shader_test.mako
index 3428e11..ccde8bf 100644
--- a/generated_tests/templates/gen_tess_input_tests/tes.shader_test.mako
+++ b/generated_tests/templates/gen_tess_input_tests/tes.shader_test.mako
@@ -19,6 +19,12 @@
## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
## SOFTWARE.
+<%!
+ import itertools
+
+ from six.moves import range
+%>
+
# Test generated by:
# ${generator_command}
@@ -106,7 +112,15 @@ void main()
}
[test]
-${params.uniform_string}
+% if params.var_array:
+ % for i, j in itertools.product(range(params.reference_size), range(params.var_array)):
+uniform ${params.var_type} reference[${i}].v[${j}] ${params.test_data[i*j]}
+ % endfor
+% else:
+ % for i in range(params.reference_size):
+uniform ${params.var_type} reference[${i}].v ${params.test_data[i]}
+ % endfor
+% endif
draw arrays GL_PATCHES 0 12
relative probe rgb (0.25, 0.25) (0.0, 1.0, 0.0)
relative probe rgb (0.75, 0.25) (0.0, 1.0, 0.0)
--
2.6.1
More information about the Piglit
mailing list