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"),
122 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
124 Configuration(name = "master",
125 glconfig = "rgba8888d24s8ms0",
126 rotation = "unspecified",
127 surfacetype = "window",
129 filters = MASTER_GLES3_COMMON_FILTERS,
131 runByDefault = False),
132 Configuration(name = "master-2020-03-01",
133 glconfig = "rgba8888d24s8ms0",
134 rotation = "unspecified",
135 surfacetype = "window",
137 filters = [include("gles3-master-2020-03-01.txt")],
139 Configuration(name = "master-2021-03-01",
140 glconfig = "rgba8888d24s8ms0",
141 rotation = "unspecified",
142 surfacetype = "window",
144 filters = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
147 Configuration(name = "rotate-portrait",
148 glconfig = "rgba8888d24s8ms0",
150 surfacetype = "window",
151 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
153 Configuration(name = "rotate-landscape",
154 glconfig = "rgba8888d24s8ms0",
156 surfacetype = "window",
157 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
159 Configuration(name = "rotate-reverse-portrait",
160 glconfig = "rgba8888d24s8ms0",
162 surfacetype = "window",
163 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
165 Configuration(name = "rotate-reverse-landscape",
166 glconfig = "rgba8888d24s8ms0",
168 surfacetype = "window",
169 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
173 Configuration(name = "multisample",
174 glconfig = "rgba8888d24s8ms4",
175 rotation = "unspecified",
176 surfacetype = "window",
177 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
178 exclude("gles3-multisample-issues.txt")],
182 Configuration(name = "565-no-depth-no-stencil",
183 glconfig = "rgb565d0s0ms0",
184 rotation = "unspecified",
185 surfacetype = "window",
186 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
187 exclude("gles3-pixelformat-issues.txt")],
191 MASTER_GLES31_COMMON_FILTERS = [
192 include("gles31-master.txt"),
193 exclude("gles31-hw-issues.txt"),
194 exclude("gles31-driver-issues.txt"),
195 exclude("gles31-test-issues.txt"),
196 exclude("gles31-spec-issues.txt"),
197 exclude("gles31-temp-excluded.txt"),
199 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
201 Configuration(name = "master",
202 glconfig = "rgba8888d24s8ms0",
203 rotation = "unspecified",
204 surfacetype = "window",
206 filters = MASTER_GLES31_COMMON_FILTERS,
208 runByDefault = False),
209 Configuration(name = "master-2020-03-01",
210 glconfig = "rgba8888d24s8ms0",
211 rotation = "unspecified",
212 surfacetype = "window",
214 filters = [include("gles31-master-2020-03-01.txt")],
216 Configuration(name = "master-2021-03-01",
217 glconfig = "rgba8888d24s8ms0",
218 rotation = "unspecified",
219 surfacetype = "window",
221 filters = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
225 Configuration(name = "rotate-portrait",
226 glconfig = "rgba8888d24s8ms0",
228 surfacetype = "window",
229 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
231 Configuration(name = "rotate-landscape",
232 glconfig = "rgba8888d24s8ms0",
234 surfacetype = "window",
235 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
237 Configuration(name = "rotate-reverse-portrait",
238 glconfig = "rgba8888d24s8ms0",
240 surfacetype = "window",
241 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
243 Configuration(name = "rotate-reverse-landscape",
244 glconfig = "rgba8888d24s8ms0",
246 surfacetype = "window",
247 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
251 Configuration(name = "multisample",
252 glconfig = "rgba8888d24s8ms4",
253 rotation = "unspecified",
254 surfacetype = "window",
255 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
259 Configuration(name = "565-no-depth-no-stencil",
260 glconfig = "rgb565d0s0ms0",
261 rotation = "unspecified",
262 surfacetype = "window",
263 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
267 MASTER_VULKAN_FILTERS = [
268 include("vk-master.txt"),
269 exclude("vk-not-applicable.txt"),
270 exclude("vk-excluded-tests.txt"),
271 exclude("vk-test-issues.txt"),
272 exclude("vk-waivers.txt"),
273 exclude("vk-temp-excluded.txt"),
275 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
276 Configuration(name = "master",
277 filters = MASTER_VULKAN_FILTERS,
279 runByDefault = False,
280 splitToMultipleFiles = True),
281 Configuration(name = "master-2019-03-01",
282 filters = [include("vk-master-2019-03-01.txt")],
284 splitToMultipleFiles = True),
285 Configuration(name = "master-2020-03-01",
286 filters = [include("vk-master-2020-03-01.txt")],
288 splitToMultipleFiles = True),
289 Configuration(name = "master-2021-03-01",
290 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
292 splitToMultipleFiles = True),
296 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
299 if __name__ == "__main__":
300 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())