1 # -*- coding: utf-8 -*-
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
7 # Copyright 2015 The Android Open Source Project
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
13 # http://www.apache.org/licenses/LICENSE-2.0
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
21 #-------------------------------------------------------------------------
23 from build.common import DEQP_DIR
24 from build.config import ANY_GENERATOR
25 from build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
26 from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists
30 COPYRIGHT_DECLARATION = """
31 Copyright (C) 2015 The Android Open Source Project
33 Licensed under the Apache License, Version 2.0 (the "License");
34 you may not use this file except in compliance with the License.
35 You may obtain a copy of the License at
37 http://www.apache.org/licenses/LICENSE-2.0
39 Unless required by applicable law or agreed to in writing, software
40 distributed under the License is distributed on an "AS IS" BASIS,
41 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42 See the License for the specific language governing permissions and
43 limitations under the License.
46 CTS_DATA_DIR = os.path.join(DEQP_DIR, "android", "cts")
48 CTS_PROJECT = Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
50 EGL_MODULE = getModuleByName("dEQP-EGL")
51 GLES2_MODULE = getModuleByName("dEQP-GLES2")
52 GLES3_MODULE = getModuleByName("dEQP-GLES3")
53 GLES31_MODULE = getModuleByName("dEQP-GLES31")
54 VULKAN_MODULE = getModuleByName("dEQP-VK")
58 LMP_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
59 Configuration(name = "master",
60 glconfig = "rgba8888d24s8ms0",
61 rotation = "unspecified",
62 surfacetype = "window",
63 filters = [include("es30-lmp.txt")]),
65 LMP_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
66 Configuration(name = "master",
67 glconfig = "rgba8888d24s8ms0",
68 rotation = "unspecified",
69 surfacetype = "window",
70 filters = [include("es31-lmp.txt")]),
75 LMP_MR1_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
76 Configuration(name = "master",
77 glconfig = "rgba8888d24s8ms0",
78 rotation = "unspecified",
79 surfacetype = "window",
80 filters = [include("es30-lmp-mr1.txt")]),
82 LMP_MR1_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
83 Configuration(name = "master",
84 glconfig = "rgba8888d24s8ms0",
85 rotation = "unspecified",
86 surfacetype = "window",
87 filters = [include("es31-lmp-mr1.txt")]),
92 MNC_EGL_PKG = Package(module = EGL_MODULE, configurations = [
94 Configuration(name = "master",
95 glconfig = "rgba8888d24s8ms0",
96 rotation = "unspecified",
97 surfacetype = "window",
98 filters = [include("egl-master.txt")]),
100 MNC_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
102 Configuration(name = "master",
103 glconfig = "rgba8888d24s8ms0",
104 rotation = "unspecified",
105 surfacetype = "window",
106 filters = [include("gles2-master.txt")]),
108 MNC_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
110 Configuration(name = "master",
111 glconfig = "rgba8888d24s8ms0",
112 rotation = "unspecified",
113 surfacetype = "window",
114 filters = [include("gles3-master.txt")]),
116 Configuration(name = "rotate-portrait",
117 glconfig = "rgba8888d24s8ms0",
119 surfacetype = "window",
120 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
121 Configuration(name = "rotate-landscape",
122 glconfig = "rgba8888d24s8ms0",
124 surfacetype = "window",
125 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
126 Configuration(name = "rotate-reverse-portrait",
127 glconfig = "rgba8888d24s8ms0",
129 surfacetype = "window",
130 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
131 Configuration(name = "rotate-reverse-landscape",
132 glconfig = "rgba8888d24s8ms0",
134 surfacetype = "window",
135 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
138 Configuration(name = "multisample",
139 glconfig = "rgba8888d24s8ms4",
140 rotation = "unspecified",
141 surfacetype = "window",
142 filters = [include("gles3-master.txt"),
143 include("gles3-multisample.txt"),
144 exclude("gles3-multisample-issues.txt")]),
147 Configuration(name = "565-no-depth-no-stencil",
148 glconfig = "rgb565d0s0ms0",
149 rotation = "unspecified",
150 surfacetype = "window",
151 filters = [include("gles3-master.txt"),
152 include("gles3-pixelformat.txt"),
153 exclude("gles3-pixelformat-issues.txt")]),
155 MNC_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
157 Configuration(name = "master",
158 glconfig = "rgba8888d24s8ms0",
159 rotation = "unspecified",
160 surfacetype = "window",
161 filters = [include("gles31-master.txt")]),
164 Configuration(name = "rotate-portrait",
165 glconfig = "rgba8888d24s8ms0",
167 surfacetype = "window",
168 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
169 Configuration(name = "rotate-landscape",
170 glconfig = "rgba8888d24s8ms0",
172 surfacetype = "window",
173 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
174 Configuration(name = "rotate-reverse-portrait",
175 glconfig = "rgba8888d24s8ms0",
177 surfacetype = "window",
178 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
179 Configuration(name = "rotate-reverse-landscape",
180 glconfig = "rgba8888d24s8ms0",
182 surfacetype = "window",
183 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
186 Configuration(name = "multisample",
187 glconfig = "rgba8888d24s8ms4",
188 rotation = "unspecified",
189 surfacetype = "window",
190 filters = [include("gles31-master.txt"), include("gles31-multisample.txt")]),
193 Configuration(name = "565-no-depth-no-stencil",
194 glconfig = "rgb565d0s0ms0",
195 rotation = "unspecified",
196 surfacetype = "window",
197 filters = [include("gles31-master.txt"), include("gles31-pixelformat.txt")]),
202 MASTER_EGL_COMMON_FILTERS = [include("egl-master.txt"),
203 exclude("egl-test-issues.txt"),
204 exclude("egl-internal-api-tests.txt")]
205 MASTER_EGL_PKG = Package(module = EGL_MODULE, configurations = [
207 Configuration(name = "master",
208 glconfig = "rgba8888d24s8ms0",
209 rotation = "unspecified",
210 surfacetype = "window",
211 filters = MASTER_EGL_COMMON_FILTERS),
214 MASTER_GLES2_COMMON_FILTERS = [
215 include("gles2-master.txt"),
216 exclude("gles2-test-issues.txt"),
217 exclude("gles2-failures.txt")
219 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
221 Configuration(name = "master",
222 glconfig = "rgba8888d24s8ms0",
223 rotation = "unspecified",
224 surfacetype = "window",
225 filters = MASTER_GLES2_COMMON_FILTERS),
228 MASTER_GLES3_COMMON_FILTERS = [
229 include("gles3-master.txt"),
230 exclude("gles3-hw-issues.txt"),
231 exclude("gles3-driver-issues.txt"),
232 exclude("gles3-test-issues.txt"),
233 exclude("gles3-spec-issues.txt")
235 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
237 Configuration(name = "master",
238 glconfig = "rgba8888d24s8ms0",
239 rotation = "unspecified",
240 surfacetype = "window",
241 filters = MASTER_GLES3_COMMON_FILTERS),
243 Configuration(name = "rotate-portrait",
244 glconfig = "rgba8888d24s8ms0",
246 surfacetype = "window",
247 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
248 Configuration(name = "rotate-landscape",
249 glconfig = "rgba8888d24s8ms0",
251 surfacetype = "window",
252 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
253 Configuration(name = "rotate-reverse-portrait",
254 glconfig = "rgba8888d24s8ms0",
256 surfacetype = "window",
257 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
258 Configuration(name = "rotate-reverse-landscape",
259 glconfig = "rgba8888d24s8ms0",
261 surfacetype = "window",
262 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
265 Configuration(name = "multisample",
266 glconfig = "rgba8888d24s8ms4",
267 rotation = "unspecified",
268 surfacetype = "window",
269 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
270 exclude("gles3-multisample-issues.txt")]),
273 Configuration(name = "565-no-depth-no-stencil",
274 glconfig = "rgb565d0s0ms0",
275 rotation = "unspecified",
276 surfacetype = "window",
277 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
278 exclude("gles3-pixelformat-issues.txt")]),
281 MASTER_GLES31_COMMON_FILTERS = [
282 include("gles31-master.txt"),
283 exclude("gles31-hw-issues.txt"),
284 exclude("gles31-driver-issues.txt"),
285 exclude("gles31-test-issues.txt"),
286 exclude("gles31-spec-issues.txt"),
288 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
290 Configuration(name = "master",
291 glconfig = "rgba8888d24s8ms0",
292 rotation = "unspecified",
293 surfacetype = "window",
294 filters = MASTER_GLES31_COMMON_FILTERS),
297 Configuration(name = "rotate-portrait",
298 glconfig = "rgba8888d24s8ms0",
300 surfacetype = "window",
301 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
302 Configuration(name = "rotate-landscape",
303 glconfig = "rgba8888d24s8ms0",
305 surfacetype = "window",
306 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
307 Configuration(name = "rotate-reverse-portrait",
308 glconfig = "rgba8888d24s8ms0",
310 surfacetype = "window",
311 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
312 Configuration(name = "rotate-reverse-landscape",
313 glconfig = "rgba8888d24s8ms0",
315 surfacetype = "window",
316 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
319 Configuration(name = "multisample",
320 glconfig = "rgba8888d24s8ms4",
321 rotation = "unspecified",
322 surfacetype = "window",
323 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")]),
326 Configuration(name = "565-no-depth-no-stencil",
327 glconfig = "rgb565d0s0ms0",
328 rotation = "unspecified",
329 surfacetype = "window",
330 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")]),
334 Mustpass(project = CTS_PROJECT, version = "lmp", packages = [LMP_GLES3_PKG, LMP_GLES31_PKG]),
335 Mustpass(project = CTS_PROJECT, version = "lmp-mr1", packages = [LMP_MR1_GLES3_PKG, LMP_MR1_GLES31_PKG]),
336 Mustpass(project = CTS_PROJECT, version = "mnc", packages = [MNC_EGL_PKG, MNC_GLES2_PKG, MNC_GLES3_PKG, MNC_GLES31_PKG]),
337 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG])
340 BUILD_CONFIG = getBuildConfig(DEFAULT_BUILD_DIR, DEFAULT_TARGET, "Debug")
342 if __name__ == "__main__":
343 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, BUILD_CONFIG)