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