• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# -*- coding: utf-8 -*-
2
3#-------------------------------------------------------------------------
4# drawElements Quality Program utilities
5# --------------------------------------
6#
7# Copyright 2015 The Android Open Source Project
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13#      http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21#-------------------------------------------------------------------------
22
23from build.common import DEQP_DIR
24from build.config import ANY_GENERATOR
25from build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
26from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists, parseBuildConfigFromCmdLineArgs
27
28import os
29
30COPYRIGHT_DECLARATION = """
31     Copyright (C) 2016 The Android Open Source Project
32
33     Licensed under the Apache License, Version 2.0 (the "License");
34     you may not use this file except in compliance with the License.
35     You may obtain a copy of the License at
36
37          http://www.apache.org/licenses/LICENSE-2.0
38
39     Unless required by applicable law or agreed to in writing, software
40     distributed under the License is distributed on an "AS IS" BASIS,
41     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42     See the License for the specific language governing permissions and
43     limitations under the License.
44     """
45
46CTS_DATA_DIR					= os.path.join(DEQP_DIR, "android", "cts")
47
48CTS_PROJECT						= Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
49
50EGL_MODULE						= getModuleByName("dEQP-EGL")
51GLES2_MODULE					= getModuleByName("dEQP-GLES2")
52GLES3_MODULE					= getModuleByName("dEQP-GLES3")
53GLES31_MODULE					= getModuleByName("dEQP-GLES31")
54VULKAN_MODULE					= getModuleByName("dEQP-VK")
55
56# Master
57
58MASTER_EGL_COMMON_FILTERS		= [include("egl-master.txt"),
59								   exclude("egl-test-issues.txt"),
60								   exclude("egl-manual-robustness.txt"),
61								   exclude("egl-driver-issues.txt"),
62								   exclude("egl-temp-excluded.txt")]
63MASTER_EGL_PKG					= Package(module = EGL_MODULE, configurations = [
64		# Master
65		Configuration(name			= "master",
66					  glconfig		= "rgba8888d24s8ms0",
67					  rotation		= "unspecified",
68					  surfacetype	= "window",
69					  required		= True,
70					  filters		= MASTER_EGL_COMMON_FILTERS,
71				      runtime		= "23m"),
72		# Risky subset
73		Configuration(name			= "master-risky",
74					  glconfig		= "rgba8888d24s8ms0",
75					  rotation		= "unspecified",
76					  surfacetype	= "window",
77					  required		= True,
78					  filters		= [include("egl-temp-excluded.txt")],
79				      runtime		= "2m"),
80	])
81
82MASTER_GLES2_COMMON_FILTERS		= [
83		include("gles2-master.txt"),
84		exclude("gles2-test-issues.txt"),
85		exclude("gles2-failures.txt"),
86		exclude("gles2-temp-excluded.txt"),
87	]
88MASTER_GLES2_PKG				= Package(module = GLES2_MODULE, configurations = [
89		# Master
90		Configuration(name			= "master",
91					  glconfig		= "rgba8888d24s8ms0",
92					  rotation		= "unspecified",
93					  surfacetype	= "window",
94					  required		= True,
95					  filters		= MASTER_GLES2_COMMON_FILTERS,
96					  runtime		= "46m",
97					  runByDefault		= False),
98		Configuration(name			= "master-2020-03-01",
99					  glconfig		= "rgba8888d24s8ms0",
100					  rotation		= "unspecified",
101					  surfacetype	= "window",
102					  required		= True,
103					  filters		= [include("gles2-master-2020-03-01.txt")],
104					  runtime		= "46m"),
105		Configuration(name			= "master-2021-03-01",
106					  glconfig		= "rgba8888d24s8ms0",
107					  rotation		= "unspecified",
108					  surfacetype	= "window",
109					  required		= True,
110					  filters		= MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
111					  runtime		= "10m"),
112	])
113
114MASTER_GLES3_COMMON_FILTERS		= [
115		include("gles3-master.txt"),
116		exclude("gles3-hw-issues.txt"),
117		exclude("gles3-driver-issues.txt"),
118		exclude("gles3-test-issues.txt"),
119		exclude("gles3-spec-issues.txt"),
120		exclude("gles3-temp-excluded.txt"),
121	]
122MASTER_GLES3_PKG				= Package(module = GLES3_MODULE, configurations = [
123		# Master
124		Configuration(name			= "master",
125					  glconfig		= "rgba8888d24s8ms0",
126					  rotation		= "unspecified",
127					  surfacetype	= "window",
128					  required		= True,
129					  filters		= MASTER_GLES3_COMMON_FILTERS,
130					  runtime		= "1h50m",
131					  runByDefault	= False),
132		Configuration(name			= "master-2020-03-01",
133					  glconfig		= "rgba8888d24s8ms0",
134					  rotation		= "unspecified",
135					  surfacetype	= "window",
136					  required		= True,
137					  filters		= [include("gles3-master-2020-03-01.txt")],
138					  runtime		= "1h50m"),
139		Configuration(name			= "master-2021-03-01",
140					  glconfig		= "rgba8888d24s8ms0",
141					  rotation		= "unspecified",
142					  surfacetype	= "window",
143					  required		= True,
144					  filters		= MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
145					  runtime		= "10m"),
146		# Rotations
147		Configuration(name			= "rotate-portrait",
148					  glconfig		= "rgba8888d24s8ms0",
149					  rotation		= "0",
150					  surfacetype	= "window",
151					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
152					  runtime		= "1m"),
153		Configuration(name			= "rotate-landscape",
154					  glconfig		= "rgba8888d24s8ms0",
155					  rotation		= "90",
156					  surfacetype	= "window",
157					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
158					  runtime		= "1m"),
159		Configuration(name			= "rotate-reverse-portrait",
160					  glconfig		= "rgba8888d24s8ms0",
161					  rotation		= "180",
162					  surfacetype	= "window",
163					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
164					  runtime		= "1m"),
165		Configuration(name			= "rotate-reverse-landscape",
166					  glconfig		= "rgba8888d24s8ms0",
167					  rotation		= "270",
168					  surfacetype	= "window",
169					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
170					  runtime		= "1m"),
171
172		# MSAA
173		Configuration(name			= "multisample",
174					  glconfig		= "rgba8888d24s8ms4",
175					  rotation		= "unspecified",
176					  surfacetype	= "window",
177					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
178																	 exclude("gles3-multisample-issues.txt")],
179					  runtime		= "1m"),
180
181		# Pixel format
182		Configuration(name			= "565-no-depth-no-stencil",
183					  glconfig		= "rgb565d0s0ms0",
184					  rotation		= "unspecified",
185					  surfacetype	= "window",
186					  filters		= MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
187																	 exclude("gles3-pixelformat-issues.txt")],
188					  runtime		= "1m"),
189		# Incremental dEQP
190		Configuration(name			= "incremental-deqp",
191					  filters		= [include("gles3-incremental-deqp.txt")],
192					  runtime		= "5m",
193					  runByDefault	= False),
194	])
195
196MASTER_GLES31_COMMON_FILTERS	= [
197		include("gles31-master.txt"),
198		exclude("gles31-hw-issues.txt"),
199		exclude("gles31-driver-issues.txt"),
200		exclude("gles31-test-issues.txt"),
201		exclude("gles31-spec-issues.txt"),
202		exclude("gles31-temp-excluded.txt"),
203	]
204MASTER_GLES31_PKG				= Package(module = GLES31_MODULE, configurations = [
205		# Master
206		Configuration(name			= "master",
207					  glconfig		= "rgba8888d24s8ms0",
208					  rotation		= "unspecified",
209					  surfacetype	= "window",
210					  required		= True,
211					  filters		= MASTER_GLES31_COMMON_FILTERS,
212					  runtime		= "1h40m",
213					  runByDefault		= False),
214		Configuration(name			= "master-2020-03-01",
215					  glconfig		= "rgba8888d24s8ms0",
216					  rotation		= "unspecified",
217					  surfacetype	= "window",
218					  required		= True,
219					  filters		= [include("gles31-master-2020-03-01.txt")],
220					  runtime		= "1h40m"),
221		Configuration(name			= "master-2021-03-01",
222					  glconfig		= "rgba8888d24s8ms0",
223					  rotation		= "unspecified",
224					  surfacetype	= "window",
225					  required		= True,
226					  filters		= MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
227					  runtime		= "10m"),
228
229		# Rotations
230		Configuration(name			= "rotate-portrait",
231					  glconfig		= "rgba8888d24s8ms0",
232					  rotation		= "0",
233					  surfacetype	= "window",
234					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
235					  runtime		= "1m30s"),
236		Configuration(name			= "rotate-landscape",
237					  glconfig		= "rgba8888d24s8ms0",
238					  rotation		= "90",
239					  surfacetype	= "window",
240					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
241					  runtime		= "1m30s"),
242		Configuration(name			= "rotate-reverse-portrait",
243					  glconfig		= "rgba8888d24s8ms0",
244					  rotation		= "180",
245					  surfacetype	= "window",
246					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
247					  runtime		= "1m30s"),
248		Configuration(name			= "rotate-reverse-landscape",
249					  glconfig		= "rgba8888d24s8ms0",
250					  rotation		= "270",
251					  surfacetype	= "window",
252					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
253					  runtime		= "1m30s"),
254
255		# MSAA
256		Configuration(name			= "multisample",
257					  glconfig		= "rgba8888d24s8ms4",
258					  rotation		= "unspecified",
259					  surfacetype	= "window",
260					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
261					  runtime		= "2m"),
262
263		# Pixel format
264		Configuration(name			= "565-no-depth-no-stencil",
265					  glconfig		= "rgb565d0s0ms0",
266					  rotation		= "unspecified",
267					  surfacetype	= "window",
268					  filters		= MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
269					  runtime		= "1m"),
270	])
271
272MASTER_VULKAN_FILTERS			= [
273		include("vk-master.txt"),
274		exclude("vk-not-applicable.txt"),
275		exclude("vk-excluded-tests.txt"),
276		exclude("vk-test-issues.txt"),
277		exclude("vk-waivers.txt"),
278		exclude("vk-temp-excluded.txt"),
279	]
280MASTER_VULKAN_PKG				= Package(module = VULKAN_MODULE, configurations = [
281		Configuration(name					= "master",
282					  filters				= MASTER_VULKAN_FILTERS,
283					  runtime				= "2h39m",
284					  runByDefault			= False,
285					  splitToMultipleFiles	= True),
286		Configuration(name					= "master-2019-03-01",
287					  filters				= [include("vk-master-2019-03-01.txt")],
288					  runtime				= "2h29m",
289					  splitToMultipleFiles	= True),
290		Configuration(name					= "master-2020-03-01",
291					  filters				= [include("vk-master-2020-03-01.txt")],
292					  runtime				= "2h29m",
293					  splitToMultipleFiles	= True),
294		Configuration(name					= "master-2021-03-01",
295					  filters				= MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
296					  runtime				= "10m",
297					  splitToMultipleFiles	= True),
298		Configuration(name					= "incremental-deqp",
299					  filters				= [include("vk-incremental-deqp.txt")],
300					  runtime				= "5m",
301					  runByDefault			= False,
302					  splitToMultipleFiles	= True),
303	])
304
305MUSTPASS_LISTS				= [
306		Mustpass(project = CTS_PROJECT, version = "master",		packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
307	]
308
309if __name__ == "__main__":
310	genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())
311