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,
73 Configuration(name = "master-risky",
74 glconfig = "rgba8888d24s8ms0",
75 rotation = "unspecified",
76 surfacetype = "window",
78 filters = [include("egl-temp-excluded.txt")],
82 MASTER_GLES2_COMMON_FILTERS = [
83 include("gles2-master.txt"),
84 exclude("gles2-test-issues.txt"),
85 exclude("gles2-failures.txt"),
86 exclude("gles2-temp-excluded.txt"),
88 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
90 Configuration(name = "master",
91 glconfig = "rgba8888d24s8ms0",
92 rotation = "unspecified",
93 surfacetype = "window",
95 filters = MASTER_GLES2_COMMON_FILTERS,
97 runByDefault = False),
98 Configuration(name = "master-2020-03-01",
99 glconfig = "rgba8888d24s8ms0",
100 rotation = "unspecified",
101 surfacetype = "window",
103 filters = [include("gles2-master-2020-03-01.txt")],
105 Configuration(name = "master-2021-03-01",
106 glconfig = "rgba8888d24s8ms0",
107 rotation = "unspecified",
108 surfacetype = "window",
110 filters = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
114 MASTER_GLES3_COMMON_FILTERS = [
115 include("gles3-master.txt"),
116 exclude("gles3-hw-issues.txt"),
117 exclude("gles3-driver-issues.txt"),
118 exclude("gles3-test-issues.txt"),
119 exclude("gles3-spec-issues.txt"),
120 exclude("gles3-temp-excluded.txt"),
121 exclude("gles3-waivers.txt"),
123 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
125 Configuration(name = "master",
126 glconfig = "rgba8888d24s8ms0",
127 rotation = "unspecified",
128 surfacetype = "window",
130 filters = MASTER_GLES3_COMMON_FILTERS,
132 runByDefault = False),
133 Configuration(name = "master-2020-03-01",
134 glconfig = "rgba8888d24s8ms0",
135 rotation = "unspecified",
136 surfacetype = "window",
138 filters = [include("gles3-master-2020-03-01.txt")],
140 Configuration(name = "master-2021-03-01",
141 glconfig = "rgba8888d24s8ms0",
142 rotation = "unspecified",
143 surfacetype = "window",
145 filters = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
148 Configuration(name = "rotate-portrait",
149 glconfig = "rgba8888d24s8ms0",
151 surfacetype = "window",
152 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
154 Configuration(name = "rotate-landscape",
155 glconfig = "rgba8888d24s8ms0",
157 surfacetype = "window",
158 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
160 Configuration(name = "rotate-reverse-portrait",
161 glconfig = "rgba8888d24s8ms0",
163 surfacetype = "window",
164 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
166 Configuration(name = "rotate-reverse-landscape",
167 glconfig = "rgba8888d24s8ms0",
169 surfacetype = "window",
170 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
174 Configuration(name = "multisample",
175 glconfig = "rgba8888d24s8ms4",
176 rotation = "unspecified",
177 surfacetype = "window",
178 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
179 exclude("gles3-multisample-issues.txt")],
183 Configuration(name = "565-no-depth-no-stencil",
184 glconfig = "rgb565d0s0ms0",
185 rotation = "unspecified",
186 surfacetype = "window",
187 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
188 exclude("gles3-pixelformat-issues.txt")],
191 Configuration(name = "incremental-deqp",
192 filters = [include("gles3-incremental-deqp.txt")],
194 runByDefault = False),
197 MASTER_GLES31_COMMON_FILTERS = [
198 include("gles31-master.txt"),
199 exclude("gles31-hw-issues.txt"),
200 exclude("gles31-driver-issues.txt"),
201 exclude("gles31-test-issues.txt"),
202 exclude("gles31-spec-issues.txt"),
203 exclude("gles31-temp-excluded.txt"),
204 exclude("gles31-waivers.txt"),
206 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
208 Configuration(name = "master",
209 glconfig = "rgba8888d24s8ms0",
210 rotation = "unspecified",
211 surfacetype = "window",
213 filters = MASTER_GLES31_COMMON_FILTERS,
215 runByDefault = False),
216 Configuration(name = "master-2020-03-01",
217 glconfig = "rgba8888d24s8ms0",
218 rotation = "unspecified",
219 surfacetype = "window",
221 filters = [include("gles31-master-2020-03-01.txt")],
223 Configuration(name = "master-2021-03-01",
224 glconfig = "rgba8888d24s8ms0",
225 rotation = "unspecified",
226 surfacetype = "window",
228 filters = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
232 Configuration(name = "rotate-portrait",
233 glconfig = "rgba8888d24s8ms0",
235 surfacetype = "window",
236 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
238 Configuration(name = "rotate-landscape",
239 glconfig = "rgba8888d24s8ms0",
241 surfacetype = "window",
242 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
244 Configuration(name = "rotate-reverse-portrait",
245 glconfig = "rgba8888d24s8ms0",
247 surfacetype = "window",
248 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
250 Configuration(name = "rotate-reverse-landscape",
251 glconfig = "rgba8888d24s8ms0",
253 surfacetype = "window",
254 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
258 Configuration(name = "multisample",
259 glconfig = "rgba8888d24s8ms4",
260 rotation = "unspecified",
261 surfacetype = "window",
262 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
266 Configuration(name = "565-no-depth-no-stencil",
267 glconfig = "rgb565d0s0ms0",
268 rotation = "unspecified",
269 surfacetype = "window",
270 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
274 MASTER_VULKAN_FILTERS = [
275 include("vk-master.txt"),
276 exclude("vk-not-applicable.txt"),
277 exclude("vk-excluded-tests.txt"),
278 exclude("vk-test-issues.txt"),
279 exclude("vk-waivers.txt"),
280 exclude("vk-temp-excluded.txt"),
282 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
283 Configuration(name = "master",
284 filters = MASTER_VULKAN_FILTERS,
286 runByDefault = False,
287 splitToMultipleFiles = True),
288 Configuration(name = "master-2019-03-01",
289 filters = [include("vk-master-2019-03-01.txt")],
291 splitToMultipleFiles = True),
292 Configuration(name = "master-2020-03-01",
293 filters = [include("vk-master-2020-03-01.txt")],
295 splitToMultipleFiles = True),
296 Configuration(name = "master-2021-03-01",
297 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
299 splitToMultipleFiles = True),
300 Configuration(name = "incremental-deqp",
301 filters = [include("vk-incremental-deqp.txt")],
303 runByDefault = False,
304 splitToMultipleFiles = True),
308 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
311 if __name__ == "__main__":
312 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())