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