1e5c31af7Sopenharmony_ci# -*- coding: utf-8 -*-
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci#-------------------------------------------------------------------------
4e5c31af7Sopenharmony_ci# drawElements Quality Program utilities
5e5c31af7Sopenharmony_ci# --------------------------------------
6e5c31af7Sopenharmony_ci#
7e5c31af7Sopenharmony_ci# Copyright 2015 The Android Open Source Project
8e5c31af7Sopenharmony_ci#
9e5c31af7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
10e5c31af7Sopenharmony_ci# you may not use this file except in compliance with the License.
11e5c31af7Sopenharmony_ci# You may obtain a copy of the License at
12e5c31af7Sopenharmony_ci#
13e5c31af7Sopenharmony_ci#      http://www.apache.org/licenses/LICENSE-2.0
14e5c31af7Sopenharmony_ci#
15e5c31af7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
16e5c31af7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
17e5c31af7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18e5c31af7Sopenharmony_ci# See the License for the specific language governing permissions and
19e5c31af7Sopenharmony_ci# limitations under the License.
20e5c31af7Sopenharmony_ci#
21e5c31af7Sopenharmony_ci#-------------------------------------------------------------------------
22e5c31af7Sopenharmony_ci
23e5c31af7Sopenharmony_cifrom ctsbuild.common import DEQP_DIR
24e5c31af7Sopenharmony_cifrom ctsbuild.config import ANY_GENERATOR
25e5c31af7Sopenharmony_cifrom build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
26e5c31af7Sopenharmony_cifrom mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists, parseBuildConfigFromCmdLineArgs
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ciimport os
29e5c31af7Sopenharmony_ci
30e5c31af7Sopenharmony_ciCOPYRIGHT_DECLARATION = """
31e5c31af7Sopenharmony_ci     Copyright (C) 2016 The Android Open Source Project
32e5c31af7Sopenharmony_ci
33e5c31af7Sopenharmony_ci     Licensed under the Apache License, Version 2.0 (the "License");
34e5c31af7Sopenharmony_ci     you may not use this file except in compliance with the License.
35e5c31af7Sopenharmony_ci     You may obtain a copy of the License at
36e5c31af7Sopenharmony_ci
37e5c31af7Sopenharmony_ci          http://www.apache.org/licenses/LICENSE-2.0
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_ci     Unless required by applicable law or agreed to in writing, software
40e5c31af7Sopenharmony_ci     distributed under the License is distributed on an "AS IS" BASIS,
41e5c31af7Sopenharmony_ci     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42e5c31af7Sopenharmony_ci     See the License for the specific language governing permissions and
43e5c31af7Sopenharmony_ci     limitations under the License.
44e5c31af7Sopenharmony_ci     """
45e5c31af7Sopenharmony_ci
46e5c31af7Sopenharmony_ciCTS_DATA_DIR					= os.path.join(DEQP_DIR, "android", "cts")
47e5c31af7Sopenharmony_ci
48e5c31af7Sopenharmony_ciCTS_PROJECT						= Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
49e5c31af7Sopenharmony_ci
50e5c31af7Sopenharmony_ciEGL_MODULE						= getModuleByName("dEQP-EGL")
51e5c31af7Sopenharmony_ciGLES2_MODULE					= getModuleByName("dEQP-GLES2")
52e5c31af7Sopenharmony_ciGLES3_MODULE					= getModuleByName("dEQP-GLES3")
53e5c31af7Sopenharmony_ciGLES31_MODULE					= getModuleByName("dEQP-GLES31")
54e5c31af7Sopenharmony_ciVULKAN_MODULE					= getModuleByName("dEQP-VK")
55e5c31af7Sopenharmony_ci
56e5c31af7Sopenharmony_ci# Main
57e5c31af7Sopenharmony_ci
58e5c31af7Sopenharmony_ciMAIN_EGL_COMMON_FILTERS		= [include("egl-master.txt"),
59e5c31af7Sopenharmony_ci								   exclude("egl-test-issues.txt"),
60e5c31af7Sopenharmony_ci								   exclude("egl-manual-robustness.txt"),
61e5c31af7Sopenharmony_ci								   exclude("egl-driver-issues.txt"),
62e5c31af7Sopenharmony_ci								   exclude("egl-temp-excluded.txt")]
63e5c31af7Sopenharmony_ci
64e5c31af7Sopenharmony_ci# Android CTS is not using EGL test list for year 2021
65e5c31af7Sopenharmony_ciMAIN_EGL_PKG					= Package(module = EGL_MODULE, configurations = [
66e5c31af7Sopenharmony_ci		Configuration(name			= "master-2020-03-01",
67e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
68e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
69e5c31af7Sopenharmony_ci					  surfacetype	= "window",
70e5c31af7Sopenharmony_ci					  required		= True,
71e5c31af7Sopenharmony_ci					  filters		= [include("egl-master-2020-03-01.txt")],
72e5c31af7Sopenharmony_ci					  runtime		= "23m"),
73e5c31af7Sopenharmony_ci		Configuration(name			= "master-2022-03-01",
74e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
75e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
76e5c31af7Sopenharmony_ci					  surfacetype	= "window",
77e5c31af7Sopenharmony_ci					  required		= True,
78e5c31af7Sopenharmony_ci					  filters		= [include("egl-master-2022-03-01.txt")],
79e5c31af7Sopenharmony_ci					  runtime		= "5m"),
80e5c31af7Sopenharmony_ci		Configuration(name			= "master-2023-03-01",
81e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
82e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
83e5c31af7Sopenharmony_ci					  surfacetype	= "window",
84e5c31af7Sopenharmony_ci					  required		= True,
85e5c31af7Sopenharmony_ci					  filters		= [include("egl-master-2023-03-01.txt")],
86e5c31af7Sopenharmony_ci					  runtime		= "5m"),
87e5c31af7Sopenharmony_ci		Configuration(name			= "master-2024-03-01",
88e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
89e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
90e5c31af7Sopenharmony_ci					  surfacetype	= "window",
91e5c31af7Sopenharmony_ci					  required		= True,
92e5c31af7Sopenharmony_ci					  filters		= MAIN_EGL_COMMON_FILTERS + [exclude("egl-master-2020-03-01.txt", "egl-master-2022-03-01.txt", "egl-master-2023-03-01.txt")],
93e5c31af7Sopenharmony_ci					  runtime		= "5m"),
94e5c31af7Sopenharmony_ci		# Risky subset
95e5c31af7Sopenharmony_ci		Configuration(name			= "master-risky",
96e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
97e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
98e5c31af7Sopenharmony_ci					  surfacetype	= "window",
99e5c31af7Sopenharmony_ci					  required		= True,
100e5c31af7Sopenharmony_ci					  filters		= [include("egl-temp-excluded.txt")],
101e5c31af7Sopenharmony_ci					  runtime		= "2m"),
102e5c31af7Sopenharmony_ci	])
103e5c31af7Sopenharmony_ci
104e5c31af7Sopenharmony_ciMAIN_GLES2_COMMON_FILTERS		= [
105e5c31af7Sopenharmony_ci		include("gles2-master.txt"),
106e5c31af7Sopenharmony_ci		exclude("gles2-test-issues.txt"),
107e5c31af7Sopenharmony_ci		exclude("gles2-failures.txt"),
108e5c31af7Sopenharmony_ci		exclude("gles2-temp-excluded.txt"),
109e5c31af7Sopenharmony_ci	]
110e5c31af7Sopenharmony_ciMAIN_GLES2_PKG				= Package(module = GLES2_MODULE, configurations = [
111e5c31af7Sopenharmony_ci		Configuration(name			= "master-2020-03-01",
112e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
113e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
114e5c31af7Sopenharmony_ci					  surfacetype	= "window",
115e5c31af7Sopenharmony_ci					  required		= True,
116e5c31af7Sopenharmony_ci					  filters		= [include("gles2-master-2020-03-01.txt")],
117e5c31af7Sopenharmony_ci					  runtime		= "46m"),
118e5c31af7Sopenharmony_ci		Configuration(name			= "master-2021-03-01",
119e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
120e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
121e5c31af7Sopenharmony_ci					  surfacetype	= "window",
122e5c31af7Sopenharmony_ci					  required		= True,
123e5c31af7Sopenharmony_ci					  filters		= [include("gles2-master-2021-03-01.txt")],
124e5c31af7Sopenharmony_ci					  runtime		= "10m"),
125e5c31af7Sopenharmony_ci		Configuration(name			= "master-2022-03-01",
126e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
127e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
128e5c31af7Sopenharmony_ci					  surfacetype	= "window",
129e5c31af7Sopenharmony_ci					  required		= True,
130e5c31af7Sopenharmony_ci					  filters		= [include("gles2-master-2022-03-01.txt")],
131e5c31af7Sopenharmony_ci					  runtime		= "10m"),
132e5c31af7Sopenharmony_ci		Configuration(name			= "master-2023-03-01",
133e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
134e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
135e5c31af7Sopenharmony_ci					  surfacetype	= "window",
136e5c31af7Sopenharmony_ci					  required		= True,
137e5c31af7Sopenharmony_ci					  filters		= [include("gles2-master-2023-03-01.txt")],
138e5c31af7Sopenharmony_ci					  runtime		= "10m"),
139e5c31af7Sopenharmony_ci		Configuration(name			= "master-2024-03-01",
140e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
141e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
142e5c31af7Sopenharmony_ci					  surfacetype	= "window",
143e5c31af7Sopenharmony_ci					  required		= True,
144e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt", "gles2-master-2021-03-01.txt", "gles2-master-2022-03-01.txt", "gles2-master-2023-03-01.txt")],
145e5c31af7Sopenharmony_ci					  runtime		= "10m"),
146e5c31af7Sopenharmony_ci	])
147e5c31af7Sopenharmony_ci
148e5c31af7Sopenharmony_ciMAIN_GLES3_COMMON_FILTERS		= [
149e5c31af7Sopenharmony_ci		include("gles3-master.txt"),
150e5c31af7Sopenharmony_ci		exclude("gles3-hw-issues.txt"),
151e5c31af7Sopenharmony_ci		exclude("gles3-driver-issues.txt"),
152e5c31af7Sopenharmony_ci		exclude("gles3-test-issues.txt"),
153e5c31af7Sopenharmony_ci		exclude("gles3-spec-issues.txt"),
154e5c31af7Sopenharmony_ci		exclude("gles3-temp-excluded.txt"),
155e5c31af7Sopenharmony_ci		exclude("gles3-waivers.txt"),
156e5c31af7Sopenharmony_ci	]
157e5c31af7Sopenharmony_ciMAIN_GLES3_PKG				= Package(module = GLES3_MODULE, configurations = [
158e5c31af7Sopenharmony_ci		# Main
159e5c31af7Sopenharmony_ci		Configuration(name			= "master-2020-03-01",
160e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
161e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
162e5c31af7Sopenharmony_ci					  surfacetype	= "window",
163e5c31af7Sopenharmony_ci					  required		= True,
164e5c31af7Sopenharmony_ci					  filters		= [include("gles3-master-2020-03-01.txt")],
165e5c31af7Sopenharmony_ci					  runtime		= "1h50m"),
166e5c31af7Sopenharmony_ci		Configuration(name			= "master-2021-03-01",
167e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
168e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
169e5c31af7Sopenharmony_ci					  surfacetype	= "window",
170e5c31af7Sopenharmony_ci					  required		= True,
171e5c31af7Sopenharmony_ci					  filters		= [include("gles3-master-2021-03-01.txt")],
172e5c31af7Sopenharmony_ci					  runtime		= "10m"),
173e5c31af7Sopenharmony_ci		Configuration(name			= "master-2022-03-01",
174e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
175e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
176e5c31af7Sopenharmony_ci					  surfacetype	= "window",
177e5c31af7Sopenharmony_ci					  required		= True,
178e5c31af7Sopenharmony_ci					  filters		= [include("gles3-master-2022-03-01.txt")],
179e5c31af7Sopenharmony_ci					  runtime		= "10m"),
180e5c31af7Sopenharmony_ci		Configuration(name			= "master-2023-03-01",
181e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
182e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
183e5c31af7Sopenharmony_ci					  surfacetype	= "window",
184e5c31af7Sopenharmony_ci					  required		= True,
185e5c31af7Sopenharmony_ci					  filters		= [include("gles3-master-2023-03-01.txt")],
186e5c31af7Sopenharmony_ci					  runtime		= "10m"),
187e5c31af7Sopenharmony_ci		Configuration(name			= "master-2024-03-01",
188e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
189e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
190e5c31af7Sopenharmony_ci					  surfacetype	= "window",
191e5c31af7Sopenharmony_ci					  required		= True,
192e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt", "gles3-master-2021-03-01.txt", "gles3-master-2022-03-01.txt", "gles3-master-2023-03-01.txt")],
193e5c31af7Sopenharmony_ci					  runtime		= "10m"),
194e5c31af7Sopenharmony_ci		# Rotations
195e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-portrait",
196e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
197e5c31af7Sopenharmony_ci					  rotation		= "0",
198e5c31af7Sopenharmony_ci					  surfacetype	= "window",
199e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
200e5c31af7Sopenharmony_ci					  runtime		= "1m"),
201e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-landscape",
202e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
203e5c31af7Sopenharmony_ci					  rotation		= "90",
204e5c31af7Sopenharmony_ci					  surfacetype	= "window",
205e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
206e5c31af7Sopenharmony_ci					  runtime		= "1m"),
207e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-reverse-portrait",
208e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
209e5c31af7Sopenharmony_ci					  rotation		= "180",
210e5c31af7Sopenharmony_ci					  surfacetype	= "window",
211e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
212e5c31af7Sopenharmony_ci					  runtime		= "1m"),
213e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-reverse-landscape",
214e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
215e5c31af7Sopenharmony_ci					  rotation		= "270",
216e5c31af7Sopenharmony_ci					  surfacetype	= "window",
217e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
218e5c31af7Sopenharmony_ci					  runtime		= "1m"),
219e5c31af7Sopenharmony_ci
220e5c31af7Sopenharmony_ci		# MSAA
221e5c31af7Sopenharmony_ci		Configuration(name			= "multisample",
222e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms4",
223e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
224e5c31af7Sopenharmony_ci					  surfacetype	= "window",
225e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
226e5c31af7Sopenharmony_ci																	 exclude("gles3-multisample-issues.txt")],
227e5c31af7Sopenharmony_ci					  runtime		= "1m"),
228e5c31af7Sopenharmony_ci
229e5c31af7Sopenharmony_ci		# Pixel format
230e5c31af7Sopenharmony_ci		Configuration(name			= "565-no-depth-no-stencil",
231e5c31af7Sopenharmony_ci					  glconfig		= "rgb565d0s0ms0",
232e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
233e5c31af7Sopenharmony_ci					  surfacetype	= "window",
234e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
235e5c31af7Sopenharmony_ci																	 exclude("gles3-pixelformat-issues.txt")],
236e5c31af7Sopenharmony_ci					  runtime		= "1m"),
237e5c31af7Sopenharmony_ci		# Incremental dEQP
238e5c31af7Sopenharmony_ci		Configuration(name			= "incremental-deqp",
239e5c31af7Sopenharmony_ci					  filters		= [include("gles3-incremental-deqp.txt")],
240e5c31af7Sopenharmony_ci					  runtime		= "5m",
241e5c31af7Sopenharmony_ci					  runByDefault	= False),
242e5c31af7Sopenharmony_ci	])
243e5c31af7Sopenharmony_ci
244e5c31af7Sopenharmony_ciMAIN_GLES31_COMMON_FILTERS	= [
245e5c31af7Sopenharmony_ci		include("gles31-master.txt"),
246e5c31af7Sopenharmony_ci		exclude("gles31-hw-issues.txt"),
247e5c31af7Sopenharmony_ci		exclude("gles31-driver-issues.txt"),
248e5c31af7Sopenharmony_ci		exclude("gles31-test-issues.txt"),
249e5c31af7Sopenharmony_ci		exclude("gles31-spec-issues.txt"),
250e5c31af7Sopenharmony_ci		exclude("gles31-temp-excluded.txt"),
251e5c31af7Sopenharmony_ci		exclude("gles31-waivers.txt"),
252e5c31af7Sopenharmony_ci	]
253e5c31af7Sopenharmony_ciMAIN_GLES31_PKG				= Package(module = GLES31_MODULE, configurations = [
254e5c31af7Sopenharmony_ci		Configuration(name			= "master-2020-03-01",
255e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
256e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
257e5c31af7Sopenharmony_ci					  surfacetype	= "window",
258e5c31af7Sopenharmony_ci					  required		= True,
259e5c31af7Sopenharmony_ci					  filters		= [include("gles31-master-2020-03-01.txt")],
260e5c31af7Sopenharmony_ci					  runtime		= "1h40m"),
261e5c31af7Sopenharmony_ci		Configuration(name			= "master-2021-03-01",
262e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
263e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
264e5c31af7Sopenharmony_ci					  surfacetype	= "window",
265e5c31af7Sopenharmony_ci					  required		= True,
266e5c31af7Sopenharmony_ci					  filters		= [include("gles31-master-2021-03-01.txt")],
267e5c31af7Sopenharmony_ci					  runtime		= "10m"),
268e5c31af7Sopenharmony_ci		Configuration(name			= "master-2022-03-01",
269e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
270e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
271e5c31af7Sopenharmony_ci					  surfacetype	= "window",
272e5c31af7Sopenharmony_ci					  required		= True,
273e5c31af7Sopenharmony_ci					  filters		= [include("gles31-master-2022-03-01.txt")],
274e5c31af7Sopenharmony_ci					  runtime		= "10m"),
275e5c31af7Sopenharmony_ci		Configuration(name			= "master-2023-03-01",
276e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
277e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
278e5c31af7Sopenharmony_ci					  surfacetype	= "window",
279e5c31af7Sopenharmony_ci					  required		= True,
280e5c31af7Sopenharmony_ci					  filters		= [include("gles31-master-2023-03-01.txt")],
281e5c31af7Sopenharmony_ci					  runtime		= "10m"),
282e5c31af7Sopenharmony_ci		Configuration(name			= "master-2024-03-01",
283e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
284e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
285e5c31af7Sopenharmony_ci					  surfacetype	= "window",
286e5c31af7Sopenharmony_ci					  required		= True,
287e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt", "gles31-master-2021-03-01.txt", "gles31-master-2022-03-01.txt", "gles31-master-2023-03-01.txt")],
288e5c31af7Sopenharmony_ci					  runtime		= "10m"),
289e5c31af7Sopenharmony_ci		# Rotations
290e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-portrait",
291e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
292e5c31af7Sopenharmony_ci					  rotation		= "0",
293e5c31af7Sopenharmony_ci					  surfacetype	= "window",
294e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
295e5c31af7Sopenharmony_ci					  runtime		= "1m30s"),
296e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-landscape",
297e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
298e5c31af7Sopenharmony_ci					  rotation		= "90",
299e5c31af7Sopenharmony_ci					  surfacetype	= "window",
300e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
301e5c31af7Sopenharmony_ci					  runtime		= "1m30s"),
302e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-reverse-portrait",
303e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
304e5c31af7Sopenharmony_ci					  rotation		= "180",
305e5c31af7Sopenharmony_ci					  surfacetype	= "window",
306e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
307e5c31af7Sopenharmony_ci					  runtime		= "1m30s"),
308e5c31af7Sopenharmony_ci		Configuration(name			= "rotate-reverse-landscape",
309e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms0",
310e5c31af7Sopenharmony_ci					  rotation		= "270",
311e5c31af7Sopenharmony_ci					  surfacetype	= "window",
312e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
313e5c31af7Sopenharmony_ci					  runtime		= "1m30s"),
314e5c31af7Sopenharmony_ci
315e5c31af7Sopenharmony_ci		# MSAA
316e5c31af7Sopenharmony_ci		Configuration(name			= "multisample",
317e5c31af7Sopenharmony_ci					  glconfig		= "rgba8888d24s8ms4",
318e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
319e5c31af7Sopenharmony_ci					  surfacetype	= "window",
320e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
321e5c31af7Sopenharmony_ci					  runtime		= "2m"),
322e5c31af7Sopenharmony_ci
323e5c31af7Sopenharmony_ci		# Pixel format
324e5c31af7Sopenharmony_ci		Configuration(name			= "565-no-depth-no-stencil",
325e5c31af7Sopenharmony_ci					  glconfig		= "rgb565d0s0ms0",
326e5c31af7Sopenharmony_ci					  rotation		= "unspecified",
327e5c31af7Sopenharmony_ci					  surfacetype	= "window",
328e5c31af7Sopenharmony_ci					  filters		= MAIN_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
329e5c31af7Sopenharmony_ci					  runtime		= "1m"),
330e5c31af7Sopenharmony_ci	])
331e5c31af7Sopenharmony_ci
332e5c31af7Sopenharmony_ciMAIN_VULKAN_FILTERS			= [
333e5c31af7Sopenharmony_ci		include("vk-master.txt"),
334e5c31af7Sopenharmony_ci		exclude("vk-not-applicable.txt"),
335e5c31af7Sopenharmony_ci		exclude("vk-excluded-tests.txt"),
336e5c31af7Sopenharmony_ci		exclude("vk-test-issues.txt"),
337e5c31af7Sopenharmony_ci		exclude("vk-waivers.txt"),
338e5c31af7Sopenharmony_ci		exclude("vk-temp-excluded.txt"),
339e5c31af7Sopenharmony_ci	]
340e5c31af7Sopenharmony_ciMAIN_VULKAN_PKG				= Package(module = VULKAN_MODULE, configurations = [
341e5c31af7Sopenharmony_ci		Configuration(name					= "master-2019-03-01",
342e5c31af7Sopenharmony_ci					  filters				= [include("vk-master-2019-03-01.txt")],
343e5c31af7Sopenharmony_ci					  runtime				= "2h29m",
344e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK"]),
345e5c31af7Sopenharmony_ci		Configuration(name					= "master-2020-03-01",
346e5c31af7Sopenharmony_ci					  filters				= [include("vk-master-2020-03-01.txt")],
347e5c31af7Sopenharmony_ci					  runtime				= "2h29m",
348e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK"]),
349e5c31af7Sopenharmony_ci		Configuration(name					= "master-2021-03-01",
350e5c31af7Sopenharmony_ci					  filters				= [include("vk-master-2021-03-01.txt")],
351e5c31af7Sopenharmony_ci					  runtime				= "2h29m",
352e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK"]),
353e5c31af7Sopenharmony_ci		Configuration(name					= "master-2022-03-01",
354e5c31af7Sopenharmony_ci					  filters				= [include("vk-master-2022-03-01.txt")],
355e5c31af7Sopenharmony_ci					  runtime				= "10m",
356e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK", "dEQP-VK.pipeline", "dEQP-VK.image", "dEQP-VK.shader_object"]),
357e5c31af7Sopenharmony_ci		Configuration(name					= "master-2023-03-01",
358e5c31af7Sopenharmony_ci					  filters				= [include("vk-master-2023-03-01-part1.txt", "vk-master-2023-03-01-part2.txt")],
359e5c31af7Sopenharmony_ci					  runtime				= "10m",
360e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK", "dEQP-VK.pipeline", "dEQP-VK.image", "dEQP-VK.shader_object"]),
361e5c31af7Sopenharmony_ci		Configuration(name					= "master-2024-03-01",
362e5c31af7Sopenharmony_ci					  filters				= MAIN_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt", "vk-master-2020-03-01.txt", "vk-master-2021-03-01.txt", "vk-master-2022-03-01.txt", "vk-master-2023-03-01-part1.txt", "vk-master-2023-03-01-part2.txt")],
363e5c31af7Sopenharmony_ci					  runtime				= "10m",
364e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK", "dEQP-VK.pipeline", "dEQP-VK.image", "dEQP-VK.shader_object"]),
365e5c31af7Sopenharmony_ci		Configuration(name					= "incremental-deqp",
366e5c31af7Sopenharmony_ci					  filters				= [include("vk-incremental-deqp.txt")],
367e5c31af7Sopenharmony_ci					  runtime				= "5m",
368e5c31af7Sopenharmony_ci					  runByDefault			= False,
369e5c31af7Sopenharmony_ci					  listOfGroupsToSplit	= ["dEQP-VK"]),
370e5c31af7Sopenharmony_ci	])
371e5c31af7Sopenharmony_ci
372e5c31af7Sopenharmony_ciMUSTPASS_LISTS				= [
373e5c31af7Sopenharmony_ci		Mustpass(project = CTS_PROJECT, version = "main",		packages = [MAIN_EGL_PKG, MAIN_GLES2_PKG, MAIN_GLES3_PKG, MAIN_GLES31_PKG, MAIN_VULKAN_PKG])
374e5c31af7Sopenharmony_ci	]
375e5c31af7Sopenharmony_ci
376e5c31af7Sopenharmony_ciif __name__ == "__main__":
377e5c31af7Sopenharmony_ci	genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())
378