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, parseBuildConfigFromCmdLineArgs
30 COPYRIGHT_DECLARATION = """
31 Copyright (C) 2016 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 MASTER_EGL_COMMON_FILTERS = [include("egl-master.txt"),
59 exclude("egl-test-issues.txt"),
60 exclude("egl-internal-api-tests.txt"),
61 exclude("egl-manual-robustness.txt"),
62 exclude("egl-driver-issues.txt"),
63 exclude("egl-temp-excluded.txt")]
64 MASTER_EGL_PKG = Package(module = EGL_MODULE, configurations = [
66 Configuration(name = "master",
67 glconfig = "rgba8888d24s8ms0",
68 rotation = "unspecified",
69 surfacetype = "window",
71 filters = MASTER_EGL_COMMON_FILTERS,
74 Configuration(name = "master-risky",
75 glconfig = "rgba8888d24s8ms0",
76 rotation = "unspecified",
77 surfacetype = "window",
79 filters = [include("egl-temp-excluded.txt")],
83 MASTER_GLES2_COMMON_FILTERS = [
84 include("gles2-master.txt"),
85 exclude("gles2-test-issues.txt"),
86 exclude("gles2-failures.txt"),
87 exclude("gles2-temp-excluded.txt"),
89 MASTER_GLES2_PKG = Package(module = GLES2_MODULE, configurations = [
91 Configuration(name = "master",
92 glconfig = "rgba8888d24s8ms0",
93 rotation = "unspecified",
94 surfacetype = "window",
96 filters = MASTER_GLES2_COMMON_FILTERS,
99 Configuration(name = "master-risky",
100 glconfig = "rgba8888d24s8ms0",
101 rotation = "unspecified",
102 surfacetype = "window",
103 filters = [include("gles2-temp-excluded.txt")],
107 MASTER_GLES3_COMMON_FILTERS = [
108 include("gles3-master.txt"),
109 exclude("gles3-hw-issues.txt"),
110 exclude("gles3-driver-issues.txt"),
111 exclude("gles3-test-issues.txt"),
112 exclude("gles3-spec-issues.txt"),
113 exclude("gles3-temp-excluded.txt"),
115 MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
117 Configuration(name = "master",
118 glconfig = "rgba8888d24s8ms0",
119 rotation = "unspecified",
120 surfacetype = "window",
122 filters = MASTER_GLES3_COMMON_FILTERS,
125 Configuration(name = "master-risky",
126 glconfig = "rgba8888d24s8ms0",
127 rotation = "unspecified",
128 surfacetype = "window",
129 filters = [include("gles3-temp-excluded.txt")],
132 Configuration(name = "rotate-portrait",
133 glconfig = "rgba8888d24s8ms0",
135 surfacetype = "window",
136 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
138 Configuration(name = "rotate-landscape",
139 glconfig = "rgba8888d24s8ms0",
141 surfacetype = "window",
142 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
144 Configuration(name = "rotate-reverse-portrait",
145 glconfig = "rgba8888d24s8ms0",
147 surfacetype = "window",
148 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
150 Configuration(name = "rotate-reverse-landscape",
151 glconfig = "rgba8888d24s8ms0",
153 surfacetype = "window",
154 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
158 Configuration(name = "multisample",
159 glconfig = "rgba8888d24s8ms4",
160 rotation = "unspecified",
161 surfacetype = "window",
162 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
163 exclude("gles3-multisample-issues.txt")],
167 Configuration(name = "565-no-depth-no-stencil",
168 glconfig = "rgb565d0s0ms0",
169 rotation = "unspecified",
170 surfacetype = "window",
171 filters = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
172 exclude("gles3-pixelformat-issues.txt")],
176 MASTER_GLES31_COMMON_FILTERS = [
177 include("gles31-master.txt"),
178 exclude("gles31-hw-issues.txt"),
179 exclude("gles31-driver-issues.txt"),
180 exclude("gles31-test-issues.txt"),
181 exclude("gles31-spec-issues.txt"),
182 exclude("gles31-temp-excluded.txt"),
184 MASTER_GLES31_PKG = Package(module = GLES31_MODULE, configurations = [
186 Configuration(name = "master",
187 glconfig = "rgba8888d24s8ms0",
188 rotation = "unspecified",
189 surfacetype = "window",
191 filters = MASTER_GLES31_COMMON_FILTERS,
194 Configuration(name = "master-risky",
195 glconfig = "rgba8888d24s8ms0",
196 rotation = "unspecified",
197 surfacetype = "window",
198 filters = [include("gles31-temp-excluded.txt")],
202 Configuration(name = "rotate-portrait",
203 glconfig = "rgba8888d24s8ms0",
205 surfacetype = "window",
206 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
208 Configuration(name = "rotate-landscape",
209 glconfig = "rgba8888d24s8ms0",
211 surfacetype = "window",
212 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
214 Configuration(name = "rotate-reverse-portrait",
215 glconfig = "rgba8888d24s8ms0",
217 surfacetype = "window",
218 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
220 Configuration(name = "rotate-reverse-landscape",
221 glconfig = "rgba8888d24s8ms0",
223 surfacetype = "window",
224 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
228 Configuration(name = "multisample",
229 glconfig = "rgba8888d24s8ms4",
230 rotation = "unspecified",
231 surfacetype = "window",
232 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
236 Configuration(name = "565-no-depth-no-stencil",
237 glconfig = "rgb565d0s0ms0",
238 rotation = "unspecified",
239 surfacetype = "window",
240 filters = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
244 MASTER_VULKAN_FILTERS = [
245 include("vk-master.txt"),
246 exclude("vk-not-applicable.txt"),
247 exclude("vk-excluded-tests.txt"),
248 exclude("vk-test-issues.txt"),
249 exclude("vk-waivers.txt"),
250 exclude("vk-temp-excluded.txt"),
252 MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
253 Configuration(name = "master",
254 filters = MASTER_VULKAN_FILTERS,
256 runByDefault = False),
257 Configuration(name = "master-2019-03-01",
258 filters = [include("vk-master-2019-03-01.txt")],
260 Configuration(name = "master-2020-03-01",
261 filters = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt")],
266 Mustpass(project = CTS_PROJECT, version = "master", packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
269 if __name__ == "__main__":
270 genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())