2 # Copyright (c) 2010, 2014 Intel Corporation
4 # Permission is hereby granted, free of charge, to any person obtaining a copy
5 # of this software and associated documentation files (the "Software"), to deal
6 # in the Software without restriction, including without limitation the rights
7 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 # copies of the Software, and to permit persons to whom the Software is
9 # furnished to do so, subject to the following conditions:
11 # The above copyright notice and this permission notice shall be included in
12 # all copies or substantial portions of the Software.
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 """ Generate tests for builtin const equality tests """
24 from __future__
import print_function
, division
, absolute_import
28 from templates
import template_file
29 from modules
import utils
31 TEMPLATE
= template_file(os
.path
.basename(os
.path
.splitext(__file__
)[0]),
32 'template.shader_test.mako')
39 ["vec3(13.4, -0.9, 12.55)",
40 "vec3(13.4, 12.0, -55.3)",
41 "bvec3(true, false, false)"
43 ["vec4(-2.0, 0.0, 0.123, -1000.5)",
44 "vec4(-2.4, 0.0, 0.456, 12.5)",
45 "bvec4(false, true, false, false)"
53 "bvec3(false, false, false)"
55 ["ivec4(11, 1000, 1, -18)",
56 "ivec4(55, 1000, -21, -17)",
57 "bvec4(false, true, false, false)"
59 ["bvec2(true, false)",
63 ["bvec3(false, true, false)",
64 "bvec3(false, false, true)",
65 "bvec3(true, false, false)"
67 ["bvec4(true, false, false, true)",
68 "bvec4(true, true, false, false)",
69 "bvec4(true, false, true, false)"
76 dirname
= os
.path
.join('spec', 'glsl-1.20', 'execution',
78 utils
.safe_makedirs(dirname
)
80 for test_id
, x
in enumerate(TEST_VECTORS
, start
=2):
84 "glsl-const-builtin-equal-{0:02d}.shader_test".format(test_id
))
88 with
open(name
, 'w') as f
:
89 f
.write(TEMPLATE
.render_unicode(
90 func
='equal', input=x
[0:2], expected
=x
[2]))
95 "glsl-const-builtin-notEqual-{0:02d}.shader_test".format(test_id
))
97 # When generating the notEqual tests, each of the values in the
98 # expected result vector need to be inverted
99 expected
= re
.sub("true", "FALSE", x
[2])
100 expected
= re
.sub("false", "TRUE", expected
)
101 expected
= expected
.lower()
105 with
open(name
, 'w') as f
:
106 f
.write(TEMPLATE
.render_unicode(
107 func
='notEqual', input=x
[0:2], expected
=expected
))
110 if __name__
== "__main__":