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, parseBuildConfigFromCmdLineArgs
30 COPYRIGHT_DECLARATION = """
31 Copyright (C) 2016 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 MASTER_EGL_COMMON_FILTERS = [include("egl-master.txt"),
59 exclude("egl-test-issues.txt"),
60 exclude("egl-manual-robustness.txt"),
61 exclude("egl-driver-issues.txt"),
62 exclude("egl-temp-excluded.txt")]
63 MASTER_EGL_PKG = Package(module = EGL_MODULE, configurations = [
65 Configuration(name = "master",
66 glconfig = "rgba8888d24s8ms0",
67 rotation = "unspecified",
68 surfacetype = "window",
70 filters = MASTER_EGL_COMMON_FILTERS,
72 runByDefault = False),
73 Configuration(name = "master-2020-03-01",
74 glconfig = "rgba8888d24s8ms0",
75 rotation = "unspecified",
76 surfacetype = "window",
78 filters = [include("egl-master-2020-03-01.txt")],
80 Configuration(name = "master-2022-03-01",
81 glconfig = "rgba8888d24s8ms0",
82 rotation = "unspecified",
83 surfacetype = "window",
85 filters = MASTER_EGL_COMMON_FILTERS + [exclude("egl-master-2020-03-01.txt")],
88 Configuration(name = "master-risky",
89 glconfig = "rgba8888d24s8ms0",
90 rotation = "unspecified",
91 surfacetype = "window",
93 filters = [include("egl-temp-excluded.txt")],
97 MASTER_GLES2_COMMON_FILTERS = [
98 include("gles2-master.txt"),
99 exclude("gles2-test-issues.txt"),
100 exclude("gles2-failures.txt"),
101 exclude("gles2-temp-excluded.txt"),
103 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
105 Configuration(name = "master",
106 glconfig = "rgba8888d24s8ms0",
107 rotation = "unspecified",
108 surfacetype = "window",
110 filters = MASTER_GLES2_COMMON_FILTERS,
112 runByDefault = False),
113 Configuration(name = "master-2020-03-01",
114 glconfig = "rgba8888d24s8ms0",
115 rotation = "unspecified",
116 surfacetype = "window",
118 filters = [include("gles2-master-2020-03-01.txt")],
120 Configuration(name = "master-2021-03-01",
121 glconfig = "rgba8888d24s8ms0",
122 rotation = "unspecified",
123 surfacetype = "window",
125 filters = [include("gles2-master-2021-03-01.txt")],
127 Configuration(name = "master-2022-03-01",
128 glconfig = "rgba8888d24s8ms0",
129 rotation = "unspecified",
130 surfacetype = "window",
132 filters = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt"), exclude("gles2-master-2021-03-01.txt")],
136 MASTER_GLES3_COMMON_FILTERS = [
137 include("gles3-master.txt"),
138 exclude("gles3-hw-issues.txt"),
139 exclude("gles3-driver-issues.txt"),
140 exclude("gles3-test-issues.txt"),
141 exclude("gles3-spec-issues.txt"),
142 exclude("gles3-temp-excluded.txt"),
143 exclude("gles3-waivers.txt"),
145 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
147 Configuration(name = "master",
148 glconfig = "rgba8888d24s8ms0",
149 rotation = "unspecified",
150 surfacetype = "window",
152 filters = MASTER_GLES3_COMMON_FILTERS,
154 runByDefault = False),
155 Configuration(name = "master-2020-03-01",
156 glconfig = "rgba8888d24s8ms0",
157 rotation = "unspecified",
158 surfacetype = "window",
160 filters = [include("gles3-master-2020-03-01.txt")],
162 Configuration(name = "master-2021-03-01",
163 glconfig = "rgba8888d24s8ms0",
164 rotation = "unspecified",
165 surfacetype = "window",
167 filters = [include("gles3-master-2021-03-01.txt")],
169 Configuration(name = "master-2022-03-01",
170 glconfig = "rgba8888d24s8ms0",
171 rotation = "unspecified",
172 surfacetype = "window",
174 filters = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt"), exclude("gles3-master-2021-03-01.txt")],
177 Configuration(name = "rotate-portrait",
178 glconfig = "rgba8888d24s8ms0",
180 surfacetype = "window",
181 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
183 Configuration(name = "rotate-landscape",
184 glconfig = "rgba8888d24s8ms0",
186 surfacetype = "window",
187 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
189 Configuration(name = "rotate-reverse-portrait",
190 glconfig = "rgba8888d24s8ms0",
192 surfacetype = "window",
193 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
195 Configuration(name = "rotate-reverse-landscape",
196 glconfig = "rgba8888d24s8ms0",
198 surfacetype = "window",
199 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
203 Configuration(name = "multisample",
204 glconfig = "rgba8888d24s8ms4",
205 rotation = "unspecified",
206 surfacetype = "window",
207 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
208 exclude("gles3-multisample-issues.txt")],
212 Configuration(name = "565-no-depth-no-stencil",
213 glconfig = "rgb565d0s0ms0",
214 rotation = "unspecified",
215 surfacetype = "window",
216 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
217 exclude("gles3-pixelformat-issues.txt")],
220 Configuration(name = "incremental-deqp",
221 filters = [include("gles3-incremental-deqp.txt")],
223 runByDefault = False),
226 MASTER_GLES31_COMMON_FILTERS = [
227 include("gles31-master.txt"),
228 exclude("gles31-hw-issues.txt"),
229 exclude("gles31-driver-issues.txt"),
230 exclude("gles31-test-issues.txt"),
231 exclude("gles31-spec-issues.txt"),
232 exclude("gles31-temp-excluded.txt"),
233 exclude("gles31-waivers.txt"),
235 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
237 Configuration(name = "master",
238 glconfig = "rgba8888d24s8ms0",
239 rotation = "unspecified",
240 surfacetype = "window",
242 filters = MASTER_GLES31_COMMON_FILTERS,
244 runByDefault = False),
245 Configuration(name = "master-2020-03-01",
246 glconfig = "rgba8888d24s8ms0",
247 rotation = "unspecified",
248 surfacetype = "window",
250 filters = [include("gles31-master-2020-03-01.txt")],
252 Configuration(name = "master-2021-03-01",
253 glconfig = "rgba8888d24s8ms0",
254 rotation = "unspecified",
255 surfacetype = "window",
257 filters = [include("gles31-master-2021-03-01.txt")],
259 Configuration(name = "master-2022-03-01",
260 glconfig = "rgba8888d24s8ms0",
261 rotation = "unspecified",
262 surfacetype = "window",
264 filters = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt"), exclude("gles31-master-2021-03-01.txt")],
268 Configuration(name = "rotate-portrait",
269 glconfig = "rgba8888d24s8ms0",
271 surfacetype = "window",
272 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
274 Configuration(name = "rotate-landscape",
275 glconfig = "rgba8888d24s8ms0",
277 surfacetype = "window",
278 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
280 Configuration(name = "rotate-reverse-portrait",
281 glconfig = "rgba8888d24s8ms0",
283 surfacetype = "window",
284 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
286 Configuration(name = "rotate-reverse-landscape",
287 glconfig = "rgba8888d24s8ms0",
289 surfacetype = "window",
290 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
294 Configuration(name = "multisample",
295 glconfig = "rgba8888d24s8ms4",
296 rotation = "unspecified",
297 surfacetype = "window",
298 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
302 Configuration(name = "565-no-depth-no-stencil",
303 glconfig = "rgb565d0s0ms0",
304 rotation = "unspecified",
305 surfacetype = "window",
306 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
310 MASTER_VULKAN_FILTERS = [
311 include("vk-master.txt"),
312 exclude("vk-not-applicable.txt"),
313 exclude("vk-excluded-tests.txt"),
314 exclude("vk-test-issues.txt"),
315 exclude("vk-waivers.txt"),
316 exclude("vk-temp-excluded.txt"),
318 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
319 Configuration(name = "master",
320 filters = MASTER_VULKAN_FILTERS,
322 runByDefault = False,
323 splitToMultipleFiles = True),
324 Configuration(name = "master-2019-03-01",
325 filters = [include("vk-master-2019-03-01.txt")],
327 splitToMultipleFiles = True),
328 Configuration(name = "master-2020-03-01",
329 filters = [include("vk-master-2020-03-01.txt")],
331 splitToMultipleFiles = True),
332 Configuration(name = "master-2021-03-01",
333 filters = [include("vk-master-2021-03-01.txt")],
335 splitToMultipleFiles = True),
336 Configuration(name = "master-2022-03-01",
337 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt"), exclude("vk-master-2021-03-01.txt")],
339 splitToMultipleFiles = True),
340 Configuration(name = "incremental-deqp",
341 filters = [include("vk-incremental-deqp.txt")],
343 runByDefault = False,
344 splitToMultipleFiles = True),
348 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
351 if __name__ == "__main__":
352 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())