Lower correlation threshold in flush-finish tests again
[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
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 # Lollipop
57
58 LMP_GLES3_PKG                                   = Package(module = GLES3_MODULE, configurations = [
59                 Configuration(name                      = "master",
60                                           glconfig              = "rgba8888d24s8ms0",
61                                           rotation              = "unspecified",
62                                           surfacetype   = "window",
63                                           filters               = [include("es30-lmp.txt")]),
64         ])
65 LMP_GLES31_PKG                                  = Package(module = GLES31_MODULE, configurations = [
66                 Configuration(name                      = "master",
67                                           glconfig              = "rgba8888d24s8ms0",
68                                           rotation              = "unspecified",
69                                           surfacetype   = "window",
70                                           filters               = [include("es31-lmp.txt")]),
71         ])
72
73 # Lollipop MR1
74
75 LMP_MR1_GLES3_PKG                               = Package(module = GLES3_MODULE, configurations = [
76                 Configuration(name                      = "master",
77                                           glconfig              = "rgba8888d24s8ms0",
78                                           rotation              = "unspecified",
79                                           surfacetype   = "window",
80                                           filters               = [include("es30-lmp-mr1.txt")]),
81         ])
82 LMP_MR1_GLES31_PKG                              = Package(module = GLES31_MODULE, configurations = [
83                 Configuration(name                      = "master",
84                                           glconfig              = "rgba8888d24s8ms0",
85                                           rotation              = "unspecified",
86                                           surfacetype   = "window",
87                                           filters               = [include("es31-lmp-mr1.txt")]),
88         ])
89
90 # Marshmallow
91
92 MNC_EGL_PKG                                             = Package(module = EGL_MODULE, configurations = [
93                 # Master
94                 Configuration(name                      = "master",
95                                           glconfig              = "rgba8888d24s8ms0",
96                                           rotation              = "unspecified",
97                                           surfacetype   = "window",
98                                           filters               = [include("egl-master.txt")]),
99         ])
100 MNC_GLES2_PKG                                   = Package(module = GLES2_MODULE, configurations = [
101                 # Master
102                 Configuration(name                      = "master",
103                                           glconfig              = "rgba8888d24s8ms0",
104                                           rotation              = "unspecified",
105                                           surfacetype   = "window",
106                                           filters               = [include("gles2-master.txt")]),
107         ])
108 MNC_GLES3_PKG                                   = Package(module = GLES3_MODULE, configurations = [
109                 # Master
110                 Configuration(name                      = "master",
111                                           glconfig              = "rgba8888d24s8ms0",
112                                           rotation              = "unspecified",
113                                           surfacetype   = "window",
114                                           filters               = [include("gles3-master.txt")]),
115                 # Rotations
116                 Configuration(name                      = "rotate-portrait",
117                                           glconfig              = "rgba8888d24s8ms0",
118                                           rotation              = "0",
119                                           surfacetype   = "window",
120                                           filters               = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
121                 Configuration(name                      = "rotate-landscape",
122                                           glconfig              = "rgba8888d24s8ms0",
123                                           rotation              = "90",
124                                           surfacetype   = "window",
125                                           filters               = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
126                 Configuration(name                      = "rotate-reverse-portrait",
127                                           glconfig              = "rgba8888d24s8ms0",
128                                           rotation              = "180",
129                                           surfacetype   = "window",
130                                           filters               = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
131                 Configuration(name                      = "rotate-reverse-landscape",
132                                           glconfig              = "rgba8888d24s8ms0",
133                                           rotation              = "270",
134                                           surfacetype   = "window",
135                                           filters               = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
136
137                 # MSAA
138                 Configuration(name                      = "multisample",
139                                           glconfig              = "rgba8888d24s8ms4",
140                                           rotation              = "unspecified",
141                                           surfacetype   = "window",
142                                           filters               = [include("gles3-master.txt"),
143                                                                            include("gles3-multisample.txt"),
144                                                                            exclude("gles3-multisample-issues.txt")]),
145
146                 # Pixel format
147                 Configuration(name                      = "565-no-depth-no-stencil",
148                                           glconfig              = "rgb565d0s0ms0",
149                                           rotation              = "unspecified",
150                                           surfacetype   = "window",
151                                           filters               = [include("gles3-master.txt"),
152                                                                            include("gles3-pixelformat.txt"),
153                                                                            exclude("gles3-pixelformat-issues.txt")]),
154         ])
155 MNC_GLES31_PKG                                  = Package(module = GLES31_MODULE, configurations = [
156                 # Master
157                 Configuration(name                      = "master",
158                                           glconfig              = "rgba8888d24s8ms0",
159                                           rotation              = "unspecified",
160                                           surfacetype   = "window",
161                                           filters               = [include("gles31-master.txt")]),
162
163                 # Rotations
164                 Configuration(name                      = "rotate-portrait",
165                                           glconfig              = "rgba8888d24s8ms0",
166                                           rotation              = "0",
167                                           surfacetype   = "window",
168                                           filters               = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
169                 Configuration(name                      = "rotate-landscape",
170                                           glconfig              = "rgba8888d24s8ms0",
171                                           rotation              = "90",
172                                           surfacetype   = "window",
173                                           filters               = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
174                 Configuration(name                      = "rotate-reverse-portrait",
175                                           glconfig              = "rgba8888d24s8ms0",
176                                           rotation              = "180",
177                                           surfacetype   = "window",
178                                           filters               = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
179                 Configuration(name                      = "rotate-reverse-landscape",
180                                           glconfig              = "rgba8888d24s8ms0",
181                                           rotation              = "270",
182                                           surfacetype   = "window",
183                                           filters               = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
184
185                 # MSAA
186                 Configuration(name                      = "multisample",
187                                           glconfig              = "rgba8888d24s8ms4",
188                                           rotation              = "unspecified",
189                                           surfacetype   = "window",
190                                           filters               = [include("gles31-master.txt"), include("gles31-multisample.txt")]),
191
192                 # Pixel format
193                 Configuration(name                      = "565-no-depth-no-stencil",
194                                           glconfig              = "rgb565d0s0ms0",
195                                           rotation              = "unspecified",
196                                           surfacetype   = "window",
197                                           filters               = [include("gles31-master.txt"), include("gles31-pixelformat.txt")]),
198         ])
199
200 # Master
201
202 MASTER_EGL_COMMON_FILTERS               = [include("egl-master.txt"),
203                                                                    exclude("egl-test-issues.txt"),
204                                                                    exclude("egl-internal-api-tests.txt")]
205 MASTER_EGL_PKG                                  = Package(module = EGL_MODULE, configurations = [
206                 # Master
207                 Configuration(name                      = "master",
208                                           glconfig              = "rgba8888d24s8ms0",
209                                           rotation              = "unspecified",
210                                           surfacetype   = "window",
211                                           required              = True,
212                                           filters               = MASTER_EGL_COMMON_FILTERS,
213                                       runtime           = "24m"),
214         ])
215
216 MASTER_GLES2_COMMON_FILTERS             = [
217                 include("gles2-master.txt"),
218                 exclude("gles2-test-issues.txt"),
219                 exclude("gles2-failures.txt")
220         ]
221 MASTER_GLES2_PKG                                = Package(module = GLES2_MODULE, configurations = [
222                 # Master
223                 Configuration(name                      = "master",
224                                           glconfig              = "rgba8888d24s8ms0",
225                                           rotation              = "unspecified",
226                                           surfacetype   = "window",
227                                           required              = True,
228                                           filters               = MASTER_GLES2_COMMON_FILTERS,
229                                           runtime               = "40m"),
230         ])
231
232 MASTER_GLES3_COMMON_FILTERS             = [
233                 include("gles3-master.txt"),
234                 exclude("gles3-hw-issues.txt"),
235                 exclude("gles3-driver-issues.txt"),
236                 exclude("gles3-test-issues.txt"),
237                 exclude("gles3-spec-issues.txt")
238         ]
239 MASTER_GLES3_PKG                                = Package(module = GLES3_MODULE, configurations = [
240                 # Master
241                 Configuration(name                      = "master",
242                                           glconfig              = "rgba8888d24s8ms0",
243                                           rotation              = "unspecified",
244                                           surfacetype   = "window",
245                                           required              = True,
246                                           filters               = MASTER_GLES3_COMMON_FILTERS,
247                                           runtime               = "1h15m"),
248                 # Rotations
249                 Configuration(name                      = "rotate-portrait",
250                                           glconfig              = "rgba8888d24s8ms0",
251                                           rotation              = "0",
252                                           surfacetype   = "window",
253                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
254                                           runtime               = "7m"),
255                 Configuration(name                      = "rotate-landscape",
256                                           glconfig              = "rgba8888d24s8ms0",
257                                           rotation              = "90",
258                                           surfacetype   = "window",
259                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
260                                           runtime               = "7m"),
261                 Configuration(name                      = "rotate-reverse-portrait",
262                                           glconfig              = "rgba8888d24s8ms0",
263                                           rotation              = "180",
264                                           surfacetype   = "window",
265                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
266                                           runtime               = "7m"),
267                 Configuration(name                      = "rotate-reverse-landscape",
268                                           glconfig              = "rgba8888d24s8ms0",
269                                           rotation              = "270",
270                                           surfacetype   = "window",
271                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
272                                           runtime               = "7m"),
273
274                 # MSAA
275                 Configuration(name                      = "multisample",
276                                           glconfig              = "rgba8888d24s8ms4",
277                                           rotation              = "unspecified",
278                                           surfacetype   = "window",
279                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
280                                                                                                                                          exclude("gles3-multisample-issues.txt")],
281                                           runtime               = "10m"),
282
283                 # Pixel format
284                 Configuration(name                      = "565-no-depth-no-stencil",
285                                           glconfig              = "rgb565d0s0ms0",
286                                           rotation              = "unspecified",
287                                           surfacetype   = "window",
288                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
289                                                                                                                                          exclude("gles3-pixelformat-issues.txt")],
290                                           runtime               = "10m"),
291         ])
292
293 MASTER_GLES31_COMMON_FILTERS    = [
294                 include("gles31-master.txt"),
295                 exclude("gles31-hw-issues.txt"),
296                 exclude("gles31-driver-issues.txt"),
297                 exclude("gles31-test-issues.txt"),
298                 exclude("gles31-spec-issues.txt"),
299         ]
300 MASTER_GLES31_PKG                               = Package(module = GLES31_MODULE, configurations = [
301                 # Master
302                 Configuration(name                      = "master",
303                                           glconfig              = "rgba8888d24s8ms0",
304                                           rotation              = "unspecified",
305                                           surfacetype   = "window",
306                                           required              = True,
307                                           filters               = MASTER_GLES31_COMMON_FILTERS,
308                                           runtime               = "7h30m"),
309
310                 # Rotations
311                 Configuration(name                      = "rotate-portrait",
312                                           glconfig              = "rgba8888d24s8ms0",
313                                           rotation              = "0",
314                                           surfacetype   = "window",
315                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
316                                           runtime               = "1m30s"),
317                 Configuration(name                      = "rotate-landscape",
318                                           glconfig              = "rgba8888d24s8ms0",
319                                           rotation              = "90",
320                                           surfacetype   = "window",
321                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
322                                           runtime               = "1m30s"),
323                 Configuration(name                      = "rotate-reverse-portrait",
324                                           glconfig              = "rgba8888d24s8ms0",
325                                           rotation              = "180",
326                                           surfacetype   = "window",
327                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
328                                           runtime               = "1m30s"),
329                 Configuration(name                      = "rotate-reverse-landscape",
330                                           glconfig              = "rgba8888d24s8ms0",
331                                           rotation              = "270",
332                                           surfacetype   = "window",
333                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
334                                           runtime               = "1m30s"),
335
336                 # MSAA
337                 Configuration(name                      = "multisample",
338                                           glconfig              = "rgba8888d24s8ms4",
339                                           rotation              = "unspecified",
340                                           surfacetype   = "window",
341                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
342                                           runtime               = "2m"),
343
344                 # Pixel format
345                 Configuration(name                      = "565-no-depth-no-stencil",
346                                           glconfig              = "rgb565d0s0ms0",
347                                           rotation              = "unspecified",
348                                           surfacetype   = "window",
349                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
350                                           runtime               = "1m"),
351         ])
352
353 MASTER_VULKAN_FILTERS                   = [
354                 include("vulkan-master.txt"),
355                 exclude("vulkan-not-applicable.txt"),
356                 exclude("vulkan-test-issues.txt"),
357                 exclude("vulkan-hw-issues.txt")
358         ]
359 MASTER_VULKAN_PKG                               = Package(module = VULKAN_MODULE, configurations = [
360                 Configuration(name                      = "master",
361                                           filters               = MASTER_VULKAN_FILTERS,
362                                           runtime               = "3h45m"),
363         ])
364
365 MUSTPASS_LISTS                          = [
366                 Mustpass(project = CTS_PROJECT, version = "lmp",                packages = [LMP_GLES3_PKG, LMP_GLES31_PKG]),
367                 Mustpass(project = CTS_PROJECT, version = "lmp-mr1",    packages = [LMP_MR1_GLES3_PKG, LMP_MR1_GLES31_PKG]),
368                 Mustpass(project = CTS_PROJECT, version = "mnc",                packages = [MNC_EGL_PKG, MNC_GLES2_PKG, MNC_GLES3_PKG, MNC_GLES31_PKG]),
369                 Mustpass(project = CTS_PROJECT, version = "master",             packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
370         ]
371
372 BUILD_CONFIG                            = getBuildConfig(DEFAULT_BUILD_DIR, DEFAULT_TARGET, "Debug")
373
374 if __name__ == "__main__":
375         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, BUILD_CONFIG)