Clear message log at the beginning of async debug tests.
[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) 2015 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 MASTER_EGL_PKG                                  = Package(module = EGL_MODULE, configurations = [
204                 # Master
205                 Configuration(name                      = "master",
206                                           glconfig              = "rgba8888d24s8ms0",
207                                           rotation              = "unspecified",
208                                           surfacetype   = "window",
209                                           filters               = MASTER_EGL_COMMON_FILTERS),
210         ])
211
212 MASTER_GLES2_COMMON_FILTERS             = [
213                 include("gles2-master.txt"),
214                 exclude("gles2-test-issues.txt"),
215                 exclude("gles2-failures.txt")
216         ]
217 MASTER_GLES2_PKG                                = Package(module = GLES2_MODULE, configurations = [
218                 # Master
219                 Configuration(name                      = "master",
220                                           glconfig              = "rgba8888d24s8ms0",
221                                           rotation              = "unspecified",
222                                           surfacetype   = "window",
223                                           filters               = MASTER_GLES2_COMMON_FILTERS),
224         ])
225
226 MASTER_GLES3_COMMON_FILTERS             = [
227                 include("gles3-master.txt"),
228                 exclude("gles3-hw-issues.txt"),
229                 exclude("gles3-driver-issues.txt"),
230                 exclude("gles3-test-issues.txt"),
231                 exclude("gles3-spec-issues.txt")
232         ]
233 MASTER_GLES3_PKG                                = Package(module = GLES3_MODULE, configurations = [
234                 # Master
235                 Configuration(name                      = "master",
236                                           glconfig              = "rgba8888d24s8ms0",
237                                           rotation              = "unspecified",
238                                           surfacetype   = "window",
239                                           filters               = MASTER_GLES3_COMMON_FILTERS),
240                 # Rotations
241                 Configuration(name                      = "rotate-portrait",
242                                           glconfig              = "rgba8888d24s8ms0",
243                                           rotation              = "0",
244                                           surfacetype   = "window",
245                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
246                 Configuration(name                      = "rotate-landscape",
247                                           glconfig              = "rgba8888d24s8ms0",
248                                           rotation              = "90",
249                                           surfacetype   = "window",
250                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
251                 Configuration(name                      = "rotate-reverse-portrait",
252                                           glconfig              = "rgba8888d24s8ms0",
253                                           rotation              = "180",
254                                           surfacetype   = "window",
255                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
256                 Configuration(name                      = "rotate-reverse-landscape",
257                                           glconfig              = "rgba8888d24s8ms0",
258                                           rotation              = "270",
259                                           surfacetype   = "window",
260                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
261
262                 # MSAA
263                 Configuration(name                      = "multisample",
264                                           glconfig              = "rgba8888d24s8ms4",
265                                           rotation              = "unspecified",
266                                           surfacetype   = "window",
267                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
268                                                                                                                                          exclude("gles3-multisample-issues.txt")]),
269
270                 # Pixel format
271                 Configuration(name                      = "565-no-depth-no-stencil",
272                                           glconfig              = "rgb565d0s0ms0",
273                                           rotation              = "unspecified",
274                                           surfacetype   = "window",
275                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
276                                                                                                                                          exclude("gles3-pixelformat-issues.txt")]),
277         ])
278
279 MASTER_GLES31_COMMON_FILTERS    = [
280                 include("gles31-master.txt"),
281                 exclude("gles31-hw-issues.txt"),
282                 exclude("gles31-driver-issues.txt"),
283                 exclude("gles31-test-issues.txt"),
284                 exclude("gles31-spec-issues.txt"),
285         ]
286 MASTER_GLES31_PKG                               = Package(module = GLES31_MODULE, configurations = [
287                 # Master
288                 Configuration(name                      = "master",
289                                           glconfig              = "rgba8888d24s8ms0",
290                                           rotation              = "unspecified",
291                                           surfacetype   = "window",
292                                           filters               = MASTER_GLES31_COMMON_FILTERS),
293
294                 # Rotations
295                 Configuration(name                      = "rotate-portrait",
296                                           glconfig              = "rgba8888d24s8ms0",
297                                           rotation              = "0",
298                                           surfacetype   = "window",
299                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
300                 Configuration(name                      = "rotate-landscape",
301                                           glconfig              = "rgba8888d24s8ms0",
302                                           rotation              = "90",
303                                           surfacetype   = "window",
304                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
305                 Configuration(name                      = "rotate-reverse-portrait",
306                                           glconfig              = "rgba8888d24s8ms0",
307                                           rotation              = "180",
308                                           surfacetype   = "window",
309                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
310                 Configuration(name                      = "rotate-reverse-landscape",
311                                           glconfig              = "rgba8888d24s8ms0",
312                                           rotation              = "270",
313                                           surfacetype   = "window",
314                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
315
316                 # MSAA
317                 Configuration(name                      = "multisample",
318                                           glconfig              = "rgba8888d24s8ms4",
319                                           rotation              = "unspecified",
320                                           surfacetype   = "window",
321                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")]),
322
323                 # Pixel format
324                 Configuration(name                      = "565-no-depth-no-stencil",
325                                           glconfig              = "rgb565d0s0ms0",
326                                           rotation              = "unspecified",
327                                           surfacetype   = "window",
328                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")]),
329         ])
330
331 MUSTPASS_LISTS                          = [
332                 Mustpass(project = CTS_PROJECT, version = "lmp",                packages = [LMP_GLES3_PKG, LMP_GLES31_PKG]),
333                 Mustpass(project = CTS_PROJECT, version = "lmp-mr1",    packages = [LMP_MR1_GLES3_PKG, LMP_MR1_GLES31_PKG]),
334                 Mustpass(project = CTS_PROJECT, version = "mnc",                packages = [MNC_EGL_PKG, MNC_GLES2_PKG, MNC_GLES3_PKG, MNC_GLES31_PKG]),
335                 Mustpass(project = CTS_PROJECT, version = "master",             packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG])
336         ]
337
338 BUILD_CONFIG                            = getBuildConfig(DEFAULT_BUILD_DIR, DEFAULT_TARGET, "Debug")
339
340 if __name__ == "__main__":
341         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, BUILD_CONFIG)