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-internal-api-tests.txt"),
61 exclude("egl-manual-robustness.txt"),
62 exclude("egl-driver-issues.txt"),
63 exclude("egl-temp-excluded.txt")]
64 MASTER_EGL_PKG = Package(module = EGL_MODULE, configurations = [
66 Configuration(name = "master",
67 glconfig = "rgba8888d24s8ms0",
68 rotation = "unspecified",
69 surfacetype = "window",
71 filters = MASTER_EGL_COMMON_FILTERS,
74 Configuration(name = "master-risky",
75 glconfig = "rgba8888d24s8ms0",
76 rotation = "unspecified",
77 surfacetype = "window",
79 filters = [include("egl-temp-excluded.txt")],
83 MASTER_GLES2_COMMON_FILTERS = [
84 include("gles2-master.txt"),
85 exclude("gles2-test-issues.txt"),
86 exclude("gles2-failures.txt"),
87 exclude("gles2-temp-excluded.txt"),
89 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
91 Configuration(name = "master",
92 glconfig = "rgba8888d24s8ms0",
93 rotation = "unspecified",
94 surfacetype = "window",
96 filters = MASTER_GLES2_COMMON_FILTERS,
98 runByDefault = False),
99 Configuration(name = "master-2020-03-01",
100 glconfig = "rgba8888d24s8ms0",
101 rotation = "unspecified",
102 surfacetype = "window",
104 filters = [include("gles2-master-2020-03-01.txt")],
106 Configuration(name = "master-2021-03-01",
107 glconfig = "rgba8888d24s8ms0",
108 rotation = "unspecified",
109 surfacetype = "window",
111 filters = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
115 MASTER_GLES3_COMMON_FILTERS = [
116 include("gles3-master.txt"),
117 exclude("gles3-hw-issues.txt"),
118 exclude("gles3-driver-issues.txt"),
119 exclude("gles3-test-issues.txt"),
120 exclude("gles3-spec-issues.txt"),
121 exclude("gles3-temp-excluded.txt"),
122 exclude("gles3-waivers.txt"),
124 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
126 Configuration(name = "master",
127 glconfig = "rgba8888d24s8ms0",
128 rotation = "unspecified",
129 surfacetype = "window",
131 filters = MASTER_GLES3_COMMON_FILTERS,
133 runByDefault = False),
134 Configuration(name = "master-2020-03-01",
135 glconfig = "rgba8888d24s8ms0",
136 rotation = "unspecified",
137 surfacetype = "window",
139 filters = [include("gles3-master-2020-03-01.txt")],
141 Configuration(name = "master-2021-03-01",
142 glconfig = "rgba8888d24s8ms0",
143 rotation = "unspecified",
144 surfacetype = "window",
146 filters = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
149 Configuration(name = "rotate-portrait",
150 glconfig = "rgba8888d24s8ms0",
152 surfacetype = "window",
153 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
155 Configuration(name = "rotate-landscape",
156 glconfig = "rgba8888d24s8ms0",
158 surfacetype = "window",
159 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
161 Configuration(name = "rotate-reverse-portrait",
162 glconfig = "rgba8888d24s8ms0",
164 surfacetype = "window",
165 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
167 Configuration(name = "rotate-reverse-landscape",
168 glconfig = "rgba8888d24s8ms0",
170 surfacetype = "window",
171 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
175 Configuration(name = "multisample",
176 glconfig = "rgba8888d24s8ms4",
177 rotation = "unspecified",
178 surfacetype = "window",
179 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
180 exclude("gles3-multisample-issues.txt")],
184 Configuration(name = "565-no-depth-no-stencil",
185 glconfig = "rgb565d0s0ms0",
186 rotation = "unspecified",
187 surfacetype = "window",
188 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
189 exclude("gles3-pixelformat-issues.txt")],
192 Configuration(name = "incremental-deqp",
193 filters = [include("gles3-incremental-deqp.txt")],
195 runByDefault = False),
198 MASTER_GLES31_COMMON_FILTERS = [
199 include("gles31-master.txt"),
200 exclude("gles31-hw-issues.txt"),
201 exclude("gles31-driver-issues.txt"),
202 exclude("gles31-test-issues.txt"),
203 exclude("gles31-spec-issues.txt"),
204 exclude("gles31-temp-excluded.txt"),
205 exclude("gles31-waivers.txt"),
207 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
209 Configuration(name = "master",
210 glconfig = "rgba8888d24s8ms0",
211 rotation = "unspecified",
212 surfacetype = "window",
214 filters = MASTER_GLES31_COMMON_FILTERS,
216 runByDefault = False),
217 Configuration(name = "master-2020-03-01",
218 glconfig = "rgba8888d24s8ms0",
219 rotation = "unspecified",
220 surfacetype = "window",
222 filters = [include("gles31-master-2020-03-01.txt")],
224 Configuration(name = "master-2021-03-01",
225 glconfig = "rgba8888d24s8ms0",
226 rotation = "unspecified",
227 surfacetype = "window",
229 filters = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
233 Configuration(name = "rotate-portrait",
234 glconfig = "rgba8888d24s8ms0",
236 surfacetype = "window",
237 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
239 Configuration(name = "rotate-landscape",
240 glconfig = "rgba8888d24s8ms0",
242 surfacetype = "window",
243 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
245 Configuration(name = "rotate-reverse-portrait",
246 glconfig = "rgba8888d24s8ms0",
248 surfacetype = "window",
249 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
251 Configuration(name = "rotate-reverse-landscape",
252 glconfig = "rgba8888d24s8ms0",
254 surfacetype = "window",
255 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
259 Configuration(name = "multisample",
260 glconfig = "rgba8888d24s8ms4",
261 rotation = "unspecified",
262 surfacetype = "window",
263 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
267 Configuration(name = "565-no-depth-no-stencil",
268 glconfig = "rgb565d0s0ms0",
269 rotation = "unspecified",
270 surfacetype = "window",
271 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
275 MASTER_VULKAN_FILTERS = [
276 include("vk-master.txt"),
277 exclude("vk-not-applicable.txt"),
278 exclude("vk-excluded-tests.txt"),
279 exclude("vk-test-issues.txt"),
280 exclude("vk-waivers.txt"),
281 exclude("vk-temp-excluded.txt"),
283 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
284 Configuration(name = "master",
285 filters = MASTER_VULKAN_FILTERS,
287 runByDefault = False),
288 Configuration(name = "master-2019-03-01",
289 filters = [include("vk-master-2019-03-01.txt")],
291 Configuration(name = "master-2020-03-01",
292 filters = [include("vk-master-2020-03-01.txt")],
294 Configuration(name = "master-2021-03-01",
295 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
297 Configuration(name = "incremental-deqp",
298 filters = [include("vk-incremental-deqp.txt")],
300 runByDefault = False),
304 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
307 if __name__ == "__main__":
308 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())