Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
[platform/upstream/VK-GL-CTS.git] / scripts / build_android_mustpass.py
1 # -*- coding: utf-8 -*-
2
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
6 #
7 # Copyright 2015 The Android Open Source Project
8 #
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
12 #
13 #      http://www.apache.org/licenses/LICENSE-2.0
14 #
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.
20 #
21 #-------------------------------------------------------------------------
22
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
27
28 import os
29
30 COPYRIGHT_DECLARATION = """
31      Copyright (C) 2016 The Android Open Source Project
32
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
36
37           http://www.apache.org/licenses/LICENSE-2.0
38
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.
44      """
45
46 CTS_DATA_DIR                                    = os.path.join(DEQP_DIR, "android", "cts")
47
48 CTS_PROJECT                                             = Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
49
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")
55
56 # Master
57
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 = [
65                 # Master
66                 Configuration(name                      = "master",
67                                           glconfig              = "rgba8888d24s8ms0",
68                                           rotation              = "unspecified",
69                                           surfacetype   = "window",
70                                           required              = True,
71                                           filters               = MASTER_EGL_COMMON_FILTERS,
72                                       runtime           = "23m"),
73                 # Risky subset
74                 Configuration(name                      = "master-risky",
75                                           glconfig              = "rgba8888d24s8ms0",
76                                           rotation              = "unspecified",
77                                           surfacetype   = "window",
78                                           required              = True,
79                                           filters               = [include("egl-temp-excluded.txt")],
80                                       runtime           = "2m"),
81         ])
82
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"),
88         ]
89 MASTER_GLES2_PKG                                = Package(module = GLES2_MODULE, configurations = [
90                 # Master
91                 Configuration(name                      = "master",
92                                           glconfig              = "rgba8888d24s8ms0",
93                                           rotation              = "unspecified",
94                                           surfacetype   = "window",
95                                           required              = True,
96                                           filters               = MASTER_GLES2_COMMON_FILTERS,
97                                           runtime               = "46m",
98                                           runByDefault          = False),
99                 Configuration(name                      = "master-2020-03-01",
100                                           glconfig              = "rgba8888d24s8ms0",
101                                           rotation              = "unspecified",
102                                           surfacetype   = "window",
103                                           required              = True,
104                                           filters               = [include("gles2-master-2020-03-01.txt")],
105                                           runtime               = "46m"),
106                 Configuration(name                      = "master-2021-03-01",
107                                           glconfig              = "rgba8888d24s8ms0",
108                                           rotation              = "unspecified",
109                                           surfacetype   = "window",
110                                           required              = True,
111                                           filters               = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
112                                           runtime               = "10m"),
113         ])
114
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"),
123         ]
124 MASTER_GLES3_PKG                                = Package(module = GLES3_MODULE, configurations = [
125                 # Master
126                 Configuration(name                      = "master",
127                                           glconfig              = "rgba8888d24s8ms0",
128                                           rotation              = "unspecified",
129                                           surfacetype   = "window",
130                                           required              = True,
131                                           filters               = MASTER_GLES3_COMMON_FILTERS,
132                                           runtime               = "1h50m",
133                                           runByDefault  = False),
134                 Configuration(name                      = "master-2020-03-01",
135                                           glconfig              = "rgba8888d24s8ms0",
136                                           rotation              = "unspecified",
137                                           surfacetype   = "window",
138                                           required              = True,
139                                           filters               = [include("gles3-master-2020-03-01.txt")],
140                                           runtime               = "1h50m"),
141                 Configuration(name                      = "master-2021-03-01",
142                                           glconfig              = "rgba8888d24s8ms0",
143                                           rotation              = "unspecified",
144                                           surfacetype   = "window",
145                                           required              = True,
146                                           filters               = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
147                                           runtime               = "10m"),
148                 # Rotations
149                 Configuration(name                      = "rotate-portrait",
150                                           glconfig              = "rgba8888d24s8ms0",
151                                           rotation              = "0",
152                                           surfacetype   = "window",
153                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
154                                           runtime               = "1m"),
155                 Configuration(name                      = "rotate-landscape",
156                                           glconfig              = "rgba8888d24s8ms0",
157                                           rotation              = "90",
158                                           surfacetype   = "window",
159                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
160                                           runtime               = "1m"),
161                 Configuration(name                      = "rotate-reverse-portrait",
162                                           glconfig              = "rgba8888d24s8ms0",
163                                           rotation              = "180",
164                                           surfacetype   = "window",
165                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
166                                           runtime               = "1m"),
167                 Configuration(name                      = "rotate-reverse-landscape",
168                                           glconfig              = "rgba8888d24s8ms0",
169                                           rotation              = "270",
170                                           surfacetype   = "window",
171                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
172                                           runtime               = "1m"),
173
174                 # MSAA
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")],
181                                           runtime               = "1m"),
182
183                 # Pixel format
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")],
190                                           runtime               = "1m"),
191                 # Incremental dEQP
192                 Configuration(name                      = "incremental-deqp",
193                                           filters               = [include("gles3-incremental-deqp.txt")],
194                                           runtime               = "5m",
195                                           runByDefault  = False),
196         ])
197
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"),
206         ]
207 MASTER_GLES31_PKG                               = Package(module = GLES31_MODULE, configurations = [
208                 # Master
209                 Configuration(name                      = "master",
210                                           glconfig              = "rgba8888d24s8ms0",
211                                           rotation              = "unspecified",
212                                           surfacetype   = "window",
213                                           required              = True,
214                                           filters               = MASTER_GLES31_COMMON_FILTERS,
215                                           runtime               = "1h40m",
216                                           runByDefault          = False),
217                 Configuration(name                      = "master-2020-03-01",
218                                           glconfig              = "rgba8888d24s8ms0",
219                                           rotation              = "unspecified",
220                                           surfacetype   = "window",
221                                           required              = True,
222                                           filters               = [include("gles31-master-2020-03-01.txt")],
223                                           runtime               = "1h40m"),
224                 Configuration(name                      = "master-2021-03-01",
225                                           glconfig              = "rgba8888d24s8ms0",
226                                           rotation              = "unspecified",
227                                           surfacetype   = "window",
228                                           required              = True,
229                                           filters               = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
230                                           runtime               = "10m"),
231
232                 # Rotations
233                 Configuration(name                      = "rotate-portrait",
234                                           glconfig              = "rgba8888d24s8ms0",
235                                           rotation              = "0",
236                                           surfacetype   = "window",
237                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
238                                           runtime               = "1m30s"),
239                 Configuration(name                      = "rotate-landscape",
240                                           glconfig              = "rgba8888d24s8ms0",
241                                           rotation              = "90",
242                                           surfacetype   = "window",
243                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
244                                           runtime               = "1m30s"),
245                 Configuration(name                      = "rotate-reverse-portrait",
246                                           glconfig              = "rgba8888d24s8ms0",
247                                           rotation              = "180",
248                                           surfacetype   = "window",
249                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
250                                           runtime               = "1m30s"),
251                 Configuration(name                      = "rotate-reverse-landscape",
252                                           glconfig              = "rgba8888d24s8ms0",
253                                           rotation              = "270",
254                                           surfacetype   = "window",
255                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
256                                           runtime               = "1m30s"),
257
258                 # MSAA
259                 Configuration(name                      = "multisample",
260                                           glconfig              = "rgba8888d24s8ms4",
261                                           rotation              = "unspecified",
262                                           surfacetype   = "window",
263                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
264                                           runtime               = "2m"),
265
266                 # Pixel format
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")],
272                                           runtime               = "1m"),
273         ])
274
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"),
282         ]
283 MASTER_VULKAN_PKG                               = Package(module = VULKAN_MODULE, configurations = [
284                 Configuration(name                      = "master",
285                                           filters               = MASTER_VULKAN_FILTERS,
286                                           runtime               = "2h39m",
287                                           runByDefault  = False),
288                 Configuration(name                      = "master-2019-03-01",
289                                           filters               = [include("vk-master-2019-03-01.txt")],
290                                           runtime               = "2h29m"),
291                 Configuration(name                      = "master-2020-03-01",
292                                           filters               = [include("vk-master-2020-03-01.txt")],
293                                           runtime               = "2h29m"),
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")],
296                                           runtime               = "10m"),
297                 Configuration(name                      = "incremental-deqp",
298                                           filters               = [include("vk-incremental-deqp.txt")],
299                                           runtime               = "5m",
300                                           runByDefault  = False),
301         ])
302
303 MUSTPASS_LISTS                          = [
304                 Mustpass(project = CTS_PROJECT, version = "master",             packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
305         ]
306
307 if __name__ == "__main__":
308         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())