Fix missing dependency on sparse binds
[platform/upstream/VK-GL-CTS.git] / external / openglcts / scripts / build_mustpass.py
1 # -*- coding: utf-8 -*-
2
3 #-------------------------------------------------------------------------
4 #
5 # Copyright 2015 The Android Open Source Project
6 # Copyright (C) 2016 The Khronos Group Inc
7 #
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #      http://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 #
20 #-------------------------------------------------------------------------
21
22 import os
23 import sys
24
25 from collections import OrderedDict
26
27 from build_caselists import Module, getModuleByName, DEFAULT_BUILD_DIR, DEFAULT_TARGET
28 from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists
29
30 sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
31
32 from ctsbuild.common import DEQP_DIR
33 from ctsbuild.config import ANY_GENERATOR, BuildConfig
34
35
36 COPYRIGHT_DECLARATION = """\
37 /*     Copyright (C) 2016-2017 The Khronos Group Inc
38  *
39  *     Licensed under the Apache License, Version 2.0 (the "License");
40  *     you may not use this file except in compliance with the License.
41  *     You may obtain a copy of the License at
42  *
43  *          http://www.apache.org/licenses/LICENSE-2.0
44  *
45  *     Unless required by applicable law or agreed to in writing, software
46  *     distributed under the License is distributed on an "AS IS" BASIS,
47  *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
48  *     See the License for the specific language governing permissions and
49  *     limitations under the License.
50 */"""
51
52 buildPath                                               = DEFAULT_BUILD_DIR.format(targetName = DEFAULT_TARGET, buildType = "Release")
53
54 #-------------------------------------------------- ES MUSTPASS----------------------------------------------------------------------
55
56 CTS_AOSP_MP_DATA_DIR                    = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gles", "aosp_mustpass")
57
58 CTS_AOSP_MP_DEVICE_DIR                  = "gl_cts/data/mustpass/gles/aosp_mustpass"
59
60 CTS_MP_INC_DIR                                  = os.path.join(DEQP_DIR, "external", "openglcts", "modules", "runner")
61
62 CTS_AOSP_MP_ES_PROJECT                  = Project(name = "AOSP Mustpass ES", path = CTS_AOSP_MP_DATA_DIR, incpath = CTS_MP_INC_DIR, devicepath = CTS_AOSP_MP_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
63
64 CTS_KHR_MP_DATA_DIR                             = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gles", "khronos_mustpass")
65
66 CTS_KHR_MP_DEVICE_DIR                   = "gl_cts/data/mustpass/gles/khronos_mustpass"
67
68 CTS_KHR_MP_ES_PROJECT                   = Project(name = "Khronos Mustpass ES", path = CTS_KHR_MP_DATA_DIR, incpath = CTS_MP_INC_DIR, devicepath = CTS_KHR_MP_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
69
70 CTS_AOSP_MP_EGL_DEVICE_DIR              = "gl_cts/data/mustpass/egl/aosp_mustpass"
71
72 CTS_AOSP_MP_EGL_DATA_DIR                = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "egl", "aosp_mustpass")
73
74 CTS_AOSP_MP_EGL_PROJECT                 = Project(name = "AOSP Mustpass EGL", path = CTS_AOSP_MP_EGL_DATA_DIR, incpath = CTS_MP_INC_DIR, devicepath = CTS_AOSP_MP_EGL_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
75
76 CTS_KHR_MP_NOCTX_DATA_DIR               = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gles", "khronos_mustpass_noctx")
77
78 CTS_KHR_MP_NOCTX_DEVICE_DIR             = "gl_cts/data/mustpass/gles/khronos_mustpass_noctx"
79
80 CTS_KHR_MP_NOCTX_ES_PROJECT             = Project(name = "Khronos Mustpass ES NoContext", path = CTS_KHR_MP_NOCTX_DATA_DIR, incpath = CTS_MP_INC_DIR, devicepath = CTS_KHR_MP_NOCTX_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
81
82 CTS_KHR_MP_SINGLE_DATA_DIR              = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gles", "khronos_mustpass_single")
83
84 CTS_KHR_MP_SINGLE_DEVICE_DIR    = "gl_cts/data/mustpass/gles/khronos_mustpass_single"
85
86 CTS_KHR_MP_SINGLE_ES_PROJECT            = Project(name = "Khronos Mustpass ES Single Config", path = CTS_KHR_MP_SINGLE_DATA_DIR, incpath = CTS_MP_INC_DIR, devicepath = CTS_KHR_MP_SINGLE_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
87
88 EGL_MODULE                                              = getModuleByName("dEQP-EGL")
89 ES2CTS_MODULE                                   = getModuleByName("dEQP-GLES2")
90 ES3CTS_MODULE                                   = getModuleByName("dEQP-GLES3")
91 ES31CTS_MODULE                                  = getModuleByName("dEQP-GLES31")
92 GL45ES3_MODULE                                  = getModuleByName("dEQP-GL45-ES3")
93 GL45ES31_MODULE                                 = getModuleByName("dEQP-GL45-ES31")
94
95 ES2KHR_MODULE                                   = getModuleByName("KHR-GLES2")
96 ES3KHR_MODULE                                   = getModuleByName("KHR-GLES3")
97 ES31KHR_MODULE                                  = getModuleByName("KHR-GLES31")
98 ES32KHR_MODULE                                  = getModuleByName("KHR-GLES32")
99 NOCTX_ES2_KHR_MODULE                    = getModuleByName("KHR-NOCTX-ES2")
100 NOCTX_ES32_KHR_MODULE                   = getModuleByName("KHR-NOCTX-ES32")
101 SINGLE_ES32_KHR_MODULE                  = getModuleByName("KHR-Single-GLES32")
102
103 ES2GTF_MODULE                                   = getModuleByName("GTF-GLES2")
104 ES3GTF_MODULE                                   = getModuleByName("GTF-GLES3")
105 ES31GTF_MODULE                                  = getModuleByName("GTF-GLES31")
106
107 GLCTS_GLES2_PKG                                         = Package(module = ES2CTS_MODULE, configurations = [
108                 # Master
109                 Configuration(name                      = "master",
110                                         glconfig                = "rgba8888d24s8ms0",
111                                         rotation                = "unspecified",
112                                         surfacewidth    = "256",
113                                         surfaceheight   = "256",
114                                         filters                 = [include("gles2-master.txt")]),
115         ])
116 GLCTS_3_2_2_GLES3_PKG                                   = Package(module = ES3CTS_MODULE, configurations = [
117                 # Master
118                 Configuration(name                      = "master",
119                                         glconfig                = "rgba8888d24s8ms0",
120                                         rotation                = "unspecified",
121                                         surfacewidth    = "256",
122                                         surfaceheight   = "256",
123                                         filters                 = [include("gles3-master.txt")]),
124
125                 # Rotations
126                 Configuration(name                      = "rotate-portrait",
127                                         glconfig                = "rgba8888d24s8ms0",
128                                         rotation                = "0",
129                                         surfacewidth    = "256",
130                                         surfaceheight   = "256",
131                                         os                              = "android",
132                                         filters                 = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
133                 Configuration(name                      = "rotate-landscape",
134                                         glconfig                = "rgba8888d24s8ms0",
135                                         rotation                = "90",
136                                         surfacewidth    = "256",
137                                         surfaceheight   = "256",
138                                         os                              = "android",
139                                         filters                 = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
140                 Configuration(name                      = "rotate-reverse-portrait",
141                                         glconfig                = "rgba8888d24s8ms0",
142                                         rotation                = "180",
143                                         surfacewidth    = "256",
144                                         surfaceheight   = "256",
145                                         os                              = "android",
146                                         filters                 = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
147                 Configuration(name                      = "rotate-reverse-landscape",
148                                         glconfig                = "rgba8888d24s8ms0",
149                                         rotation                = "270",
150                                         surfacewidth    = "256",
151                                         surfaceheight   = "256",
152                                         os                              = "android",
153                                         filters         = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
154
155                 # MSAA
156                 Configuration(name                      = "multisample",
157                                         glconfig                = "rgba8888d24s8ms4",
158                                         rotation                = "unspecified",
159                                         surfacewidth    = "256",
160                                         surfaceheight   = "256",
161                                         filters                 = [include("gles3-master.txt"),
162                                                                            include("gles3-multisample.txt"),
163                                                                            exclude("gles3-multisample-issues.txt")]),
164
165                 # Pixel format
166                 Configuration(name                      = "565-no-depth-no-stencil",
167                                         glconfig                = "rgb565d0s0ms0",
168                                         rotation                = "unspecified",
169                                         surfacewidth    = "256",
170                                         surfaceheight   = "256",
171                                         os                              = "android",
172                                         filters                 = [include("gles3-master.txt"),
173                                                                            include("gles3-pixelformat.txt"),
174                                                                            exclude("gles3-pixelformat-issues.txt")]),
175         ])
176 GLCTS_3_2_2_GLES31_PKG                                  = Package(module = ES31CTS_MODULE, configurations = [
177                 # Master
178                 Configuration(name                      = "master",
179                                         glconfig                = "rgba8888d24s8ms0",
180                                         rotation                = "unspecified",
181                                         surfacewidth    = "256",
182                                         surfaceheight   = "256",
183                                         filters                 = [include("gles31-master.txt")]),
184                 # Rotations
185                 Configuration(name                      = "rotate-portrait",
186                                         glconfig                = "rgba8888d24s8ms0",
187                                         rotation                = "0",
188                                         surfacewidth    = "256",
189                                         surfaceheight   = "256",
190                                         os                              = "android",
191                                         filters                 = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
192                 Configuration(name                      = "rotate-landscape",
193                                         glconfig                = "rgba8888d24s8ms0",
194                                         rotation                = "90",
195                                         surfacewidth    = "256",
196                                         surfaceheight   = "256",
197                                         os                              = "android",
198                                         filters                 = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
199                 Configuration(name                      = "rotate-reverse-portrait",
200                                         glconfig                = "rgba8888d24s8ms0",
201                                         rotation                = "180",
202                                         surfacewidth    = "256",
203                                         surfaceheight   = "256",
204                                         os                              = "android",
205                                         filters                 = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
206                 Configuration(name                      = "rotate-reverse-landscape",
207                                         glconfig                = "rgba8888d24s8ms0",
208                                         rotation                = "270",
209                                         surfacewidth    = "256",
210                                         surfaceheight   = "256",
211                                         os                              = "android",
212                                         filters                 = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
213
214                 # MSAA
215                 Configuration(name                      = "multisample",
216                                         glconfig                = "rgba8888d24s8ms4",
217                                         rotation                = "unspecified",
218                                         surfacewidth    = "256",
219                                         surfaceheight   = "256",
220                                         filters                 = [include("gles31-master.txt"), include("gles31-multisample.txt")]),
221
222                 # Pixel format
223                 Configuration(name                      = "565-no-depth-no-stencil",
224                                         glconfig                = "rgb565d0s0ms0",
225                                         rotation                = "unspecified",
226                                         surfacewidth    = "256",
227                                         surfaceheight   = "256",
228                                         os                              = "android",
229                                         filters                 = [include("gles31-master.txt"), include("gles31-pixelformat.txt")]),
230         ])
231
232 # 3.2.3.x
233 GLCTS_3_2_3_EGL_COMMON_FILTERS                  = [include("egl-master.txt"),
234                 exclude("egl-test-issues.txt"),
235                 exclude("egl-internal-api-tests.txt"),
236                 exclude("egl-driver-issues.txt")
237         ]
238 GLCTS_3_2_3_EGL_PKG                                             = Package(module = EGL_MODULE, configurations = [
239                 # Master
240                 Configuration(name                      = "master",
241                                         glconfig                = "rgba8888d24s8ms0",
242                                         rotation                = "unspecified",
243                                         surfacewidth    = "256",
244                     surfaceheight   = "256",
245                                         filters                 = GLCTS_3_2_3_EGL_COMMON_FILTERS),
246         ])
247
248 GLCTS_3_2_3_GLES2_COMMON_FILTERS        = [
249                 include("gles2-master.txt"),
250                 exclude("gles2-test-issues.txt"),
251                 exclude("gles2-spec-issues.txt"),
252                 exclude("gles2-driver-issues.txt"),
253                 exclude("gles2-hw-issues.txt")
254         ]
255 GLCTS_3_2_3_GLES2_PKG         = Package(module = ES2CTS_MODULE, configurations = [
256         # Master
257         Configuration(name          = "master",
258                     glconfig        = "rgba8888d24s8ms0",
259                     rotation        = "unspecified",
260                     surfacewidth    = "256",
261                     surfaceheight   = "256",
262                     filters         = GLCTS_3_2_3_GLES2_COMMON_FILTERS),
263     ])
264
265 GLCTS_3_2_3_GLES3_COMMON_FILTERS                = [
266                 include("gles3-master.txt"),
267                 exclude("gles3-test-issues.txt"),
268                 exclude("gles3-spec-issues.txt"),
269                 exclude("gles3-driver-issues.txt"),
270         ]
271
272 GLCTS_3_2_3_GLES3_PKG                           = Package(module = ES3CTS_MODULE, configurations = [
273                 # Master
274                 Configuration(name                      = "master",
275                                         glconfig        = "rgba8888d24s8ms0",
276                                         rotation        = "unspecified",
277                                         surfacewidth    = "256",
278                                         surfaceheight   = "256",
279                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [exclude("gles3-hw-issues.txt")]),
280                 # Rotations
281                 Configuration(name                      = "rotate-portrait",
282                                         glconfig        = "rgba8888d24s8ms0",
283                                         rotation        = "0",
284                                         surfacewidth    = "256",
285                                         surfaceheight   = "256",
286                                         os                              = "android",
287                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
288                 Configuration(name                      = "rotate-landscape",
289                                         glconfig        = "rgba8888d24s8ms0",
290                                         rotation        = "90",
291                                         surfacewidth    = "256",
292                                         surfaceheight   = "256",
293                                         os                              = "android",
294                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
295                 Configuration(name                      = "rotate-reverse-portrait",
296                                         glconfig        = "rgba8888d24s8ms0",
297                                         rotation        = "180",
298                                         surfacewidth    = "256",
299                                         surfaceheight   = "256",
300                                         os                              = "android",
301                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
302                 Configuration(name                      = "rotate-reverse-landscape",
303                                         glconfig        = "rgba8888d24s8ms0",
304                                         rotation        = "270",
305                                         surfacewidth    = "256",
306                                         surfaceheight   = "256",
307                                         os                              = "android",
308                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
309
310                 # MSAA
311                 Configuration(name                      = "multisample",
312                                         glconfig        = "rgba8888d24s8ms4",
313                                         rotation        = "unspecified",
314                                         surfacewidth    = "256",
315                                         surfaceheight   = "256",
316                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"), exclude("gles3-multisample-hw-issues.txt")]),
317
318                 # Pixel format
319                 Configuration(name                      = "565-no-depth-no-stencil",
320                                         glconfig        = "rgb565d0s0ms0",
321                                         rotation        = "unspecified",
322                                         surfacewidth    = "256",
323                                         surfaceheight   = "256",
324                                         os                              = "android",
325                                         filters         = GLCTS_3_2_3_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt")]),
326
327         ])
328
329 GLCTS_3_2_3_GLES31_COMMON_FILTERS       = [
330                 include("gles31-master.txt"),
331                 exclude("gles31-test-issues.txt"),
332                 exclude("gles31-spec-issues.txt"),
333                 exclude("gles31-driver-issues.txt"),
334                 exclude("gles31-hw-issues.txt")
335         ]
336
337 GLCTS_3_2_3_GLES31_PKG                          = Package(module = ES31CTS_MODULE, configurations = [
338                 # Master
339                 Configuration(name                      = "master",
340                                         glconfig        = "rgba8888d24s8ms0",
341                                         rotation        = "unspecified",
342                                         surfacewidth    = "256",
343                                         surfaceheight   = "256",
344                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS),
345
346                 # Rotations
347                 Configuration(name                      = "rotate-portrait",
348                                         glconfig        = "rgba8888d24s8ms0",
349                                         rotation        = "0",
350                                         surfacewidth    = "256",
351                                         surfaceheight   = "256",
352                                         os                              = "android",
353                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
354                 Configuration(name                      = "rotate-landscape",
355                                         glconfig        = "rgba8888d24s8ms0",
356                                         rotation        = "90",
357                                         surfacewidth    = "256",
358                                         surfaceheight   = "256",
359                                         os                              = "android",
360                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
361                 Configuration(name                      = "rotate-reverse-portrait",
362                                         glconfig        = "rgba8888d24s8ms0",
363                                         rotation        = "180",
364                                         surfacewidth    = "256",
365                                         surfaceheight   = "256",
366                                         os                              = "android",
367                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
368                 Configuration(name                      = "rotate-reverse-landscape",
369                                         glconfig        = "rgba8888d24s8ms0",
370                                         rotation        = "270",
371                                         surfacewidth    = "256",
372                                         surfaceheight   = "256",
373                                         os                              = "android",
374                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
375
376                 # MSAA
377                 Configuration(name                      = "multisample",
378                                         glconfig        = "rgba8888d24s8ms4",
379                                         rotation        = "unspecified",
380                                         surfacewidth    = "256",
381                                         surfaceheight   = "256",
382                                         filters         = [include("gles31-master.txt"),
383                                                                         include("gles31-multisample.txt"),
384                                                                         exclude("gles31-multisample-test-issues.txt")]),
385
386                 # Pixel format
387                 Configuration(name                      = "565-no-depth-no-stencil",
388                                         glconfig        = "rgb565d0s0ms0",
389                                         rotation        = "unspecified",
390                                         surfacewidth    = "256",
391                                         surfaceheight   = "256",
392                                         os                              = "android",
393                                         filters         = GLCTS_3_2_3_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")]),
394         ])
395
396 GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS   = [
397                 include("gles32-khr-master.txt"),
398                 exclude("gles32-khr-test-issues.txt"),
399                 exclude("gles32-khr-spec-issues.txt")
400         ]
401
402 GLCTS_3_2_3_GLES32_KHR_PKG_1CFG                 = Package(module = ES32KHR_MODULE, configurations = [
403                 # Master
404                 Configuration(name                      = "khr-master",
405                                         surfacewidth    = "64",
406                                         surfaceheight   = "64",
407                                         baseseed                = "1",
408                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
409                 Configuration(name                      = "khr-master",
410                                         surfacewidth    = "113",
411                                         surfaceheight   = "47",
412                                         baseseed                = "2",
413                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
414                 Configuration(name                      = "khr-master",
415                                         surfacewidth    = "64",
416                                         surfaceheight   = "-1",
417                                         baseseed                = "3",
418                                         fboconfig               = "rgba8888d24s8",
419                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
420                 Configuration(name                      = "khr-master",
421                                         surfacewidth    = "-1",
422                                         surfaceheight   = "64",
423                                         baseseed                = "3",
424                                         fboconfig               = "rgba8888d24s8",
425                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
426         ])
427
428 GLCTS_3_2_3_GLES32_KHR_PKG_N1CFG                = Package(module = ES32KHR_MODULE, useforfirsteglconfig = False, configurations = [
429                 # Master
430                 Configuration(name                      = "khr-master",
431                                         surfacewidth    = "64",
432                                         surfaceheight   = "64",
433                                         baseseed                = "1",
434                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
435                 Configuration(name                      = "khr-master",
436                                         surfacewidth    = "113",
437                                         surfaceheight   = "47",
438                                         baseseed                = "2",
439                                         filters                 = GLCTS_3_2_3_GLES32_KHR_COMMON_FILTERS),
440         ])
441
442
443 # master
444 MAIN_EGL_COMMON_FILTERS                 = [include("egl-master.txt"),
445                                                                                 exclude("egl-test-issues.txt"),
446                                                                                 exclude("egl-internal-api-tests.txt")]
447 MAIN_EGL_PKG                                            = Package(module = EGL_MODULE, configurations = [
448                 # Master
449                 Configuration(name                      = "master",
450                                         glconfig                = "rgba8888d24s8ms0",
451                                         rotation                = "unspecified",
452                                         surfacewidth    = "256",
453                                         surfaceheight   = "256",
454                                         filters                 = MAIN_EGL_COMMON_FILTERS),
455         ])
456
457 MAIN_GLES2_COMMON_FILTERS                       = [
458                                 include("gles2-master.txt"),
459                                 exclude("gles2-test-issues.txt"),
460                                 exclude("gles2-spec-issues.txt")
461                 ]
462 MAIN_GLES2_PKG         = Package(module = ES2CTS_MODULE, configurations = [
463         # Master
464         Configuration(name          = "master",
465                     glconfig        = "rgba8888d24s8ms0",
466                     rotation        = "unspecified",
467                     surfacewidth    = "256",
468                     surfaceheight   = "256",
469                     filters         = MAIN_GLES2_COMMON_FILTERS),
470     ])
471
472 MAIN_GLES3_COMMON_FILTERS               = [
473                 include("gles3-master.txt"),
474                 exclude("gles3-test-issues.txt"),
475                 exclude("gles3-spec-issues.txt")
476         ]
477 MAIN_GLES3_PKG                          = Package(module = ES3CTS_MODULE, configurations = [
478                 # Master
479                 Configuration(name                      = "master",
480                                         glconfig        = "rgba8888d24s8ms0",
481                                         rotation        = "unspecified",
482                                         surfacewidth    = "256",
483                                         surfaceheight   = "256",
484                                         filters         = MAIN_GLES3_COMMON_FILTERS),
485                 # Rotations
486                 Configuration(name                      = "rotate-portrait",
487                                         glconfig        = "rgba8888d24s8ms0",
488                                         rotation        = "0",
489                                         surfacewidth    = "256",
490                                         surfaceheight   = "256",
491                                         os                              = "android",
492                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
493                 Configuration(name                      = "rotate-landscape",
494                                         glconfig        = "rgba8888d24s8ms0",
495                                         rotation        = "90",
496                                         surfacewidth    = "256",
497                                         surfaceheight   = "256",
498                                         os                              = "android",
499                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
500                 Configuration(name                      = "rotate-reverse-portrait",
501                                         glconfig        = "rgba8888d24s8ms0",
502                                         rotation        = "180",
503                                         surfacewidth    = "256",
504                                         surfaceheight   = "256",
505                                         os                              = "android",
506                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
507                 Configuration(name                      = "rotate-reverse-landscape",
508                                         glconfig        = "rgba8888d24s8ms0",
509                                         rotation        = "270",
510                                         surfacewidth    = "256",
511                                         surfaceheight   = "256",
512                                         os                              = "android",
513                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
514
515                 # MSAA
516                 Configuration(name                      = "multisample",
517                                         glconfig        = "rgba8888d24s8ms4",
518                                         rotation        = "unspecified",
519                                         surfacewidth    = "256",
520                                         surfaceheight   = "256",
521                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt")]),
522
523                 # Pixel format
524                 Configuration(name                      = "565-no-depth-no-stencil",
525                                         glconfig        = "rgb565d0s0ms0",
526                                         rotation        = "unspecified",
527                                         surfacewidth    = "256",
528                                         surfaceheight   = "256",
529                                         os                              = "android",
530                                         filters         = MAIN_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt")]),
531         ])
532 MAIN_GLES31_COMMON_FILTERS             = [
533                 include("gles31-master.txt"),
534                 exclude("gles31-test-issues.txt"),
535                 exclude("gles31-spec-issues.txt")
536         ]
537
538 MAIN_GLES31_PKG                         = Package(module = ES31CTS_MODULE, configurations = [
539                 # Master
540                 Configuration(name                      = "master",
541                                         glconfig        = "rgba8888d24s8ms0",
542                                         rotation        = "unspecified",
543                                         surfacewidth    = "256",
544                                         surfaceheight   = "256",
545                                         filters         = MAIN_GLES31_COMMON_FILTERS),
546
547                 # Rotations
548                 Configuration(name                      = "rotate-portrait",
549                                         glconfig        = "rgba8888d24s8ms0",
550                                         rotation        = "0",
551                                         surfacewidth    = "256",
552                                         surfaceheight   = "256",
553                                         os                              = "android",
554                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
555                 Configuration(name                      = "rotate-landscape",
556                                         glconfig        = "rgba8888d24s8ms0",
557                                         rotation        = "90",
558                                         surfacewidth    = "256",
559                                         surfaceheight   = "256",
560                                         os                              = "android",
561                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
562                 Configuration(name                      = "rotate-reverse-portrait",
563                                         glconfig        = "rgba8888d24s8ms0",
564                                         rotation        = "180",
565                                         surfacewidth    = "256",
566                                         surfaceheight   = "256",
567                                         os                              = "android",
568                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
569                 Configuration(name                      = "rotate-reverse-landscape",
570                                         glconfig        = "rgba8888d24s8ms0",
571                                         rotation        = "270",
572                                         surfacewidth    = "256",
573                                         surfaceheight   = "256",
574                                         os                              = "android",
575                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
576
577                 # MSAA
578                 Configuration(name                      = "multisample",
579                                         glconfig        = "rgba8888d24s8ms4",
580                                         rotation        = "unspecified",
581                                         surfacewidth    = "256",
582                                         surfaceheight   = "256",
583                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")]),
584
585                 # Pixel format
586                 Configuration(name                      = "565-no-depth-no-stencil",
587                                         glconfig        = "rgb565d0s0ms0",
588                                         rotation        = "unspecified",
589                                         surfacewidth    = "256",
590                                         surfaceheight   = "256",
591                                         os                              = "android",
592                                         filters         = MAIN_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")]),
593         ])
594
595 GLCTS_GLES2_KHR_PKG_1CFG                        = Package(module = ES2KHR_MODULE, configurations = [
596                 # Master
597                 Configuration(name                      = "khr-master",
598                                         surfacewidth    = "64",
599                                         surfaceheight   = "64",
600                                         baseseed                = "1",
601                                         filters                 = [include("gles2-khr-master.txt")]),
602         ])
603
604 GLCTS_GLES2_DEQP_PKG_1CFG                       = Package(module = ES2CTS_MODULE, configurations = [
605                 # Master
606                 Configuration(name                      = "deqp-master",
607                                         surfacewidth    = "64",
608                                         surfaceheight   = "64",
609                                         baseseed                = "1",
610                                         filters                 = [include("gles2-deqp-master.txt")]),
611         ])
612
613 GLCTS_GLES2_GTF_PKG_1CFG                        = Package(module = ES2GTF_MODULE, configurations = [
614                 # Master
615                 Configuration(name                      = "gtf-master",
616                                         surfacewidth    = "64",
617                                         surfaceheight   = "64",
618                                         baseseed                = "1",
619                                         filters                 = [include("gles2-gtf-master.txt")]),
620                 Configuration(name                      = "gtf-master",
621                                         surfacewidth    = "113",
622                                         surfaceheight   = "47",
623                                         baseseed                = "2",
624                                         filters                 = [include("gles2-gtf-master.txt")]),
625                 Configuration(name                      = "gtf-master",
626                                         surfacewidth    = "64",
627                                         surfaceheight   = "-1",
628                                         baseseed                = "3",
629                                         fboconfig               = "rgba8888d24s8",
630                                         filters                 = [include("gles2-gtf-master.txt")]),
631                 Configuration(name                      = "gtf-master",
632                                         surfacewidth    = "-1",
633                                         surfaceheight   = "64",
634                                         baseseed                = "3",
635                                         fboconfig               = "rgba8888d24s8",
636                                         filters                 = [include("gles2-gtf-master.txt")]),
637                 Configuration(name                      = "gtf-egl",
638                                         surfacewidth    = "64",
639                                         surfaceheight   = "64",
640                                         baseseed                = "1",
641                                         filters                 = [include("gles2-gtf-egl.txt")]),
642                 Configuration(name                      = "gtf-egl",
643                                         surfacewidth    = "113",
644                                         surfaceheight   = "47",
645                                         baseseed                = "2",
646                                         filters                 = [include("gles2-gtf-egl.txt")]),
647         ])
648
649 GLCTS_GLES2_KHR_PKG_N1CFG                       = Package(module = ES2KHR_MODULE, useforfirsteglconfig = False, configurations = [
650                 # Master
651                 Configuration(name                      = "khr-master",
652                                         surfacewidth    = "64",
653                                         surfaceheight   = "64",
654                                         baseseed                = "1",
655                                         filters                 = [include("gles2-khr-master.txt")]),
656         ])
657
658 GLCTS_GLES2_DEQP_PKG_N1CFG                      = Package(module = ES2CTS_MODULE, useforfirsteglconfig = False, configurations = [
659                 # Master
660                 Configuration(name                      = "deqp-master",
661                                         surfacewidth    = "64",
662                                         surfaceheight   = "64",
663                                         baseseed                = "1",
664                                         filters                 = [include("gles2-deqp-master.txt")]),
665         ])
666
667 GLCTS_GLES2_GTF_PKG_N1CFG                       = Package(module = ES2GTF_MODULE, useforfirsteglconfig = False, configurations = [
668                 # Master
669                 Configuration(name                      = "gtf-master",
670                                         surfacewidth    = "64",
671                                         surfaceheight   = "64",
672                                         baseseed                = "1",
673                                         filters         = [include("gles2-gtf-master.txt")]),
674                 Configuration(name                      = "gtf-master",
675                                         surfacewidth    = "113",
676                                         surfaceheight   = "47",
677                                         baseseed                = "2",
678                                         filters                 = [include("gles2-gtf-master.txt")]),
679         ])
680
681 GLCTS_GLES3_DEQP_PKG_1CFG                       = Package(module = ES3CTS_MODULE, configurations = [
682                 # Master
683                 Configuration(name                      = "deqp-master",
684                                         surfacewidth    = "64",
685                                         surfaceheight   = "64",
686                                         baseseed                = "1",
687                                         filters                 = [include("gles3-deqp-master.txt")]),
688         ])
689
690 GLCTS_GLES3_KHR_PKG_1CFG                        = Package(module = ES3KHR_MODULE, configurations = [
691                 # Master
692                 Configuration(name                      = "khr-master",
693                                         surfacewidth    = "64",
694                                         surfaceheight   = "64",
695                                         baseseed                = "1",
696                                         filters                 = [include("gles3-khr-master.txt")]),
697         ])
698
699 GLCTS_GLES3_GTF_PKG_1CFG                        = Package(module = ES3GTF_MODULE, configurations = [
700                 # Master
701                 Configuration(name                      = "gtf-master",
702                                         surfacewidth    = "64",
703                                         surfaceheight   = "64",
704                                         baseseed                = "1",
705                                         filters                 = [include("gles3-gtf-master.txt")]),
706                 Configuration(name                      = "gtf-master",
707                                         surfacewidth    = "113",
708                                         surfaceheight   = "47",
709                                         baseseed                = "2",
710                                         filters                 = [include("gles3-gtf-master.txt")]),
711                 Configuration(name                      = "gtf-master",
712                                         surfacewidth    = "64",
713                                         surfaceheight   = "-1",
714                                         baseseed                = "3",
715                                         fboconfig               = "rgba8888d24s8",
716                                         filters                 = [include("gles3-gtf-master.txt")]),
717                 Configuration(name                      = "gtf-master",
718                                         surfacewidth    = "-1",
719                                         surfaceheight   = "64",
720                                         baseseed                = "3",
721                                         fboconfig               = "rgba8888d24s8",
722                                         filters                 = [include("gles3-gtf-master.txt")]),
723         ])
724
725 GLCTS_GLES3_DEQP_PKG_N1CFG                      = Package(module = ES3CTS_MODULE, useforfirsteglconfig = False, configurations = [
726                 # Master
727                 Configuration(name                      = "deqp-master",
728                                         surfacewidth    = "64",
729                                         surfaceheight   = "64",
730                                         baseseed                = "1",
731                                         filters                 = [include("gles3-deqp-master.txt")]),
732         ])
733
734 GLCTS_GLES3_KHR_PKG_N1CFG                       = Package(module = ES3KHR_MODULE, useforfirsteglconfig = False, configurations = [
735                 # Master
736                 Configuration(name                      = "khr-master",
737                                         surfacewidth    = "64",
738                                         surfaceheight   = "64",
739                                         baseseed                = "1",
740                                         filters                 = [include("gles3-khr-master.txt")]),
741         ])
742 GLCTS_GLES3_GTF_PKG_N1CFG                       = Package(module = ES3GTF_MODULE, useforfirsteglconfig = False, configurations = [
743                 # Master
744                 Configuration(name                      = "gtf-master",
745                                         surfacewidth    = "64",
746                                         surfaceheight   = "64",
747                                         baseseed                = "1",
748                                         filters                 = [include("gles3-gtf-master.txt")]),
749                 Configuration(name                      = "gtf-master",
750                                         surfacewidth    = "113",
751                                         surfaceheight   = "47",
752                                         baseseed                = "2",
753                                         filters                 = [include("gles3-gtf-master.txt")]),
754         ])
755
756 GLCTS_GLES31_DEQP_PKG_1CFG                      = Package(module = ES31CTS_MODULE, configurations = [
757                 # Master
758                 Configuration(name                      = "deqp-master",
759                                         surfacewidth    = "64",
760                                         surfaceheight   = "64",
761                                         baseseed                = "1",
762                                         filters                 = [include("gles31-deqp-master.txt")]),
763         ])
764
765 GLCTS_GLES31_KHR_PKG_1CFG                       = Package(module = ES31KHR_MODULE, configurations = [
766                 # Master
767                 Configuration(name                      = "khr-master",
768                                         surfacewidth    = "64",
769                                         surfaceheight   = "64",
770                                         baseseed                = "1",
771                                         filters                 = [include("gles31-khr-master.txt")]),
772         ])
773
774 GLCTS_GLES31_GTF_PKG_1CFG                       = Package(module = ES31GTF_MODULE, configurations = [
775                 # Master
776                 Configuration(name                      = "gtf-master",
777                                         surfacewidth    = "64",
778                                         surfaceheight   = "64",
779                                         baseseed                = "1",
780                                         filters                 = [include("gles31-gtf-master.txt")]),
781                 Configuration(name                      = "gtf-master",
782                                         surfacewidth    = "113",
783                                         surfaceheight   = "47",
784                                         baseseed                = "2",
785                                         filters                 = [include("gles31-gtf-master.txt")]),
786                 Configuration(name                      = "gtf-master",
787                                         surfacewidth    = "64",
788                                         surfaceheight   = "-1",
789                                         baseseed                = "3",
790                                         fboconfig               = "rgba8888d24s8",
791                                         filters                 = [include("gles31-gtf-master.txt")]),
792                 Configuration(name                      = "gtf-master",
793                                         surfacewidth    = "-1",
794                                         surfaceheight   = "64",
795                                         baseseed                = "3",
796                                         fboconfig               = "rgba8888d24s8",
797                                         filters                 = [include("gles31-gtf-master.txt")]),
798         ])
799
800 GLCTS_GLES31_KHR_PKG_N1CFG                      = Package(module = ES31KHR_MODULE, useforfirsteglconfig = False, configurations = [
801                 # Master
802                 Configuration(name                      = "khr-master",
803                                         surfacewidth    = "64",
804                                         surfaceheight   = "64",
805                                         baseseed                = "1",
806                                         filters                 = [include("gles31-khr-master.txt")]),
807         ])
808
809 GLCTS_GLES31_DEQP_PKG_N1CFG                     = Package(module = ES31CTS_MODULE, useforfirsteglconfig = False, configurations = [
810                 # Master
811                 Configuration(name                      = "deqp-master",
812                                         surfacewidth    = "64",
813                                         surfaceheight   = "64",
814                                         baseseed                = "1",
815                                         filters                 = [include("gles31-deqp-master.txt")]),
816         ])
817
818 GLCTS_GLES31_GTF_PKG_N1CFG                      = Package(module = ES31GTF_MODULE, useforfirsteglconfig = False, configurations = [
819                 # Master
820                 Configuration(name                      = "gtf-master",
821                                         surfacewidth    = "64",
822                                         surfaceheight   = "64",
823                                         baseseed                = "1",
824                                         filters                 = [include("gles31-gtf-master.txt")]),
825                 Configuration(name                      = "gtf-master",
826                                         surfacewidth    = "113",
827                                         surfaceheight   = "47",
828                                         baseseed                = "2",
829                                         filters                 = [include("gles31-gtf-master.txt")]),
830         ])
831
832 MAIN_GLES32_COMMON_FILTERS             = [
833                 include("gles32-khr-master.txt"),
834                 exclude("gles32-khr-test-issues.txt"),
835                 exclude("gles32-khr-spec-issues.txt")
836         ]
837
838 GLCTS_GLES32_KHR_PKG_1CFG                       = Package(module = ES32KHR_MODULE, configurations = [
839                 # Master
840                 Configuration(name                      = "khr-master",
841                                         surfacewidth    = "64",
842                                         surfaceheight   = "64",
843                                         baseseed                = "1",
844                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
845                 Configuration(name                      = "khr-master",
846                                         surfacewidth    = "113",
847                                         surfaceheight   = "47",
848                                         baseseed                = "2",
849                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
850                 Configuration(name                      = "khr-master",
851                                         surfacewidth    = "64",
852                                         surfaceheight   = "-1",
853                                         baseseed                = "3",
854                                         fboconfig               = "rgba8888d24s8",
855                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
856                 Configuration(name                      = "khr-master",
857                                         surfacewidth    = "-1",
858                                         surfaceheight   = "64",
859                                         baseseed                = "3",
860                                         fboconfig               = "rgba8888d24s8",
861                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
862         ])
863
864 GLCTS_GLES32_KHR_PKG_N1CFG                      = Package(module = ES32KHR_MODULE, useforfirsteglconfig = False, configurations = [
865                 # Master
866                 Configuration(name                      = "khr-master",
867                                         surfacewidth    = "64",
868                                         surfaceheight   = "64",
869                                         baseseed                = "1",
870                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
871                 Configuration(name                      = "khr-master",
872                                         surfacewidth    = "113",
873                                         surfaceheight   = "47",
874                                         baseseed                = "2",
875                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
876         ])
877
878 GLCTS_NOCTX_ES2_KHR_PKG                 = Package(module = NOCTX_ES2_KHR_MODULE, configurations = [
879                 # Master
880                 Configuration(name                      = "khr-noctx-master",
881                                         surfacewidth    = "64",
882                                         surfaceheight   = "64",
883                                         baseseed                = "1",
884                                         filters                 = [include("gles2-khr-master.txt")]),
885         ])
886
887 GLCTS_NOCTX_ES32_KHR_PKG                = Package(module = NOCTX_ES32_KHR_MODULE, configurations = [
888                 # Master
889                 Configuration(name                      = "khr-noctx-master",
890                                         surfacewidth    = "64",
891                                         surfaceheight   = "64",
892                                         baseseed                = "1",
893                                         filters                 = MAIN_GLES32_COMMON_FILTERS),
894         ])
895
896 GLCTS_SINGLE_ES32_KHR_PKG               = Package(module = SINGLE_ES32_KHR_MODULE, configurations = [
897                 # Master
898                 Configuration(name                      = "khr-single",
899                                         surfacewidth    = "64",
900                                         surfaceheight   = "64",
901                                         baseseed                = "1",
902                                         filters                 = [include("gles32-khr-single.txt")]),
903         ])
904
905
906 ES_MUSTPASS_LISTS               = [
907         # 3.2.2.x
908         Mustpass(project = CTS_KHR_MP_ES_PROJECT,       version = "3.2.2.x", isCurrent=False,
909                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
910                                                 GLCTS_GLES2_DEQP_PKG_1CFG,
911                                                 GLCTS_GLES2_GTF_PKG_1CFG,
912                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
913                                                 GLCTS_GLES2_DEQP_PKG_N1CFG,
914                                                 GLCTS_GLES2_GTF_PKG_N1CFG,
915                                                 GLCTS_GLES3_KHR_PKG_1CFG,
916                                                 GLCTS_GLES3_DEQP_PKG_1CFG,
917                                                 GLCTS_GLES3_GTF_PKG_1CFG,
918                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
919                                                 GLCTS_GLES3_DEQP_PKG_N1CFG,
920                                                 GLCTS_GLES3_GTF_PKG_N1CFG,
921                                                 GLCTS_GLES31_KHR_PKG_1CFG,
922                                                 GLCTS_GLES31_DEQP_PKG_1CFG,
923                                                 GLCTS_GLES31_GTF_PKG_1CFG,
924                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
925                                                 GLCTS_GLES31_DEQP_PKG_N1CFG,
926                                                 GLCTS_GLES31_GTF_PKG_N1CFG,
927                                                 GLCTS_GLES32_KHR_PKG_1CFG,
928                                                 GLCTS_GLES32_KHR_PKG_N1CFG,
929                                                 ]),
930
931         Mustpass(project = CTS_AOSP_MP_ES_PROJECT,      version = "3.2.2.x", isCurrent=False,
932                         packages = [GLCTS_GLES2_PKG, GLCTS_3_2_2_GLES3_PKG, GLCTS_3_2_2_GLES31_PKG]),
933
934         # 3.2.3.x
935         Mustpass(project = CTS_KHR_MP_ES_PROJECT,       version = "3.2.3.x", isCurrent=False,
936                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
937                                                 GLCTS_GLES2_GTF_PKG_1CFG,
938                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
939                                                 GLCTS_GLES2_GTF_PKG_N1CFG,
940                                                 GLCTS_GLES3_KHR_PKG_1CFG,
941                                                 GLCTS_GLES3_GTF_PKG_1CFG,
942                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
943                                                 GLCTS_GLES3_GTF_PKG_N1CFG,
944                                                 GLCTS_GLES31_KHR_PKG_1CFG,
945                                                 GLCTS_GLES31_GTF_PKG_1CFG,
946                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
947                                                 GLCTS_GLES31_GTF_PKG_N1CFG,
948                                                 GLCTS_3_2_3_GLES32_KHR_PKG_1CFG,
949                                                 GLCTS_3_2_3_GLES32_KHR_PKG_N1CFG,
950                                                 ]),
951
952         Mustpass(project = CTS_AOSP_MP_ES_PROJECT, version = "3.2.3.x", isCurrent=False,
953                         packages = [GLCTS_3_2_3_GLES2_PKG, GLCTS_3_2_3_GLES3_PKG, GLCTS_3_2_3_GLES31_PKG]),
954
955         Mustpass(project = CTS_AOSP_MP_EGL_PROJECT, version = "3.2.3.x", isCurrent=False,
956                         packages = [GLCTS_3_2_3_EGL_PKG]),
957
958         # 3.2.4.x
959         Mustpass(project = CTS_KHR_MP_ES_PROJECT,       version = "3.2.4.x", isCurrent=False,
960                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
961                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
962                                                 GLCTS_GLES3_KHR_PKG_1CFG,
963                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
964                                                 GLCTS_GLES31_KHR_PKG_1CFG,
965                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
966                                                 GLCTS_3_2_3_GLES32_KHR_PKG_1CFG,
967                                                 GLCTS_3_2_3_GLES32_KHR_PKG_N1CFG,
968                                                 ]),
969
970
971         Mustpass(project = CTS_KHR_MP_NOCTX_ES_PROJECT, version = "3.2.4.x", isCurrent=False,
972                         packages = [GLCTS_NOCTX_ES2_KHR_PKG, GLCTS_NOCTX_ES32_KHR_PKG]),
973
974         Mustpass(project = CTS_AOSP_MP_ES_PROJECT, version = "3.2.4.x", isCurrent=False,
975                         packages = [GLCTS_3_2_3_GLES2_PKG, GLCTS_3_2_3_GLES3_PKG, GLCTS_3_2_3_GLES31_PKG]),
976
977         Mustpass(project = CTS_AOSP_MP_EGL_PROJECT, version = "3.2.4.x", isCurrent=False,
978                         packages = [GLCTS_3_2_3_EGL_PKG]),
979
980         # 3.2.5.x
981
982         Mustpass(project = CTS_KHR_MP_ES_PROJECT,   version = "3.2.5.x", isCurrent=False,
983                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
984                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
985                                                 GLCTS_GLES3_KHR_PKG_1CFG,
986                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
987                                                 GLCTS_GLES31_KHR_PKG_1CFG,
988                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
989                                                 GLCTS_GLES32_KHR_PKG_1CFG,
990                                                 GLCTS_GLES32_KHR_PKG_N1CFG,
991                                                 ]),
992
993         Mustpass(project = CTS_KHR_MP_NOCTX_ES_PROJECT, version = "3.2.5.x", isCurrent=False,
994                         packages = [GLCTS_NOCTX_ES2_KHR_PKG, GLCTS_NOCTX_ES32_KHR_PKG]),
995
996         Mustpass(project = CTS_AOSP_MP_ES_PROJECT, version = "3.2.5.x", isCurrent=False,
997                         packages = [GLCTS_3_2_3_GLES2_PKG, GLCTS_3_2_3_GLES3_PKG, GLCTS_3_2_3_GLES31_PKG]),
998
999         Mustpass(project = CTS_AOSP_MP_EGL_PROJECT, version = "3.2.5.x", isCurrent=False,
1000                         packages = [GLCTS_3_2_3_EGL_PKG]),
1001
1002         # 3.2.6.x
1003
1004         Mustpass(project = CTS_KHR_MP_ES_PROJECT,   version = "3.2.6.x", isCurrent=False,
1005                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
1006                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
1007                                                 GLCTS_GLES3_KHR_PKG_1CFG,
1008                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
1009                                                 GLCTS_GLES31_KHR_PKG_1CFG,
1010                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
1011                                                 GLCTS_GLES32_KHR_PKG_1CFG,
1012                                                 GLCTS_GLES32_KHR_PKG_N1CFG,
1013                                                 ]),
1014
1015         Mustpass(project = CTS_KHR_MP_NOCTX_ES_PROJECT, version = "3.2.6.x", isCurrent=False,
1016                         packages = [GLCTS_NOCTX_ES2_KHR_PKG, GLCTS_NOCTX_ES32_KHR_PKG]),
1017
1018         Mustpass(project = CTS_KHR_MP_SINGLE_ES_PROJECT, version = "3.2.6.x", isCurrent=False,
1019                         packages = [GLCTS_SINGLE_ES32_KHR_PKG]),
1020
1021         Mustpass(project = CTS_AOSP_MP_ES_PROJECT, version = "3.2.6.x", isCurrent=False,
1022                         packages = [GLCTS_3_2_3_GLES2_PKG, GLCTS_3_2_3_GLES3_PKG, GLCTS_3_2_3_GLES31_PKG]),
1023
1024         Mustpass(project = CTS_AOSP_MP_EGL_PROJECT, version = "3.2.6.x", isCurrent=False,
1025                         packages = [GLCTS_3_2_3_EGL_PKG]),
1026
1027         # main
1028
1029         Mustpass(project = CTS_KHR_MP_ES_PROJECT,       version = "main", isCurrent=True,
1030                         packages = [GLCTS_GLES2_KHR_PKG_1CFG,
1031                                                 GLCTS_GLES2_KHR_PKG_N1CFG,
1032                                                 GLCTS_GLES3_KHR_PKG_1CFG,
1033                                                 GLCTS_GLES3_KHR_PKG_N1CFG,
1034                                                 GLCTS_GLES31_KHR_PKG_1CFG,
1035                                                 GLCTS_GLES31_KHR_PKG_N1CFG,
1036                                                 GLCTS_GLES32_KHR_PKG_1CFG,
1037                                                 GLCTS_GLES32_KHR_PKG_N1CFG,
1038                                                 ]),
1039
1040         Mustpass(project = CTS_KHR_MP_NOCTX_ES_PROJECT, version = "main", isCurrent=True,
1041                         packages = [GLCTS_NOCTX_ES2_KHR_PKG, GLCTS_NOCTX_ES32_KHR_PKG]),
1042
1043         Mustpass(project = CTS_KHR_MP_SINGLE_ES_PROJECT, version = "main", isCurrent=True,
1044                         packages = [GLCTS_SINGLE_ES32_KHR_PKG]),
1045
1046         Mustpass(project = CTS_AOSP_MP_ES_PROJECT, version = "main", isCurrent=True,
1047                         packages = [GLCTS_3_2_3_GLES2_PKG, GLCTS_3_2_3_GLES3_PKG, GLCTS_3_2_3_GLES31_PKG]),
1048
1049         Mustpass(project = CTS_AOSP_MP_EGL_PROJECT, version = "main", isCurrent=True,
1050                         packages = [GLCTS_3_2_3_EGL_PKG])
1051
1052         ]
1053
1054 ES_BUILD_CONFIG                         = BuildConfig(buildPath, "Debug", ["-DDEQP_TARGET=%s" % DEFAULT_TARGET, "-DGLCTS_GTF_TARGET=gles32"])
1055
1056 #-------------------------------------------------- GL MUSTPASS----------------------------------------------------------------------
1057
1058 GL_CTS_MP_INC_DIR                                       = os.path.join(DEQP_DIR, "external", "openglcts", "modules", "runner")
1059
1060 GL_CTS_KHR_MP_DATA_DIR                          = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gl", "khronos_mustpass")
1061
1062 GL_CTS_KHR_MP_DEVICE_DIR                        = "gl_cts/data/mustpass/gl/khronos_mustpass"
1063
1064 GL_CTS_KHR_MP_PROJECT                           = Project(name = "Khronos Mustpass GL", path = GL_CTS_KHR_MP_DATA_DIR, incpath = GL_CTS_MP_INC_DIR, devicepath = GL_CTS_KHR_MP_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
1065
1066 GL_CTS_KHR_MP_NOCTX_DATA_DIR            = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gl", "khronos_mustpass_noctx")
1067
1068 GL_CTS_KHR_MP_NOCTX_DEVICE_DIR          = "gl_cts/data/mustpass/gl/khronos_mustpass_noctx"
1069
1070 GL_CTS_NOCTX_PROJECT                            = Project(name = "Khronos Mustpass GL NoContext", path = GL_CTS_KHR_MP_NOCTX_DATA_DIR, incpath = GL_CTS_MP_INC_DIR, devicepath = GL_CTS_KHR_MP_NOCTX_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
1071
1072 GL_CTS_KHR_MP_SINGLE_DATA_DIR           = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gl", "khronos_mustpass_single")
1073
1074 GL_CTS_KHR_MP_SINGLE_DEVICE_DIR         = "gl_cts/data/mustpass/gl/khronos_mustpass_single"
1075
1076 GL_CTS_KHR_SINGLE_PROJECT                       = Project(name = "Khronos Mustpass GL Single Config", path = GL_CTS_KHR_MP_SINGLE_DATA_DIR, incpath = GL_CTS_MP_INC_DIR, devicepath = GL_CTS_KHR_MP_SINGLE_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
1077
1078 GL_CTS_KHR_MP_GLES_DATA_DIR                     = os.path.join(DEQP_DIR, "external", "openglcts", "data", "mustpass", "gl", "aosp_mustpass")
1079
1080 GL_CTS_KHR_MP_GLES_DEVICE_DIR           = "gl_cts/data/mustpass/gl/aosp_mustpass"
1081
1082 GL_CTS_GLES_PROJECT                                     = Project(name = "Khronos Mustpass AOSP for GL", path = GL_CTS_KHR_MP_GLES_DATA_DIR, incpath = GL_CTS_MP_INC_DIR, devicepath = GL_CTS_KHR_MP_GLES_DEVICE_DIR, copyright = COPYRIGHT_DECLARATION)
1083
1084
1085 GL_MODULES                                                      = OrderedDict([
1086                         ('KHR-GL46',            ['master',              [include('gl46-master.txt'), exclude('gl46-test-issues.txt')]]),
1087                         ('KHR-GL45',            ['master',              [include('gl45-master.txt'), exclude('gl45-test-issues.txt')]]),
1088                         ('KHR-GL44',            ['master',              [include('gl44-master.txt'), exclude('gl44-test-issues.txt')]]),
1089                         ('KHR-GL43',            ['master',              [include('gl43-master.txt'), exclude('gl43-test-issues.txt')]]),
1090                         ('KHR-GL42',            ['master',              [include('gl42-master.txt'), exclude('gl42-test-issues.txt')]]),
1091                         ('KHR-GL42-COMPAT',     ['master',              [include('gl42-compat-master.txt')]]),
1092                         ('KHR-GL41',            ['master',              [include('gl41-master.txt'), exclude('gl41-test-issues.txt')]]),
1093                         ('KHR-GL40',            ['master',              [include('gl40-master.txt'), exclude('gl40-test-issues.txt')]]),
1094                         ('KHR-GL33',            ['master',              [include('gl33-master.txt'), exclude('gl33-test-issues.txt')]]),
1095                         ('KHR-GL32',            ['master',              [include('gl32-master.txt'), exclude('gl32-test-issues.txt')]]),
1096                         ('KHR-GL31',            ['master',              [include('gl31-master.txt'), exclude('gl31-test-issues.txt')]]),
1097                         ('KHR-GL30',            ['master',              [include('gl30-master.txt'), exclude('gl30-test-issues.txt')]]),
1098                         ('GTF-GL46',            ['gtf-master',  [include('gl46-gtf-master.txt')]]),
1099                         ('GTF-GL45',            ['gtf-master',  [include('gl45-gtf-master.txt')]]),
1100                         ('GTF-GL44',            ['gtf-master',  [include('gl44-gtf-master.txt')]]),
1101                         ('GTF-GL43',            ['gtf-master',  [include('gl43-gtf-master.txt')]]),
1102                         ('GTF-GL42',            ['gtf-master',  [include('gl42-gtf-master.txt')]]),
1103                         ('GTF-GL41',            ['gtf-master',  [include('gl41-gtf-master.txt')]]),
1104                         ('GTF-GL40',            ['gtf-master',  [include('gl40-gtf-master.txt')]]),
1105                         ('GTF-GL33',            ['gtf-master',  [include('gl33-gtf-master.txt')]]),
1106                         ('GTF-GL32',            ['gtf-master',  [include('gl32-gtf-master.txt')]]),
1107                         ('GTF-GL31',            ['gtf-master',  [include('gl31-gtf-master.txt')]]),
1108                         ('GTF-GL30',            ['gtf-master',  [include('gl30-gtf-master.txt')]])
1109                 ])
1110
1111 NOCTX_GL30_KHR_MODULE                   = getModuleByName("KHR-NOCTX-GL30")
1112 NOCTX_GL40_KHR_MODULE                   = getModuleByName("KHR-NOCTX-GL40")
1113 NOCTX_GL43_KHR_MODULE                   = getModuleByName("KHR-NOCTX-GL43")
1114 NOCTX_GL45_KHR_MODULE                   = getModuleByName("KHR-NOCTX-GL45")
1115 SINGLE_GL43_KHR_MODULE                  = getModuleByName("KHR-Single-GL43")
1116 SINGLE_GL44_KHR_MODULE                  = getModuleByName("KHR-Single-GL44")
1117 SINGLE_GL45_KHR_MODULE                  = getModuleByName("KHR-Single-GL45")
1118 SINGLE_GL46_KHR_MODULE                  = getModuleByName("KHR-Single-GL46")
1119
1120 GLCTS_NOCTX_GL30_KHR_PKG                        = Package(module = NOCTX_GL30_KHR_MODULE, configurations = [
1121                 # Master
1122                 Configuration(name                      = "khr-master",
1123                                         surfacewidth    = "64",
1124                                         surfaceheight   = "64",
1125                                         baseseed                = "1",
1126                                         filters                 = [include("gl30-khr-master.txt")]),
1127         ])
1128
1129 GLCTS_NOCTX_GL40_KHR_PKG                        = Package(module = NOCTX_GL40_KHR_MODULE, configurations = [
1130                 # Master
1131                 Configuration(name                      = "khr-master",
1132                                         surfacewidth    = "64",
1133                                         surfaceheight   = "64",
1134                                         baseseed                = "1",
1135                                         filters                 = [include("gl40-khr-master.txt")]),
1136         ])
1137
1138 GLCTS_NOCTX_GL43_KHR_PKG                        = Package(module = NOCTX_GL43_KHR_MODULE, configurations = [
1139                 # Master
1140                 Configuration(name                      = "khr-master",
1141                                         surfacewidth    = "64",
1142                                         surfaceheight   = "64",
1143                                         baseseed                = "1",
1144                                         filters                 = [include("gl43-khr-master.txt")]),
1145         ])
1146
1147 GLCTS_NOCTX_GL45_KHR_PKG                        = Package(module = NOCTX_GL45_KHR_MODULE, configurations = [
1148                 # Master
1149                 Configuration(name                      = "khr-master",
1150                                         surfacewidth    = "64",
1151                                         surfaceheight   = "64",
1152                                         baseseed                = "1",
1153                                         filters                 = [include("gl45-khr-master.txt")]),
1154         ])
1155
1156 GLCTS_SINGLE_GL43_KHR_PKG                       = Package(module = SINGLE_GL43_KHR_MODULE, configurations = [
1157                 # Master
1158                 Configuration(name                      = "khr-single",
1159                                         surfacewidth    = "64",
1160                                         surfaceheight   = "64",
1161                                         baseseed                = "1",
1162                                         filters                 = [include("gl43-khr-single.txt")]),
1163         ])
1164
1165 GLCTS_SINGLE_GL44_KHR_PKG                       = Package(module = SINGLE_GL44_KHR_MODULE, configurations = [
1166                 # Master
1167                 Configuration(name                      = "khr-single",
1168                                         surfacewidth    = "64",
1169                                         surfaceheight   = "64",
1170                                         baseseed                = "1",
1171                                         filters                 = [include("gl44-khr-single.txt")]),
1172         ])
1173
1174 GLCTS_SINGLE_GL45_KHR_PKG                       = Package(module = SINGLE_GL45_KHR_MODULE, configurations = [
1175                 # Master
1176                 Configuration(name                      = "khr-single",
1177                                         surfacewidth    = "64",
1178                                         surfaceheight   = "64",
1179                                         baseseed                = "1",
1180                                         filters                 = [include("gl45-khr-single.txt")]),
1181         ])
1182
1183 GLCTS_SINGLE_GL46_KHR_PKG                       = Package(module = SINGLE_GL46_KHR_MODULE, configurations = [
1184                 # Master
1185                 Configuration(name                      = "khr-single",
1186                                         surfacewidth    = "64",
1187                                         surfaceheight   = "64",
1188                                         baseseed                = "1",
1189                                         filters                 = [include("gl46-khr-single.txt")]),
1190         ])
1191
1192 MAIN_GL_ES3_PKG                                         = Package(module = GL45ES3_MODULE, configurations = [
1193                 # Master
1194                 Configuration(name                      = "es3-master",
1195                                           glconfig              = "rgba8888d24s8ms0",
1196                                           rotation              = "unspecified",
1197                                           surfacewidth  = "256",
1198                                           surfaceheight = "256",
1199                                           filters               = [include("gl45es3-master.txt"), exclude("gl45es3-test-issues.txt"), exclude("gl45es3-spec-issues.txt")])
1200         ])
1201
1202 MAIN_GL_ES31_PKG                                        = Package(module = GL45ES31_MODULE, configurations = [
1203                 # Master
1204                 Configuration(name                      = "es31-master",
1205                                           glconfig              = "rgba8888d24s8ms0",
1206                                           rotation              = "unspecified",
1207                                           surfacewidth  = "256",
1208                                           surfaceheight = "256",
1209                                           filters               = [include("gl45es31-master.txt"), exclude("gl45es31-test-issues.txt"), exclude("gl45es31-spec-issues.txt")])
1210         ])
1211
1212 def generateGLMustpass():
1213                 gl_packages = []
1214                 for packageName in GL_MODULES:
1215                         cfgName                 = GL_MODULES[packageName][0]
1216                         cfgFilter               = GL_MODULES[packageName][1]
1217                         config_w64xh64  = Configuration(name = cfgName, surfacewidth = "64", surfaceheight = "64", baseseed = "1", filters = cfgFilter)
1218                         config_w113xh47 = Configuration(name = cfgName, surfacewidth = "113", surfaceheight = "47", baseseed = "2", filters = cfgFilter)
1219                         config_w64              = Configuration(name = cfgName, surfacewidth = "64", surfaceheight = "-1", baseseed = "3", fboconfig = "rgba8888d24s8", filters = cfgFilter)
1220                         config_h64              = Configuration(name = cfgName, surfacewidth = "-1", surfaceheight = "64", baseseed = "3", fboconfig = "rgba8888d24s8", filters = cfgFilter)
1221
1222                         pkgModule               = getModuleByName(packageName)
1223                         pkg0                    = Package(module = pkgModule,
1224                                                                                 useforfirsteglconfig = True,
1225                                                                                 configurations = [
1226                                                                                         config_w64xh64, config_w113xh47, config_w64, config_h64
1227                                                                                 ]
1228                                                                         )
1229                         pkg1                    = Package(module = pkgModule,
1230                                                                                 useforfirsteglconfig = False,
1231                                                                                 configurations = [
1232                                                                                         config_w64xh64, config_w113xh47,
1233                                                                                 ]
1234                                                                         )
1235                         gl_packages.append(pkg0)
1236                         gl_packages.append(pkg1)
1237
1238                 mustpass = [Mustpass(project = GL_CTS_KHR_MP_PROJECT, version = "4.6.0.x", isCurrent=False, packages = gl_packages),
1239                                         Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.0.x", isCurrent=False, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
1240
1241                                         Mustpass(project = GL_CTS_KHR_MP_PROJECT, version = "4.6.1.x", isCurrent=False, packages = gl_packages),
1242                                         Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.1.x", isCurrent=False, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
1243                                         Mustpass(project = GL_CTS_KHR_SINGLE_PROJECT, version = "4.6.1.x", isCurrent=False, packages = [GLCTS_SINGLE_GL43_KHR_PKG, GLCTS_SINGLE_GL44_KHR_PKG, GLCTS_SINGLE_GL45_KHR_PKG, GLCTS_SINGLE_GL46_KHR_PKG]),
1244                                         Mustpass(project = GL_CTS_GLES_PROJECT, version = "4.6.1.x", isCurrent=False, packages = [MAIN_GL_ES3_PKG, MAIN_GL_ES31_PKG]),
1245
1246                                         Mustpass(project = GL_CTS_KHR_MP_PROJECT, version = "main", isCurrent=True, packages = gl_packages),
1247                                         Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "main", isCurrent=True, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
1248                                         Mustpass(project = GL_CTS_KHR_SINGLE_PROJECT, version = "main", isCurrent=True, packages = [GLCTS_SINGLE_GL43_KHR_PKG, GLCTS_SINGLE_GL44_KHR_PKG, GLCTS_SINGLE_GL45_KHR_PKG, GLCTS_SINGLE_GL46_KHR_PKG]),
1249                                         Mustpass(project = GL_CTS_GLES_PROJECT, version = "main", isCurrent=True, packages = [MAIN_GL_ES3_PKG, MAIN_GL_ES31_PKG]),
1250                                         ]
1251                 return mustpass
1252
1253 GL_BUILD_CONFIG                                 = BuildConfig(buildPath, "Debug", ["-DDEQP_TARGET=%s" % DEFAULT_TARGET, "-DGLCTS_GTF_TARGET=gl"])
1254
1255 if __name__ == "__main__":
1256         gtfCMakeLists = os.path.join(DEQP_DIR, "external", "kc-cts", "src", "GTF_ES", "CMakeLists.txt")
1257         if os.path.isfile(gtfCMakeLists) == False:
1258                 raise Exception("GTF sources not found. GTF module is required to build the mustpass files. 'cd external && python fetch_kc_cts.py'")
1259         genMustpassLists(ES_MUSTPASS_LISTS, ANY_GENERATOR, ES_BUILD_CONFIG)
1260         gl_mustpass_lists = generateGLMustpass()
1261         genMustpassLists(gl_mustpass_lists, ANY_GENERATOR, GL_BUILD_CONFIG)