1 # -*- coding: utf-8 -*-
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
7 # Copyright 2015 The Android Open Source Project
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
13 # http://www.apache.org/licenses/LICENSE-2.0
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.
21 #-------------------------------------------------------------------------
23 from build.common import DEQP_DIR
24 from build.config import ANY_GENERATOR
25 from build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
26 from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists
30 COPYRIGHT_DECLARATION = """
31 Copyright (C) 2015 The Android Open Source Project
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
37 http://www.apache.org/licenses/LICENSE-2.0
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.
46 CTS_DATA_DIR = os.path.join(DEQP_DIR, "android", "cts")
48 CTS_PROJECT = Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
50 EGL_MODULE = getModuleByName("dEQP-EGL")
51 GLES2_MODULE = getModuleByName("dEQP-GLES2")
52 GLES3_MODULE = getModuleByName("dEQP-GLES3")
53 GLES31_MODULE = getModuleByName("dEQP-GLES31")
54 VULKAN_MODULE = getModuleByName("dEQP-VK")
58 LMP_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
59 Configuration(name = "master",
60 glconfig = "rgba8888d24s8ms0",
61 rotation = "unspecified",
62 surfacetype = "window",
63 filters = [include("es30-lmp.txt")]),
65 LMP_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
66 Configuration(name = "master",
67 glconfig = "rgba8888d24s8ms0",
68 rotation = "unspecified",
69 surfacetype = "window",
70 filters = [include("es31-lmp.txt")]),
75 LMP_MR1_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
76 Configuration(name = "master",
77 glconfig = "rgba8888d24s8ms0",
78 rotation = "unspecified",
79 surfacetype = "window",
80 filters = [include("es30-lmp-mr1.txt")]),
82 LMP_MR1_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
83 Configuration(name = "master",
84 glconfig = "rgba8888d24s8ms0",
85 rotation = "unspecified",
86 surfacetype = "window",
87 filters = [include("es31-lmp-mr1.txt")]),
92 MNC_EGL_PKG = Package(module = EGL_MODULE, configurations = [
94 Configuration(name = "master",
95 glconfig = "rgba8888d24s8ms0",
96 rotation = "unspecified",
97 surfacetype = "window",
98 filters = [include("egl-master.txt")]),
100 MNC_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
102 Configuration(name = "master",
103 glconfig = "rgba8888d24s8ms0",
104 rotation = "unspecified",
105 surfacetype = "window",
106 filters = [include("gles2-master.txt")]),
108 MNC_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
110 Configuration(name = "master",
111 glconfig = "rgba8888d24s8ms0",
112 rotation = "unspecified",
113 surfacetype = "window",
114 filters = [include("gles3-master.txt")]),
116 Configuration(name = "rotate-portrait",
117 glconfig = "rgba8888d24s8ms0",
119 surfacetype = "window",
120 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
121 Configuration(name = "rotate-landscape",
122 glconfig = "rgba8888d24s8ms0",
124 surfacetype = "window",
125 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
126 Configuration(name = "rotate-reverse-portrait",
127 glconfig = "rgba8888d24s8ms0",
129 surfacetype = "window",
130 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
131 Configuration(name = "rotate-reverse-landscape",
132 glconfig = "rgba8888d24s8ms0",
134 surfacetype = "window",
135 filters = [include("gles3-master.txt"), include("gles3-rotation.txt")]),
138 Configuration(name = "multisample",
139 glconfig = "rgba8888d24s8ms4",
140 rotation = "unspecified",
141 surfacetype = "window",
142 filters = [include("gles3-master.txt"),
143 include("gles3-multisample.txt"),
144 exclude("gles3-multisample-issues.txt")]),
147 Configuration(name = "565-no-depth-no-stencil",
148 glconfig = "rgb565d0s0ms0",
149 rotation = "unspecified",
150 surfacetype = "window",
151 filters = [include("gles3-master.txt"),
152 include("gles3-pixelformat.txt"),
153 exclude("gles3-pixelformat-issues.txt")]),
155 MNC_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
157 Configuration(name = "master",
158 glconfig = "rgba8888d24s8ms0",
159 rotation = "unspecified",
160 surfacetype = "window",
161 filters = [include("gles31-master.txt")]),
164 Configuration(name = "rotate-portrait",
165 glconfig = "rgba8888d24s8ms0",
167 surfacetype = "window",
168 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
169 Configuration(name = "rotate-landscape",
170 glconfig = "rgba8888d24s8ms0",
172 surfacetype = "window",
173 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
174 Configuration(name = "rotate-reverse-portrait",
175 glconfig = "rgba8888d24s8ms0",
177 surfacetype = "window",
178 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
179 Configuration(name = "rotate-reverse-landscape",
180 glconfig = "rgba8888d24s8ms0",
182 surfacetype = "window",
183 filters = [include("gles31-master.txt"), include("gles31-rotation.txt")]),
186 Configuration(name = "multisample",
187 glconfig = "rgba8888d24s8ms4",
188 rotation = "unspecified",
189 surfacetype = "window",
190 filters = [include("gles31-master.txt"), include("gles31-multisample.txt")]),
193 Configuration(name = "565-no-depth-no-stencil",
194 glconfig = "rgb565d0s0ms0",
195 rotation = "unspecified",
196 surfacetype = "window",
197 filters = [include("gles31-master.txt"), include("gles31-pixelformat.txt")]),
202 MASTER_EGL_COMMON_FILTERS = [include("egl-master.txt")]
203 MASTER_EGL_PKG = Package(module = EGL_MODULE, configurations = [
205 Configuration(name = "master",
206 glconfig = "rgba8888d24s8ms0",
207 rotation = "unspecified",
208 surfacetype = "window",
209 filters = MASTER_EGL_COMMON_FILTERS),
212 MASTER_GLES2_COMMON_FILTERS = [
213 include("gles2-master.txt"),
214 exclude("gles2-test-issues.txt"),
215 exclude("gles2-failures.txt")
217 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
219 Configuration(name = "master",
220 glconfig = "rgba8888d24s8ms0",
221 rotation = "unspecified",
222 surfacetype = "window",
223 filters = MASTER_GLES2_COMMON_FILTERS),
226 MASTER_GLES3_COMMON_FILTERS = [
227 include("gles3-master.txt"),
228 exclude("gles3-hw-issues.txt"),
229 exclude("gles3-driver-issues.txt"),
230 exclude("gles3-test-issues.txt"),
231 exclude("gles3-spec-issues.txt")
233 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
235 Configuration(name = "master",
236 glconfig = "rgba8888d24s8ms0",
237 rotation = "unspecified",
238 surfacetype = "window",
239 filters = MASTER_GLES3_COMMON_FILTERS),
241 Configuration(name = "rotate-portrait",
242 glconfig = "rgba8888d24s8ms0",
244 surfacetype = "window",
245 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
246 Configuration(name = "rotate-landscape",
247 glconfig = "rgba8888d24s8ms0",
249 surfacetype = "window",
250 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
251 Configuration(name = "rotate-reverse-portrait",
252 glconfig = "rgba8888d24s8ms0",
254 surfacetype = "window",
255 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
256 Configuration(name = "rotate-reverse-landscape",
257 glconfig = "rgba8888d24s8ms0",
259 surfacetype = "window",
260 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")]),
263 Configuration(name = "multisample",
264 glconfig = "rgba8888d24s8ms4",
265 rotation = "unspecified",
266 surfacetype = "window",
267 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
268 exclude("gles3-multisample-issues.txt")]),
271 Configuration(name = "565-no-depth-no-stencil",
272 glconfig = "rgb565d0s0ms0",
273 rotation = "unspecified",
274 surfacetype = "window",
275 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
276 exclude("gles3-pixelformat-issues.txt")]),
279 MASTER_GLES31_COMMON_FILTERS = [
280 include("gles31-master.txt"),
281 exclude("gles31-hw-issues.txt"),
282 exclude("gles31-driver-issues.txt"),
283 exclude("gles31-test-issues.txt"),
284 exclude("gles31-spec-issues.txt"),
286 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
288 Configuration(name = "master",
289 glconfig = "rgba8888d24s8ms0",
290 rotation = "unspecified",
291 surfacetype = "window",
292 filters = MASTER_GLES31_COMMON_FILTERS),
295 Configuration(name = "rotate-portrait",
296 glconfig = "rgba8888d24s8ms0",
298 surfacetype = "window",
299 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
300 Configuration(name = "rotate-landscape",
301 glconfig = "rgba8888d24s8ms0",
303 surfacetype = "window",
304 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
305 Configuration(name = "rotate-reverse-portrait",
306 glconfig = "rgba8888d24s8ms0",
308 surfacetype = "window",
309 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
310 Configuration(name = "rotate-reverse-landscape",
311 glconfig = "rgba8888d24s8ms0",
313 surfacetype = "window",
314 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")]),
317 Configuration(name = "multisample",
318 glconfig = "rgba8888d24s8ms4",
319 rotation = "unspecified",
320 surfacetype = "window",
321 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")]),
324 Configuration(name = "565-no-depth-no-stencil",
325 glconfig = "rgb565d0s0ms0",
326 rotation = "unspecified",
327 surfacetype = "window",
328 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")]),
332 Mustpass(project = CTS_PROJECT, version = "lmp", packages = [LMP_GLES3_PKG, LMP_GLES31_PKG]),
333 Mustpass(project = CTS_PROJECT, version = "lmp-mr1", packages = [LMP_MR1_GLES3_PKG, LMP_MR1_GLES31_PKG]),
334 Mustpass(project = CTS_PROJECT, version = "mnc", packages = [MNC_EGL_PKG, MNC_GLES2_PKG, MNC_GLES3_PKG, MNC_GLES31_PKG]),
335 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG])
338 BUILD_CONFIG = getBuildConfig(DEFAULT_BUILD_DIR, DEFAULT_TARGET, "Debug")
340 if __name__ == "__main__":
341 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, BUILD_CONFIG)