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