Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
[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-manual-robustness.txt"),
61                                                                    exclude("egl-driver-issues.txt"),
62                                                                    exclude("egl-temp-excluded.txt")]
63 MASTER_EGL_PKG                                  = Package(module = EGL_MODULE, configurations = [
64                 # Master
65                 Configuration(name                      = "master",
66                                           glconfig              = "rgba8888d24s8ms0",
67                                           rotation              = "unspecified",
68                                           surfacetype   = "window",
69                                           required              = True,
70                                           filters               = MASTER_EGL_COMMON_FILTERS,
71                                       runtime           = "23m"),
72                 # Risky subset
73                 Configuration(name                      = "master-risky",
74                                           glconfig              = "rgba8888d24s8ms0",
75                                           rotation              = "unspecified",
76                                           surfacetype   = "window",
77                                           required              = True,
78                                           filters               = [include("egl-temp-excluded.txt")],
79                                       runtime           = "2m"),
80         ])
81
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"),
87         ]
88 MASTER_GLES2_PKG                                = Package(module = GLES2_MODULE, configurations = [
89                 # Master
90                 Configuration(name                      = "master",
91                                           glconfig              = "rgba8888d24s8ms0",
92                                           rotation              = "unspecified",
93                                           surfacetype   = "window",
94                                           required              = True,
95                                           filters               = MASTER_GLES2_COMMON_FILTERS,
96                                           runtime               = "46m",
97                                           runByDefault          = False),
98                 Configuration(name                      = "master-2020-03-01",
99                                           glconfig              = "rgba8888d24s8ms0",
100                                           rotation              = "unspecified",
101                                           surfacetype   = "window",
102                                           required              = True,
103                                           filters               = [include("gles2-master-2020-03-01.txt")],
104                                           runtime               = "46m"),
105                 Configuration(name                      = "master-2021-03-01",
106                                           glconfig              = "rgba8888d24s8ms0",
107                                           rotation              = "unspecified",
108                                           surfacetype   = "window",
109                                           required              = True,
110                                           filters               = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
111                                           runtime               = "10m"),
112         ])
113
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"),
122         ]
123 MASTER_GLES3_PKG                                = Package(module = GLES3_MODULE, configurations = [
124                 # Master
125                 Configuration(name                      = "master",
126                                           glconfig              = "rgba8888d24s8ms0",
127                                           rotation              = "unspecified",
128                                           surfacetype   = "window",
129                                           required              = True,
130                                           filters               = MASTER_GLES3_COMMON_FILTERS,
131                                           runtime               = "1h50m",
132                                           runByDefault  = False),
133                 Configuration(name                      = "master-2020-03-01",
134                                           glconfig              = "rgba8888d24s8ms0",
135                                           rotation              = "unspecified",
136                                           surfacetype   = "window",
137                                           required              = True,
138                                           filters               = [include("gles3-master-2020-03-01.txt")],
139                                           runtime               = "1h50m"),
140                 Configuration(name                      = "master-2021-03-01",
141                                           glconfig              = "rgba8888d24s8ms0",
142                                           rotation              = "unspecified",
143                                           surfacetype   = "window",
144                                           required              = True,
145                                           filters               = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
146                                           runtime               = "10m"),
147                 # Rotations
148                 Configuration(name                      = "rotate-portrait",
149                                           glconfig              = "rgba8888d24s8ms0",
150                                           rotation              = "0",
151                                           surfacetype   = "window",
152                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
153                                           runtime               = "1m"),
154                 Configuration(name                      = "rotate-landscape",
155                                           glconfig              = "rgba8888d24s8ms0",
156                                           rotation              = "90",
157                                           surfacetype   = "window",
158                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
159                                           runtime               = "1m"),
160                 Configuration(name                      = "rotate-reverse-portrait",
161                                           glconfig              = "rgba8888d24s8ms0",
162                                           rotation              = "180",
163                                           surfacetype   = "window",
164                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
165                                           runtime               = "1m"),
166                 Configuration(name                      = "rotate-reverse-landscape",
167                                           glconfig              = "rgba8888d24s8ms0",
168                                           rotation              = "270",
169                                           surfacetype   = "window",
170                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
171                                           runtime               = "1m"),
172
173                 # MSAA
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")],
180                                           runtime               = "1m"),
181
182                 # Pixel format
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")],
189                                           runtime               = "1m"),
190                 # Incremental dEQP
191                 Configuration(name                      = "incremental-deqp",
192                                           filters               = [include("gles3-incremental-deqp.txt")],
193                                           runtime               = "5m",
194                                           runByDefault  = False),
195         ])
196
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"),
205         ]
206 MASTER_GLES31_PKG                               = Package(module = GLES31_MODULE, configurations = [
207                 # Master
208                 Configuration(name                      = "master",
209                                           glconfig              = "rgba8888d24s8ms0",
210                                           rotation              = "unspecified",
211                                           surfacetype   = "window",
212                                           required              = True,
213                                           filters               = MASTER_GLES31_COMMON_FILTERS,
214                                           runtime               = "1h40m",
215                                           runByDefault          = False),
216                 Configuration(name                      = "master-2020-03-01",
217                                           glconfig              = "rgba8888d24s8ms0",
218                                           rotation              = "unspecified",
219                                           surfacetype   = "window",
220                                           required              = True,
221                                           filters               = [include("gles31-master-2020-03-01.txt")],
222                                           runtime               = "1h40m"),
223                 Configuration(name                      = "master-2021-03-01",
224                                           glconfig              = "rgba8888d24s8ms0",
225                                           rotation              = "unspecified",
226                                           surfacetype   = "window",
227                                           required              = True,
228                                           filters               = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
229                                           runtime               = "10m"),
230
231                 # Rotations
232                 Configuration(name                      = "rotate-portrait",
233                                           glconfig              = "rgba8888d24s8ms0",
234                                           rotation              = "0",
235                                           surfacetype   = "window",
236                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
237                                           runtime               = "1m30s"),
238                 Configuration(name                      = "rotate-landscape",
239                                           glconfig              = "rgba8888d24s8ms0",
240                                           rotation              = "90",
241                                           surfacetype   = "window",
242                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
243                                           runtime               = "1m30s"),
244                 Configuration(name                      = "rotate-reverse-portrait",
245                                           glconfig              = "rgba8888d24s8ms0",
246                                           rotation              = "180",
247                                           surfacetype   = "window",
248                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
249                                           runtime               = "1m30s"),
250                 Configuration(name                      = "rotate-reverse-landscape",
251                                           glconfig              = "rgba8888d24s8ms0",
252                                           rotation              = "270",
253                                           surfacetype   = "window",
254                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
255                                           runtime               = "1m30s"),
256
257                 # MSAA
258                 Configuration(name                      = "multisample",
259                                           glconfig              = "rgba8888d24s8ms4",
260                                           rotation              = "unspecified",
261                                           surfacetype   = "window",
262                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
263                                           runtime               = "2m"),
264
265                 # Pixel format
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")],
271                                           runtime               = "1m"),
272         ])
273
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"),
281         ]
282 MASTER_VULKAN_PKG                               = Package(module = VULKAN_MODULE, configurations = [
283                 Configuration(name                                      = "master",
284                                           filters                               = MASTER_VULKAN_FILTERS,
285                                           runtime                               = "2h39m",
286                                           runByDefault                  = False,
287                                           splitToMultipleFiles  = True),
288                 Configuration(name                                      = "master-2019-03-01",
289                                           filters                               = [include("vk-master-2019-03-01.txt")],
290                                           runtime                               = "2h29m",
291                                           splitToMultipleFiles  = True),
292                 Configuration(name                                      = "master-2020-03-01",
293                                           filters                               = [include("vk-master-2020-03-01.txt")],
294                                           runtime                               = "2h29m",
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")],
298                                           runtime                               = "10m",
299                                           splitToMultipleFiles  = True),
300                 Configuration(name                                      = "incremental-deqp",
301                                           filters                               = [include("vk-incremental-deqp.txt")],
302                                           runtime                               = "5m",
303                                           runByDefault                  = False,
304                                           splitToMultipleFiles  = True),
305         ])
306
307 MUSTPASS_LISTS                          = [
308                 Mustpass(project = CTS_PROJECT, version = "master",             packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
309         ]
310
311 if __name__ == "__main__":
312         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())