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"),
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")],
192 MASTER_GLES31_COMMON_FILTERS = [
193 include("gles31-master.txt"),
194 exclude("gles31-hw-issues.txt"),
195 exclude("gles31-driver-issues.txt"),
196 exclude("gles31-test-issues.txt"),
197 exclude("gles31-spec-issues.txt"),
198 exclude("gles31-temp-excluded.txt"),
200 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
202 Configuration(name = "master",
203 glconfig = "rgba8888d24s8ms0",
204 rotation = "unspecified",
205 surfacetype = "window",
207 filters = MASTER_GLES31_COMMON_FILTERS,
209 runByDefault = False),
210 Configuration(name = "master-2020-03-01",
211 glconfig = "rgba8888d24s8ms0",
212 rotation = "unspecified",
213 surfacetype = "window",
215 filters = [include("gles31-master-2020-03-01.txt")],
217 Configuration(name = "master-2021-03-01",
218 glconfig = "rgba8888d24s8ms0",
219 rotation = "unspecified",
220 surfacetype = "window",
222 filters = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
226 Configuration(name = "rotate-portrait",
227 glconfig = "rgba8888d24s8ms0",
229 surfacetype = "window",
230 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
232 Configuration(name = "rotate-landscape",
233 glconfig = "rgba8888d24s8ms0",
235 surfacetype = "window",
236 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
238 Configuration(name = "rotate-reverse-portrait",
239 glconfig = "rgba8888d24s8ms0",
241 surfacetype = "window",
242 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
244 Configuration(name = "rotate-reverse-landscape",
245 glconfig = "rgba8888d24s8ms0",
247 surfacetype = "window",
248 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
252 Configuration(name = "multisample",
253 glconfig = "rgba8888d24s8ms4",
254 rotation = "unspecified",
255 surfacetype = "window",
256 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
260 Configuration(name = "565-no-depth-no-stencil",
261 glconfig = "rgb565d0s0ms0",
262 rotation = "unspecified",
263 surfacetype = "window",
264 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
268 MASTER_VULKAN_FILTERS = [
269 include("vk-master.txt"),
270 exclude("vk-not-applicable.txt"),
271 exclude("vk-excluded-tests.txt"),
272 exclude("vk-test-issues.txt"),
273 exclude("vk-waivers.txt"),
274 exclude("vk-temp-excluded.txt"),
276 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
277 Configuration(name = "master",
278 filters = MASTER_VULKAN_FILTERS,
280 runByDefault = False,
281 splitToMultipleFiles = True),
282 Configuration(name = "master-2019-03-01",
283 filters = [include("vk-master-2019-03-01.txt")],
285 splitToMultipleFiles = True),
286 Configuration(name = "master-2020-03-01",
287 filters = [include("vk-master-2020-03-01.txt")],
289 splitToMultipleFiles = True),
290 Configuration(name = "master-2021-03-01",
291 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
293 splitToMultipleFiles = True),
297 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
300 if __name__ == "__main__":
301 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())