1 /*-------------------------------------------------------------------------
2 * OpenGL Conformance Test Suite
3 * -----------------------------
4 *
5 * Copyright (c) 2016 Google Inc.
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 * \file
22 * \brief OpenGL Conformance Test Package Registry.
23 */ /*-------------------------------------------------------------------*/
24
25 #include "glcTestPackageRegistry.hpp"
26 #include "glcConfigPackage.hpp"
27
28 #include "teglTestPackage.hpp"
29
30 #include "es2cTestPackage.hpp"
31 #include "tes2TestPackage.hpp"
32
33 #if defined(DEQP_GTF_AVAILABLE)
34 #include "gtfES2TestPackage.hpp"
35 #endif
36
37 #include "es3cTestPackage.hpp"
38 #include "tes3TestPackage.hpp"
39
40 #if defined(DEQP_GTF_AVAILABLE)
41 #include "gtfES3TestPackage.hpp"
42 #endif
43
44 #include "es31cTestPackage.hpp"
45 #include "esextcTestPackage.hpp"
46 #include "tes31TestPackage.hpp"
47 #include "tgl45TestPackage.hpp"
48
49 #if defined(DEQP_GTF_AVAILABLE)
50 #include "gtfES31TestPackage.hpp"
51 #endif
52
53 #include "es32cTestPackage.hpp"
54
55 #include "gl3cTestPackages.hpp"
56 #include "gl4cTestPackages.hpp"
57
58 #include "glcNoDefaultContextPackage.hpp"
59 #include "glcSingleConfigTestPackage.hpp"
60
61 #if defined(DEQP_GTF_AVAILABLE)
62 #include "gtfGL30TestPackage.hpp"
63 #include "gtfGL31TestPackage.hpp"
64 #include "gtfGL32TestPackage.hpp"
65 #include "gtfGL33TestPackage.hpp"
66 #include "gtfGL40TestPackage.hpp"
67 #include "gtfGL41TestPackage.hpp"
68 #include "gtfGL42TestPackage.hpp"
69 #include "gtfGL43TestPackage.hpp"
70 #include "gtfGL44TestPackage.hpp"
71 #include "gtfGL45TestPackage.hpp"
72 #include "gtfGL46TestPackage.hpp"
73 #endif
74
75 namespace glcts
76 {
77
createConfigPackage(tcu::TestContext & testCtx)78 static tcu::TestPackage* createConfigPackage(tcu::TestContext& testCtx)
79 {
80 return new glcts::ConfigPackage(testCtx, "CTS-Configs");
81 }
82
createES2Package(tcu::TestContext & testCtx)83 static tcu::TestPackage* createES2Package(tcu::TestContext& testCtx)
84 {
85 return new es2cts::TestPackage(testCtx, "KHR-GLES2");
86 }
87
88 #if DE_OS != DE_OS_ANDROID
createdEQPEGLPackage(tcu::TestContext & testCtx)89 static tcu::TestPackage* createdEQPEGLPackage(tcu::TestContext& testCtx)
90 {
91 return new deqp::egl::TestPackage(testCtx);
92 }
93 #endif
94
95 #if DE_OS != DE_OS_ANDROID
createdEQPES2Package(tcu::TestContext & testCtx)96 static tcu::TestPackage* createdEQPES2Package(tcu::TestContext& testCtx)
97 {
98 return new deqp::gles2::TestPackage(testCtx);
99 }
100 #endif
101
102 #if defined(DEQP_GTF_AVAILABLE)
createES2GTFPackage(tcu::TestContext & testCtx)103 static tcu::TestPackage* createES2GTFPackage(tcu::TestContext& testCtx)
104 {
105 return new gtf::es2::TestPackage(testCtx, "GTF-GLES2");
106 }
107 #endif
108
createES30Package(tcu::TestContext & testCtx)109 static tcu::TestPackage* createES30Package(tcu::TestContext& testCtx)
110 {
111 return new es3cts::ES30TestPackage(testCtx, "KHR-GLES3");
112 }
113
114 #if DE_OS != DE_OS_ANDROID
createdEQPES30Package(tcu::TestContext & testCtx)115 static tcu::TestPackage* createdEQPES30Package(tcu::TestContext& testCtx)
116 {
117 return new deqp::gles3::TestPackage(testCtx);
118 }
119 #endif
120
121 #if defined(DEQP_GTF_AVAILABLE)
createES30GTFPackage(tcu::TestContext & testCtx)122 static tcu::TestPackage* createES30GTFPackage(tcu::TestContext& testCtx)
123 {
124 return new gtf::es3::TestPackage(testCtx, "GTF-GLES3");
125 }
126 #endif
127
128 #if DE_OS != DE_OS_ANDROID
createdEQPES31Package(tcu::TestContext & testCtx)129 static tcu::TestPackage* createdEQPES31Package(tcu::TestContext& testCtx)
130 {
131 return new deqp::gles31::TestPackage(testCtx);
132 }
133 #endif
createdEQPGL45Package(tcu::TestContext & testCtx)134 static tcu::TestPackage* createdEQPGL45Package(tcu::TestContext& testCtx)
135 {
136 return new deqp::gles31::TestPackageGL45(testCtx);
137 }
createES31Package(tcu::TestContext & testCtx)138 static tcu::TestPackage* createES31Package(tcu::TestContext& testCtx)
139 {
140 return new es31cts::ES31TestPackage(testCtx, "KHR-GLES31");
141 }
createESEXTPackage(tcu::TestContext & testCtx)142 static tcu::TestPackage* createESEXTPackage(tcu::TestContext& testCtx)
143 {
144 return new esextcts::ESEXTTestPackage(testCtx, "KHR-GLESEXT");
145 }
146
147 #if defined(DEQP_GTF_AVAILABLE)
createES31GTFPackage(tcu::TestContext & testCtx)148 static tcu::TestPackage* createES31GTFPackage(tcu::TestContext& testCtx)
149 {
150 return new gtf::es31::TestPackage(testCtx, "GTF-GLES31");
151 }
152 #endif
153
createES32Package(tcu::TestContext & testCtx)154 static tcu::TestPackage* createES32Package(tcu::TestContext& testCtx)
155 {
156 return new es32cts::ES32TestPackage(testCtx, "KHR-GLES32");
157 }
158
createNoDefaultCustomContextPackage(tcu::TestContext & testCtx)159 static tcu::TestPackage* createNoDefaultCustomContextPackage(tcu::TestContext& testCtx)
160 {
161 return new glcts::NoDefaultContextPackage(testCtx, "KHR-NoContext");
162 }
createSingleConfigGL43TestPackage(tcu::TestContext & testCtx)163 static tcu::TestPackage* createSingleConfigGL43TestPackage(tcu::TestContext& testCtx)
164 {
165 return new glcts::SingleConfigGL43TestPackage(testCtx, "KHR-Single-GL43");
166 }
createSingleConfigGL44TestPackage(tcu::TestContext & testCtx)167 static tcu::TestPackage* createSingleConfigGL44TestPackage(tcu::TestContext& testCtx)
168 {
169 return new glcts::SingleConfigGL44TestPackage(testCtx, "KHR-Single-GL44");
170 }
createSingleConfigGL45TestPackage(tcu::TestContext & testCtx)171 static tcu::TestPackage* createSingleConfigGL45TestPackage(tcu::TestContext& testCtx)
172 {
173 return new glcts::SingleConfigGL45TestPackage(testCtx, "KHR-Single-GL45");
174 }
createSingleConfigGL46TestPackage(tcu::TestContext & testCtx)175 static tcu::TestPackage* createSingleConfigGL46TestPackage(tcu::TestContext& testCtx)
176 {
177 return new glcts::SingleConfigGL45TestPackage(testCtx, "KHR-Single-GL46");
178 }
createSingleConfigES32TestPackage(tcu::TestContext & testCtx)179 static tcu::TestPackage* createSingleConfigES32TestPackage(tcu::TestContext& testCtx)
180 {
181 return new glcts::SingleConfigES32TestPackage(testCtx, "KHR-Single-GLES32");
182 }
183
createGL30Package(tcu::TestContext & testCtx)184 static tcu::TestPackage* createGL30Package(tcu::TestContext& testCtx)
185 {
186 return new gl3cts::GL30TestPackage(testCtx, "KHR-GL30");
187 }
createGL31Package(tcu::TestContext & testCtx)188 static tcu::TestPackage* createGL31Package(tcu::TestContext& testCtx)
189 {
190 return new gl3cts::GL31TestPackage(testCtx, "KHR-GL31");
191 }
createGL32Package(tcu::TestContext & testCtx)192 static tcu::TestPackage* createGL32Package(tcu::TestContext& testCtx)
193 {
194 return new gl3cts::GL32TestPackage(testCtx, "KHR-GL32");
195 }
createGL33Package(tcu::TestContext & testCtx)196 static tcu::TestPackage* createGL33Package(tcu::TestContext& testCtx)
197 {
198 return new gl3cts::GL33TestPackage(testCtx, "KHR-GL33");
199 }
200
createGL40Package(tcu::TestContext & testCtx)201 static tcu::TestPackage* createGL40Package(tcu::TestContext& testCtx)
202 {
203 return new gl4cts::GL40TestPackage(testCtx, "KHR-GL40");
204 }
createGL41Package(tcu::TestContext & testCtx)205 static tcu::TestPackage* createGL41Package(tcu::TestContext& testCtx)
206 {
207 return new gl4cts::GL41TestPackage(testCtx, "KHR-GL41");
208 }
createGL42Package(tcu::TestContext & testCtx)209 static tcu::TestPackage* createGL42Package(tcu::TestContext& testCtx)
210 {
211 return new gl4cts::GL42TestPackage(testCtx, "KHR-GL42");
212 }
createGL42CompatPackage(tcu::TestContext & testCtx)213 static tcu::TestPackage* createGL42CompatPackage(tcu::TestContext& testCtx)
214 {
215 return new gl4cts::GL42CompatTestPackage(testCtx, "KHR-GL42-COMPAT");
216 }
createGL43Package(tcu::TestContext & testCtx)217 static tcu::TestPackage* createGL43Package(tcu::TestContext& testCtx)
218 {
219 return new gl4cts::GL43TestPackage(testCtx, "KHR-GL43");
220 }
createGL44Package(tcu::TestContext & testCtx)221 static tcu::TestPackage* createGL44Package(tcu::TestContext& testCtx)
222 {
223 return new gl4cts::GL44TestPackage(testCtx, "KHR-GL44");
224 }
createGL45Package(tcu::TestContext & testCtx)225 static tcu::TestPackage* createGL45Package(tcu::TestContext& testCtx)
226 {
227 return new gl4cts::GL45TestPackage(testCtx, "KHR-GL45");
228 }
createGL46Package(tcu::TestContext & testCtx)229 static tcu::TestPackage* createGL46Package(tcu::TestContext& testCtx)
230 {
231 return new gl4cts::GL46TestPackage(testCtx, "KHR-GL46");
232 }
233
234 #if defined(DEQP_GTF_AVAILABLE)
createGL30GTFPackage(tcu::TestContext & testCtx)235 static tcu::TestPackage* createGL30GTFPackage(tcu::TestContext& testCtx)
236 {
237 return new gtf::gl30::TestPackage(testCtx, "GTF-GL30");
238 }
createGL31GTFPackage(tcu::TestContext & testCtx)239 static tcu::TestPackage* createGL31GTFPackage(tcu::TestContext& testCtx)
240 {
241 return new gtf::gl31::TestPackage(testCtx, "GTF-GL31");
242 }
createGL32GTFPackage(tcu::TestContext & testCtx)243 static tcu::TestPackage* createGL32GTFPackage(tcu::TestContext& testCtx)
244 {
245 return new gtf::gl32::TestPackage(testCtx, "GTF-GL32");
246 }
createGL33GTFPackage(tcu::TestContext & testCtx)247 static tcu::TestPackage* createGL33GTFPackage(tcu::TestContext& testCtx)
248 {
249 return new gtf::gl32::TestPackage(testCtx, "GTF-GL33");
250 }
251
createGL40GTFPackage(tcu::TestContext & testCtx)252 static tcu::TestPackage* createGL40GTFPackage(tcu::TestContext& testCtx)
253 {
254 return new gtf::gl40::TestPackage(testCtx, "GTF-GL40");
255 }
createGL41GTFPackage(tcu::TestContext & testCtx)256 static tcu::TestPackage* createGL41GTFPackage(tcu::TestContext& testCtx)
257 {
258 return new gtf::gl41::TestPackage(testCtx, "GTF-GL41");
259 }
createGL42GTFPackage(tcu::TestContext & testCtx)260 static tcu::TestPackage* createGL42GTFPackage(tcu::TestContext& testCtx)
261 {
262 return new gtf::gl42::TestPackage(testCtx, "GTF-GL42");
263 }
createGL43GTFPackage(tcu::TestContext & testCtx)264 static tcu::TestPackage* createGL43GTFPackage(tcu::TestContext& testCtx)
265 {
266 return new gtf::gl43::TestPackage(testCtx, "GTF-GL43");
267 }
createGL44GTFPackage(tcu::TestContext & testCtx)268 static tcu::TestPackage* createGL44GTFPackage(tcu::TestContext& testCtx)
269 {
270 return new gtf::gl44::TestPackage(testCtx, "GTF-GL44");
271 }
createGL45GTFPackage(tcu::TestContext & testCtx)272 static tcu::TestPackage* createGL45GTFPackage(tcu::TestContext& testCtx)
273 {
274 return new gtf::gl45::TestPackage(testCtx, "GTF-GL45");
275 }
createGL46GTFPackage(tcu::TestContext & testCtx)276 static tcu::TestPackage* createGL46GTFPackage(tcu::TestContext& testCtx)
277 {
278 return new gtf::gl46::TestPackage(testCtx, "GTF-GL46");
279 }
280 #endif
281
registerPackages(void)282 void registerPackages(void)
283 {
284 tcu::TestPackageRegistry* registry = tcu::TestPackageRegistry::getSingleton();
285
286 registry->registerPackage("CTS-Configs", createConfigPackage);
287
288 #if DE_OS != DE_OS_ANDROID
289 registry->registerPackage("dEQP-EGL", createdEQPEGLPackage);
290 #endif
291 registry->registerPackage("KHR-GLES2", createES2Package);
292 #if DE_OS != DE_OS_ANDROID
293 registry->registerPackage("dEQP-GLES2", createdEQPES2Package);
294 #endif
295
296 #if defined(DEQP_GTF_AVAILABLE)
297 registry->registerPackage("GTF-GLES2", createES2GTFPackage);
298 #endif
299
300 registry->registerPackage("KHR-GLES3", createES30Package);
301 #if DE_OS != DE_OS_ANDROID
302 registry->registerPackage("dEQP-GLES3", createdEQPES30Package);
303 #endif
304
305 #if defined(DEQP_GTF_AVAILABLE)
306 registry->registerPackage("GTF-GLES3", createES30GTFPackage);
307 #endif
308
309 #if DE_OS != DE_OS_ANDROID
310 registry->registerPackage("dEQP-GLES31", createdEQPES31Package);
311 #endif
312 registry->registerPackage("dEQP-GL45", createdEQPGL45Package);
313 registry->registerPackage("KHR-GLES31", createES31Package);
314 registry->registerPackage("KHR-GLESEXT", createESEXTPackage);
315
316 #if defined(DEQP_GTF_AVAILABLE)
317 registry->registerPackage("GTF-GLES31", createES31GTFPackage);
318 #endif
319
320 registry->registerPackage("KHR-GLES32", createES32Package);
321
322 registry->registerPackage("KHR-NoContext", createNoDefaultCustomContextPackage);
323 registry->registerPackage("KHR-Single-GL43", createSingleConfigGL43TestPackage);
324 registry->registerPackage("KHR-Single-GL44", createSingleConfigGL44TestPackage);
325 registry->registerPackage("KHR-Single-GL45", createSingleConfigGL45TestPackage);
326 registry->registerPackage("KHR-Single-GL46", createSingleConfigGL46TestPackage);
327 registry->registerPackage("KHR-Single-GLES32", createSingleConfigES32TestPackage);
328
329 registry->registerPackage("KHR-GL30", createGL30Package);
330 registry->registerPackage("KHR-GL31", createGL31Package);
331 registry->registerPackage("KHR-GL32", createGL32Package);
332 registry->registerPackage("KHR-GL33", createGL33Package);
333
334 registry->registerPackage("KHR-GL40", createGL40Package);
335 registry->registerPackage("KHR-GL41", createGL41Package);
336 registry->registerPackage("KHR-GL42", createGL42Package);
337 registry->registerPackage("KHR-COMPAT-GL42", createGL42CompatPackage);
338 registry->registerPackage("KHR-GL43", createGL43Package);
339 registry->registerPackage("KHR-GL44", createGL44Package);
340 registry->registerPackage("KHR-GL45", createGL45Package);
341 registry->registerPackage("KHR-GL46", createGL46Package);
342
343 #if defined(DEQP_GTF_AVAILABLE)
344 registry->registerPackage("GTF-GL30", createGL30GTFPackage);
345 registry->registerPackage("GTF-GL31", createGL31GTFPackage);
346 registry->registerPackage("GTF-GL32", createGL32GTFPackage);
347 registry->registerPackage("GTF-GL33", createGL33GTFPackage);
348
349 registry->registerPackage("GTF-GL40", createGL40GTFPackage);
350 registry->registerPackage("GTF-GL41", createGL41GTFPackage);
351 registry->registerPackage("GTF-GL42", createGL42GTFPackage);
352 registry->registerPackage("GTF-GL43", createGL43GTFPackage);
353 registry->registerPackage("GTF-GL44", createGL44GTFPackage);
354 registry->registerPackage("GTF-GL45", createGL45GTFPackage);
355 registry->registerPackage("GTF-GL46", createGL46GTFPackage);
356 #endif
357 }
358 }
359