xref: /aosp_15_r20/external/deqp/modules/gles3/functional/es3fFunctionalTests.cpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1*35238bceSAndroid Build Coastguard Worker /*-------------------------------------------------------------------------
2*35238bceSAndroid Build Coastguard Worker  * drawElements Quality Program OpenGL ES 3.0 Module
3*35238bceSAndroid Build Coastguard Worker  * -------------------------------------------------
4*35238bceSAndroid Build Coastguard Worker  *
5*35238bceSAndroid Build Coastguard Worker  * Copyright 2014 The Android Open Source Project
6*35238bceSAndroid Build Coastguard Worker  *
7*35238bceSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
8*35238bceSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
9*35238bceSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
10*35238bceSAndroid Build Coastguard Worker  *
11*35238bceSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
12*35238bceSAndroid Build Coastguard Worker  *
13*35238bceSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
14*35238bceSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
15*35238bceSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16*35238bceSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
17*35238bceSAndroid Build Coastguard Worker  * limitations under the License.
18*35238bceSAndroid Build Coastguard Worker  *
19*35238bceSAndroid Build Coastguard Worker  *//*!
20*35238bceSAndroid Build Coastguard Worker  * \file
21*35238bceSAndroid Build Coastguard Worker  * \brief Functional Test Group.
22*35238bceSAndroid Build Coastguard Worker  *//*--------------------------------------------------------------------*/
23*35238bceSAndroid Build Coastguard Worker 
24*35238bceSAndroid Build Coastguard Worker #include "es3fFunctionalTests.hpp"
25*35238bceSAndroid Build Coastguard Worker 
26*35238bceSAndroid Build Coastguard Worker #include "es3fColorClearTest.hpp"
27*35238bceSAndroid Build Coastguard Worker #include "es3fDepthTests.hpp"
28*35238bceSAndroid Build Coastguard Worker #include "es3fPrerequisiteTests.hpp"
29*35238bceSAndroid Build Coastguard Worker #include "es3fStencilTests.hpp"
30*35238bceSAndroid Build Coastguard Worker #include "es3fDepthStencilTests.hpp"
31*35238bceSAndroid Build Coastguard Worker #include "es3fVertexArrayTest.hpp"
32*35238bceSAndroid Build Coastguard Worker #include "es3fUniformBlockTests.hpp"
33*35238bceSAndroid Build Coastguard Worker #include "es3fUniformApiTests.hpp"
34*35238bceSAndroid Build Coastguard Worker #include "es3fFragmentOutputTests.hpp"
35*35238bceSAndroid Build Coastguard Worker #include "es3fOcclusionQueryTests.hpp"
36*35238bceSAndroid Build Coastguard Worker #include "es3fDepthStencilClearTests.hpp"
37*35238bceSAndroid Build Coastguard Worker #include "es3fSamplerObjectTests.hpp"
38*35238bceSAndroid Build Coastguard Worker #include "es3fAttribLocationTests.hpp"
39*35238bceSAndroid Build Coastguard Worker #include "es3fPixelBufferObjectTests.hpp"
40*35238bceSAndroid Build Coastguard Worker #include "es3fRasterizationTests.hpp"
41*35238bceSAndroid Build Coastguard Worker #include "es3fRasterizerDiscardTests.hpp"
42*35238bceSAndroid Build Coastguard Worker #include "es3fTransformFeedbackTests.hpp"
43*35238bceSAndroid Build Coastguard Worker #include "es3fVertexArrayObjectTests.hpp"
44*35238bceSAndroid Build Coastguard Worker #include "es3fPrimitiveRestartTests.hpp"
45*35238bceSAndroid Build Coastguard Worker #include "es3fInstancedRenderingTests.hpp"
46*35238bceSAndroid Build Coastguard Worker #include "es3fSyncTests.hpp"
47*35238bceSAndroid Build Coastguard Worker #include "es3fBlendTests.hpp"
48*35238bceSAndroid Build Coastguard Worker #include "es3fRandomFragmentOpTests.hpp"
49*35238bceSAndroid Build Coastguard Worker #include "es3fMultisampleTests.hpp"
50*35238bceSAndroid Build Coastguard Worker #include "es3fMultiviewTests.hpp"
51*35238bceSAndroid Build Coastguard Worker #include "es3fImplementationLimitTests.hpp"
52*35238bceSAndroid Build Coastguard Worker #include "es3fDitheringTests.hpp"
53*35238bceSAndroid Build Coastguard Worker #include "es3fClippingTests.hpp"
54*35238bceSAndroid Build Coastguard Worker #include "es3fPolygonOffsetTests.hpp"
55*35238bceSAndroid Build Coastguard Worker #include "es3fDrawTests.hpp"
56*35238bceSAndroid Build Coastguard Worker #include "es3fFragOpInteractionTests.hpp"
57*35238bceSAndroid Build Coastguard Worker #include "es3fFlushFinishTests.hpp"
58*35238bceSAndroid Build Coastguard Worker #include "es3fFlushFinishTests.hpp"
59*35238bceSAndroid Build Coastguard Worker #include "es3fDefaultVertexAttributeTests.hpp"
60*35238bceSAndroid Build Coastguard Worker #include "es3fScissorTests.hpp"
61*35238bceSAndroid Build Coastguard Worker #include "es3fLifetimeTests.hpp"
62*35238bceSAndroid Build Coastguard Worker #include "es3fDefaultVertexArrayObjectTests.hpp"
63*35238bceSAndroid Build Coastguard Worker #include "es3fDrawBuffersIndexedTests.hpp"
64*35238bceSAndroid Build Coastguard Worker 
65*35238bceSAndroid Build Coastguard Worker // Shader tests
66*35238bceSAndroid Build Coastguard Worker #include "es3fShaderApiTests.hpp"
67*35238bceSAndroid Build Coastguard Worker #include "es3fShaderConstExprTests.hpp"
68*35238bceSAndroid Build Coastguard Worker #include "es3fShaderDiscardTests.hpp"
69*35238bceSAndroid Build Coastguard Worker #include "es3fShaderFunctionTests.hpp"
70*35238bceSAndroid Build Coastguard Worker #include "es3fShaderIndexingTests.hpp"
71*35238bceSAndroid Build Coastguard Worker #include "es3fShaderLoopTests.hpp"
72*35238bceSAndroid Build Coastguard Worker #include "es3fShaderMatrixTests.hpp"
73*35238bceSAndroid Build Coastguard Worker #include "es3fShaderOperatorTests.hpp"
74*35238bceSAndroid Build Coastguard Worker #include "es3fShaderReturnTests.hpp"
75*35238bceSAndroid Build Coastguard Worker #include "es3fShaderStructTests.hpp"
76*35238bceSAndroid Build Coastguard Worker #include "es3fShaderSwitchTests.hpp"
77*35238bceSAndroid Build Coastguard Worker #include "es3fRandomShaderTests.hpp"
78*35238bceSAndroid Build Coastguard Worker #include "es3fFragDepthTests.hpp"
79*35238bceSAndroid Build Coastguard Worker #include "es3fShaderPrecisionTests.hpp"
80*35238bceSAndroid Build Coastguard Worker #include "es3fShaderBuiltinVarTests.hpp"
81*35238bceSAndroid Build Coastguard Worker #include "es3fShaderTextureFunctionTests.hpp"
82*35238bceSAndroid Build Coastguard Worker #include "es3fShaderDerivateTests.hpp"
83*35238bceSAndroid Build Coastguard Worker #include "es3fShaderPackingFunctionTests.hpp"
84*35238bceSAndroid Build Coastguard Worker #include "es3fShaderCommonFunctionTests.hpp"
85*35238bceSAndroid Build Coastguard Worker #include "es3fShaderInvarianceTests.hpp"
86*35238bceSAndroid Build Coastguard Worker #include "es3fShaderFragDataTests.hpp"
87*35238bceSAndroid Build Coastguard Worker #include "es3fBuiltinPrecisionTests.hpp"
88*35238bceSAndroid Build Coastguard Worker #include "es3fShaderMetamorphicTests.hpp"
89*35238bceSAndroid Build Coastguard Worker 
90*35238bceSAndroid Build Coastguard Worker // Texture tests
91*35238bceSAndroid Build Coastguard Worker #include "es3fTextureFormatTests.hpp"
92*35238bceSAndroid Build Coastguard Worker #include "es3fTextureWrapTests.hpp"
93*35238bceSAndroid Build Coastguard Worker #include "es3fTextureFilteringTests.hpp"
94*35238bceSAndroid Build Coastguard Worker #include "es3fTextureMipmapTests.hpp"
95*35238bceSAndroid Build Coastguard Worker #include "es3fTextureSizeTests.hpp"
96*35238bceSAndroid Build Coastguard Worker #include "es3fTextureSwizzleTests.hpp"
97*35238bceSAndroid Build Coastguard Worker #include "es3fTextureShadowTests.hpp"
98*35238bceSAndroid Build Coastguard Worker #include "es3fTextureSpecificationTests.hpp"
99*35238bceSAndroid Build Coastguard Worker #include "es3fVertexTextureTests.hpp"
100*35238bceSAndroid Build Coastguard Worker #include "es3fTextureUnitTests.hpp"
101*35238bceSAndroid Build Coastguard Worker #include "es3fCompressedTextureTests.hpp"
102*35238bceSAndroid Build Coastguard Worker 
103*35238bceSAndroid Build Coastguard Worker // Fbo tests
104*35238bceSAndroid Build Coastguard Worker #include "es3fFboApiTests.hpp"
105*35238bceSAndroid Build Coastguard Worker #include "es3fFboCompletenessTests.hpp"
106*35238bceSAndroid Build Coastguard Worker #include "es3fFboColorbufferTests.hpp"
107*35238bceSAndroid Build Coastguard Worker #include "es3fFboDepthbufferTests.hpp"
108*35238bceSAndroid Build Coastguard Worker #include "es3fFboStencilbufferTests.hpp"
109*35238bceSAndroid Build Coastguard Worker #include "es3fFramebufferBlitTests.hpp"
110*35238bceSAndroid Build Coastguard Worker #include "es3fFboMultisampleTests.hpp"
111*35238bceSAndroid Build Coastguard Worker #include "es3fFboRenderTest.hpp"
112*35238bceSAndroid Build Coastguard Worker #include "es3fFboInvalidateTests.hpp"
113*35238bceSAndroid Build Coastguard Worker 
114*35238bceSAndroid Build Coastguard Worker // Buffer tests
115*35238bceSAndroid Build Coastguard Worker #include "es3fBufferWriteTests.hpp"
116*35238bceSAndroid Build Coastguard Worker #include "es3fBufferMapTests.hpp"
117*35238bceSAndroid Build Coastguard Worker #include "es3fBufferCopyTests.hpp"
118*35238bceSAndroid Build Coastguard Worker 
119*35238bceSAndroid Build Coastguard Worker // Negative API tests
120*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeBufferApiTests.hpp"
121*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeTextureApiTests.hpp"
122*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeShaderApiTests.hpp"
123*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeFragmentApiTests.hpp"
124*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeVertexArrayApiTests.hpp"
125*35238bceSAndroid Build Coastguard Worker #include "es3fNegativeStateApiTests.hpp"
126*35238bceSAndroid Build Coastguard Worker 
127*35238bceSAndroid Build Coastguard Worker // State query tests
128*35238bceSAndroid Build Coastguard Worker #include "es3fBooleanStateQueryTests.hpp"
129*35238bceSAndroid Build Coastguard Worker #include "es3fIntegerStateQueryTests.hpp"
130*35238bceSAndroid Build Coastguard Worker #include "es3fInteger64StateQueryTests.hpp"
131*35238bceSAndroid Build Coastguard Worker #include "es3fFloatStateQueryTests.hpp"
132*35238bceSAndroid Build Coastguard Worker #include "es3fTextureStateQueryTests.hpp"
133*35238bceSAndroid Build Coastguard Worker #include "es3fStringQueryTests.hpp"
134*35238bceSAndroid Build Coastguard Worker #include "es3fSamplerStateQueryTests.hpp"
135*35238bceSAndroid Build Coastguard Worker #include "es3fBufferObjectQueryTests.hpp"
136*35238bceSAndroid Build Coastguard Worker #include "es3fFboStateQueryTests.hpp"
137*35238bceSAndroid Build Coastguard Worker #include "es3fRboStateQueryTests.hpp"
138*35238bceSAndroid Build Coastguard Worker #include "es3fShaderStateQueryTests.hpp"
139*35238bceSAndroid Build Coastguard Worker #include "es3fInternalFormatQueryTests.hpp"
140*35238bceSAndroid Build Coastguard Worker #include "es3fIndexedStateQueryTests.hpp"
141*35238bceSAndroid Build Coastguard Worker 
142*35238bceSAndroid Build Coastguard Worker #include "es3fReadPixelsTests.hpp"
143*35238bceSAndroid Build Coastguard Worker 
144*35238bceSAndroid Build Coastguard Worker #include "glsShaderLibrary.hpp"
145*35238bceSAndroid Build Coastguard Worker 
146*35238bceSAndroid Build Coastguard Worker namespace deqp
147*35238bceSAndroid Build Coastguard Worker {
148*35238bceSAndroid Build Coastguard Worker namespace gles3
149*35238bceSAndroid Build Coastguard Worker {
150*35238bceSAndroid Build Coastguard Worker namespace Functional
151*35238bceSAndroid Build Coastguard Worker {
152*35238bceSAndroid Build Coastguard Worker 
153*35238bceSAndroid Build Coastguard Worker class ShaderLibraryTest : public TestCaseGroup
154*35238bceSAndroid Build Coastguard Worker {
155*35238bceSAndroid Build Coastguard Worker public:
ShaderLibraryTest(Context & context,const char * name,const char * description)156*35238bceSAndroid Build Coastguard Worker     ShaderLibraryTest(Context &context, const char *name, const char *description)
157*35238bceSAndroid Build Coastguard Worker         : TestCaseGroup(context, name, description)
158*35238bceSAndroid Build Coastguard Worker     {
159*35238bceSAndroid Build Coastguard Worker     }
160*35238bceSAndroid Build Coastguard Worker 
init(void)161*35238bceSAndroid Build Coastguard Worker     void init(void)
162*35238bceSAndroid Build Coastguard Worker     {
163*35238bceSAndroid Build Coastguard Worker         gls::ShaderLibrary shaderLibrary(m_testCtx, m_context.getRenderContext(), m_context.getContextInfo());
164*35238bceSAndroid Build Coastguard Worker         std::string fileName                  = std::string("shaders/") + getName() + ".test";
165*35238bceSAndroid Build Coastguard Worker         std::vector<tcu::TestNode *> children = shaderLibrary.loadShaderFile(fileName.c_str());
166*35238bceSAndroid Build Coastguard Worker 
167*35238bceSAndroid Build Coastguard Worker         for (int i = 0; i < (int)children.size(); i++)
168*35238bceSAndroid Build Coastguard Worker             addChild(children[i]);
169*35238bceSAndroid Build Coastguard Worker     }
170*35238bceSAndroid Build Coastguard Worker };
171*35238bceSAndroid Build Coastguard Worker 
172*35238bceSAndroid Build Coastguard Worker class ShaderBuiltinFunctionTests : public TestCaseGroup
173*35238bceSAndroid Build Coastguard Worker {
174*35238bceSAndroid Build Coastguard Worker public:
ShaderBuiltinFunctionTests(Context & context)175*35238bceSAndroid Build Coastguard Worker     ShaderBuiltinFunctionTests(Context &context)
176*35238bceSAndroid Build Coastguard Worker         : TestCaseGroup(context, "builtin_functions", "Built-in Function Tests")
177*35238bceSAndroid Build Coastguard Worker     {
178*35238bceSAndroid Build Coastguard Worker     }
179*35238bceSAndroid Build Coastguard Worker 
init(void)180*35238bceSAndroid Build Coastguard Worker     void init(void)
181*35238bceSAndroid Build Coastguard Worker     {
182*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderCommonFunctionTests(m_context));
183*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderPackingFunctionTests(m_context));
184*35238bceSAndroid Build Coastguard Worker         addChild(createBuiltinPrecisionTests(m_context));
185*35238bceSAndroid Build Coastguard Worker     }
186*35238bceSAndroid Build Coastguard Worker };
187*35238bceSAndroid Build Coastguard Worker 
188*35238bceSAndroid Build Coastguard Worker class ShaderTests : public TestCaseGroup
189*35238bceSAndroid Build Coastguard Worker {
190*35238bceSAndroid Build Coastguard Worker public:
ShaderTests(Context & context)191*35238bceSAndroid Build Coastguard Worker     ShaderTests(Context &context) : TestCaseGroup(context, "shaders", "Shading Language Tests")
192*35238bceSAndroid Build Coastguard Worker     {
193*35238bceSAndroid Build Coastguard Worker     }
194*35238bceSAndroid Build Coastguard Worker 
init(void)195*35238bceSAndroid Build Coastguard Worker     void init(void)
196*35238bceSAndroid Build Coastguard Worker     {
197*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "preprocessor", "Preprocessor Tests"));
198*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "constants", "Constant Literal Tests"));
199*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "linkage", "Linkage Tests"));
200*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "conversions", "Type Conversion Tests"));
201*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "conditionals", "Conditionals Tests"));
202*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "declarations", "Declarations Tests"));
203*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "swizzles", "Swizzle Tests"));
204*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "swizzle_math_operations", "Swizzle Math Operations Tests"));
205*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "functions", "Function Tests"));
206*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "arrays", "Array Tests"));
207*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "large_constant_arrays", "Large Constant Array Tests"));
208*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "keywords", "Keyword Tests"));
209*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "qualification_order", "Order Of Qualification Tests"));
210*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "scoping", "Scoping of Declarations"));
211*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "negative", "Miscellaneous Negative Shader Compilation Tests"));
212*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "uniform_block", "Uniform block tests"));
213*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLibraryTest(m_context, "invalid_implicit_conversions", "Invalid Implicit Conversions"));
214*35238bceSAndroid Build Coastguard Worker 
215*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderDiscardTests(m_context));
216*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderFunctionTests(m_context));
217*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderIndexingTests(m_context));
218*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderLoopTests(m_context));
219*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderOperatorTests(m_context));
220*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderMatrixTests(m_context));
221*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderReturnTests(m_context));
222*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderStructTests(m_context));
223*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderSwitchTests(m_context));
224*35238bceSAndroid Build Coastguard Worker         addChild(new FragDepthTests(m_context));
225*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderPrecisionTests(m_context));
226*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderBuiltinVarTests(m_context));
227*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderTextureFunctionTests(m_context)); // \todo [pyry] Move to builtin?
228*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderDerivateTests(m_context));        // \todo [pyry] Move to builtin?
229*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderBuiltinFunctionTests(m_context));
230*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderInvarianceTests(m_context));
231*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderFragDataTests(m_context));
232*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderConstExprTests(m_context));
233*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderMetamorphicTests(m_context));
234*35238bceSAndroid Build Coastguard Worker         addChild(new RandomShaderTests(m_context));
235*35238bceSAndroid Build Coastguard Worker     }
236*35238bceSAndroid Build Coastguard Worker };
237*35238bceSAndroid Build Coastguard Worker 
238*35238bceSAndroid Build Coastguard Worker class TextureTests : public TestCaseGroup
239*35238bceSAndroid Build Coastguard Worker {
240*35238bceSAndroid Build Coastguard Worker public:
TextureTests(Context & context)241*35238bceSAndroid Build Coastguard Worker     TextureTests(Context &context) : TestCaseGroup(context, "texture", "Texture Tests")
242*35238bceSAndroid Build Coastguard Worker     {
243*35238bceSAndroid Build Coastguard Worker     }
244*35238bceSAndroid Build Coastguard Worker 
init(void)245*35238bceSAndroid Build Coastguard Worker     void init(void)
246*35238bceSAndroid Build Coastguard Worker     {
247*35238bceSAndroid Build Coastguard Worker         addChild(new TextureFormatTests(m_context));
248*35238bceSAndroid Build Coastguard Worker         addChild(new TextureSizeTests(m_context));
249*35238bceSAndroid Build Coastguard Worker         addChild(new TextureWrapTests(m_context));
250*35238bceSAndroid Build Coastguard Worker         addChild(new TextureFilteringTests(m_context));
251*35238bceSAndroid Build Coastguard Worker         addChild(new TextureMipmapTests(m_context));
252*35238bceSAndroid Build Coastguard Worker         addChild(new TextureSwizzleTests(m_context));
253*35238bceSAndroid Build Coastguard Worker         addChild(new TextureShadowTests(m_context));
254*35238bceSAndroid Build Coastguard Worker         addChild(new TextureSpecificationTests(m_context));
255*35238bceSAndroid Build Coastguard Worker         addChild(new VertexTextureTests(m_context));
256*35238bceSAndroid Build Coastguard Worker         addChild(new TextureUnitTests(m_context));
257*35238bceSAndroid Build Coastguard Worker         addChild(new CompressedTextureTests(m_context));
258*35238bceSAndroid Build Coastguard Worker     }
259*35238bceSAndroid Build Coastguard Worker };
260*35238bceSAndroid Build Coastguard Worker 
261*35238bceSAndroid Build Coastguard Worker class FboTests : public TestCaseGroup
262*35238bceSAndroid Build Coastguard Worker {
263*35238bceSAndroid Build Coastguard Worker public:
FboTests(Context & context)264*35238bceSAndroid Build Coastguard Worker     FboTests(Context &context) : TestCaseGroup(context, "fbo", "Framebuffer Object Tests")
265*35238bceSAndroid Build Coastguard Worker     {
266*35238bceSAndroid Build Coastguard Worker     }
267*35238bceSAndroid Build Coastguard Worker 
init(void)268*35238bceSAndroid Build Coastguard Worker     void init(void)
269*35238bceSAndroid Build Coastguard Worker     {
270*35238bceSAndroid Build Coastguard Worker         addChild(new FboApiTests(m_context));
271*35238bceSAndroid Build Coastguard Worker         addChild(createFboCompletenessTests(m_context));
272*35238bceSAndroid Build Coastguard Worker         addChild(new FboRenderTestGroup(m_context));
273*35238bceSAndroid Build Coastguard Worker         addChild(new FboColorTests(m_context));
274*35238bceSAndroid Build Coastguard Worker         addChild(new FboDepthTests(m_context));
275*35238bceSAndroid Build Coastguard Worker         addChild(new FboStencilTests(m_context));
276*35238bceSAndroid Build Coastguard Worker         addChild(new FramebufferBlitTests(m_context));
277*35238bceSAndroid Build Coastguard Worker         addChild(new FboMultisampleTests(m_context));
278*35238bceSAndroid Build Coastguard Worker         addChild(new MultiviewTests(m_context));
279*35238bceSAndroid Build Coastguard Worker         addChild(new FboInvalidateTests(m_context));
280*35238bceSAndroid Build Coastguard Worker     }
281*35238bceSAndroid Build Coastguard Worker };
282*35238bceSAndroid Build Coastguard Worker 
283*35238bceSAndroid Build Coastguard Worker class BufferTests : public TestCaseGroup
284*35238bceSAndroid Build Coastguard Worker {
285*35238bceSAndroid Build Coastguard Worker public:
BufferTests(Context & context)286*35238bceSAndroid Build Coastguard Worker     BufferTests(Context &context) : TestCaseGroup(context, "buffer", "Buffer object tests")
287*35238bceSAndroid Build Coastguard Worker     {
288*35238bceSAndroid Build Coastguard Worker     }
289*35238bceSAndroid Build Coastguard Worker 
init(void)290*35238bceSAndroid Build Coastguard Worker     void init(void)
291*35238bceSAndroid Build Coastguard Worker     {
292*35238bceSAndroid Build Coastguard Worker         addChild(new BufferWriteTests(m_context));
293*35238bceSAndroid Build Coastguard Worker         addChild(new BufferMapTests(m_context));
294*35238bceSAndroid Build Coastguard Worker         addChild(new BufferCopyTests(m_context));
295*35238bceSAndroid Build Coastguard Worker     }
296*35238bceSAndroid Build Coastguard Worker };
297*35238bceSAndroid Build Coastguard Worker 
298*35238bceSAndroid Build Coastguard Worker class NegativeApiTestGroup : public TestCaseGroup
299*35238bceSAndroid Build Coastguard Worker {
300*35238bceSAndroid Build Coastguard Worker public:
NegativeApiTestGroup(Context & context)301*35238bceSAndroid Build Coastguard Worker     NegativeApiTestGroup(Context &context) : TestCaseGroup(context, "negative_api", "Negative API Tests")
302*35238bceSAndroid Build Coastguard Worker     {
303*35238bceSAndroid Build Coastguard Worker     }
304*35238bceSAndroid Build Coastguard Worker 
~NegativeApiTestGroup(void)305*35238bceSAndroid Build Coastguard Worker     virtual ~NegativeApiTestGroup(void)
306*35238bceSAndroid Build Coastguard Worker     {
307*35238bceSAndroid Build Coastguard Worker     }
308*35238bceSAndroid Build Coastguard Worker 
init(void)309*35238bceSAndroid Build Coastguard Worker     virtual void init(void)
310*35238bceSAndroid Build Coastguard Worker     {
311*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeBufferApiTests(m_context));
312*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeTextureApiTests(m_context));
313*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeShaderApiTests(m_context));
314*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeFragmentApiTests(m_context));
315*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeVertexArrayApiTests(m_context));
316*35238bceSAndroid Build Coastguard Worker         addChild(new NegativeStateApiTests(m_context));
317*35238bceSAndroid Build Coastguard Worker     }
318*35238bceSAndroid Build Coastguard Worker };
319*35238bceSAndroid Build Coastguard Worker 
320*35238bceSAndroid Build Coastguard Worker class FragmentOpTests : public TestCaseGroup
321*35238bceSAndroid Build Coastguard Worker {
322*35238bceSAndroid Build Coastguard Worker public:
FragmentOpTests(Context & context)323*35238bceSAndroid Build Coastguard Worker     FragmentOpTests(Context &context) : TestCaseGroup(context, "fragment_ops", "Per-Fragment Operation Tests")
324*35238bceSAndroid Build Coastguard Worker     {
325*35238bceSAndroid Build Coastguard Worker     }
326*35238bceSAndroid Build Coastguard Worker 
init(void)327*35238bceSAndroid Build Coastguard Worker     void init(void)
328*35238bceSAndroid Build Coastguard Worker     {
329*35238bceSAndroid Build Coastguard Worker         addChild(new DepthTests(m_context));
330*35238bceSAndroid Build Coastguard Worker         addChild(new StencilTests(m_context));
331*35238bceSAndroid Build Coastguard Worker         addChild(new DepthStencilTests(m_context));
332*35238bceSAndroid Build Coastguard Worker         addChild(new BlendTests(m_context));
333*35238bceSAndroid Build Coastguard Worker         addChild(new RandomFragmentOpTests(m_context));
334*35238bceSAndroid Build Coastguard Worker         addChild(new FragOpInteractionTests(m_context));
335*35238bceSAndroid Build Coastguard Worker         addChild(new ScissorTests(m_context));
336*35238bceSAndroid Build Coastguard Worker     }
337*35238bceSAndroid Build Coastguard Worker };
338*35238bceSAndroid Build Coastguard Worker 
339*35238bceSAndroid Build Coastguard Worker class StateQueryTests : public TestCaseGroup
340*35238bceSAndroid Build Coastguard Worker {
341*35238bceSAndroid Build Coastguard Worker public:
StateQueryTests(Context & context)342*35238bceSAndroid Build Coastguard Worker     StateQueryTests(Context &context) : TestCaseGroup(context, "state_query", "State Query Tests")
343*35238bceSAndroid Build Coastguard Worker     {
344*35238bceSAndroid Build Coastguard Worker     }
345*35238bceSAndroid Build Coastguard Worker 
init(void)346*35238bceSAndroid Build Coastguard Worker     void init(void)
347*35238bceSAndroid Build Coastguard Worker     {
348*35238bceSAndroid Build Coastguard Worker         addChild(new BooleanStateQueryTests(m_context));
349*35238bceSAndroid Build Coastguard Worker         addChild(new IntegerStateQueryTests(m_context));
350*35238bceSAndroid Build Coastguard Worker         addChild(new Integer64StateQueryTests(m_context));
351*35238bceSAndroid Build Coastguard Worker         addChild(new FloatStateQueryTests(m_context));
352*35238bceSAndroid Build Coastguard Worker         addChild(new IndexedStateQueryTests(m_context));
353*35238bceSAndroid Build Coastguard Worker         addChild(new TextureStateQueryTests(m_context));
354*35238bceSAndroid Build Coastguard Worker         addChild(new StringQueryTests(m_context));
355*35238bceSAndroid Build Coastguard Worker         addChild(new SamplerStateQueryTests(m_context));
356*35238bceSAndroid Build Coastguard Worker         addChild(new BufferObjectQueryTests(m_context));
357*35238bceSAndroid Build Coastguard Worker         addChild(new FboStateQueryTests(m_context));
358*35238bceSAndroid Build Coastguard Worker         addChild(new RboStateQueryTests(m_context));
359*35238bceSAndroid Build Coastguard Worker         addChild(new ShaderStateQueryTests(m_context));
360*35238bceSAndroid Build Coastguard Worker         addChild(new InternalFormatQueryTests(m_context));
361*35238bceSAndroid Build Coastguard Worker     }
362*35238bceSAndroid Build Coastguard Worker };
363*35238bceSAndroid Build Coastguard Worker 
FunctionalTests(Context & context)364*35238bceSAndroid Build Coastguard Worker FunctionalTests::FunctionalTests(Context &context) : TestCaseGroup(context, "functional", "Functionality Tests")
365*35238bceSAndroid Build Coastguard Worker {
366*35238bceSAndroid Build Coastguard Worker }
367*35238bceSAndroid Build Coastguard Worker 
~FunctionalTests(void)368*35238bceSAndroid Build Coastguard Worker FunctionalTests::~FunctionalTests(void)
369*35238bceSAndroid Build Coastguard Worker {
370*35238bceSAndroid Build Coastguard Worker }
371*35238bceSAndroid Build Coastguard Worker 
init(void)372*35238bceSAndroid Build Coastguard Worker void FunctionalTests::init(void)
373*35238bceSAndroid Build Coastguard Worker {
374*35238bceSAndroid Build Coastguard Worker     addChild(new PrerequisiteTests(m_context));
375*35238bceSAndroid Build Coastguard Worker     addChild(new ImplementationLimitTests(m_context));
376*35238bceSAndroid Build Coastguard Worker     addChild(new ColorClearTest(m_context));
377*35238bceSAndroid Build Coastguard Worker     addChild(new DepthStencilClearTests(m_context));
378*35238bceSAndroid Build Coastguard Worker     addChild(new BufferTests(m_context));
379*35238bceSAndroid Build Coastguard Worker     addChild(new ShaderTests(m_context));
380*35238bceSAndroid Build Coastguard Worker     addChild(new TextureTests(m_context));
381*35238bceSAndroid Build Coastguard Worker     addChild(new FragmentOpTests(m_context));
382*35238bceSAndroid Build Coastguard Worker     addChild(new FboTests(m_context));
383*35238bceSAndroid Build Coastguard Worker     addChild(new VertexArrayTestGroup(m_context));
384*35238bceSAndroid Build Coastguard Worker     addChild(new UniformBlockTests(m_context));
385*35238bceSAndroid Build Coastguard Worker     addChild(new UniformApiTests(m_context));
386*35238bceSAndroid Build Coastguard Worker     addChild(createAttributeLocationTests(m_context));
387*35238bceSAndroid Build Coastguard Worker     addChild(new FragmentOutputTests(m_context));
388*35238bceSAndroid Build Coastguard Worker     addChild(new SamplerObjectTests(m_context));
389*35238bceSAndroid Build Coastguard Worker     addChild(new PixelBufferObjectTests(m_context));
390*35238bceSAndroid Build Coastguard Worker     addChild(new RasterizationTests(m_context));
391*35238bceSAndroid Build Coastguard Worker     addChild(new OcclusionQueryTests(m_context));
392*35238bceSAndroid Build Coastguard Worker     addChild(new VertexArrayObjectTestGroup(m_context));
393*35238bceSAndroid Build Coastguard Worker     addChild(new PrimitiveRestartTests(m_context));
394*35238bceSAndroid Build Coastguard Worker     addChild(new InstancedRenderingTests(m_context));
395*35238bceSAndroid Build Coastguard Worker     addChild(new RasterizerDiscardTests(m_context));
396*35238bceSAndroid Build Coastguard Worker     addChild(new TransformFeedbackTests(m_context));
397*35238bceSAndroid Build Coastguard Worker     addChild(new SyncTests(m_context));
398*35238bceSAndroid Build Coastguard Worker     addChild(new ShaderApiTests(m_context));
399*35238bceSAndroid Build Coastguard Worker     addChild(new NegativeApiTestGroup(m_context));
400*35238bceSAndroid Build Coastguard Worker     addChild(new MultisampleTests(m_context));
401*35238bceSAndroid Build Coastguard Worker     addChild(new ReadPixelsTests(m_context));
402*35238bceSAndroid Build Coastguard Worker     addChild(new DitheringTests(m_context));
403*35238bceSAndroid Build Coastguard Worker     addChild(new StateQueryTests(m_context));
404*35238bceSAndroid Build Coastguard Worker     addChild(new ClippingTests(m_context));
405*35238bceSAndroid Build Coastguard Worker     addChild(new PolygonOffsetTests(m_context));
406*35238bceSAndroid Build Coastguard Worker     addChild(new DrawTests(m_context));
407*35238bceSAndroid Build Coastguard Worker     addChild(new FlushFinishTests(m_context));
408*35238bceSAndroid Build Coastguard Worker     addChild(new DefaultVertexAttributeTests(m_context));
409*35238bceSAndroid Build Coastguard Worker     addChild(createLifetimeTests(m_context));
410*35238bceSAndroid Build Coastguard Worker     addChild(new DefaultVertexArrayObjectTests(m_context));
411*35238bceSAndroid Build Coastguard Worker     addChild(createDrawBuffersIndexedTests(m_context));
412*35238bceSAndroid Build Coastguard Worker }
413*35238bceSAndroid Build Coastguard Worker 
GL45ES3FunctionalTests(Context & context)414*35238bceSAndroid Build Coastguard Worker GL45ES3FunctionalTests::GL45ES3FunctionalTests(Context &context)
415*35238bceSAndroid Build Coastguard Worker     : TestCaseGroup(context, "functional", "Functionality Tests")
416*35238bceSAndroid Build Coastguard Worker {
417*35238bceSAndroid Build Coastguard Worker }
418*35238bceSAndroid Build Coastguard Worker 
~GL45ES3FunctionalTests(void)419*35238bceSAndroid Build Coastguard Worker GL45ES3FunctionalTests::~GL45ES3FunctionalTests(void)
420*35238bceSAndroid Build Coastguard Worker {
421*35238bceSAndroid Build Coastguard Worker }
422*35238bceSAndroid Build Coastguard Worker 
init(void)423*35238bceSAndroid Build Coastguard Worker void GL45ES3FunctionalTests::init(void)
424*35238bceSAndroid Build Coastguard Worker {
425*35238bceSAndroid Build Coastguard Worker     addChild(createDrawBuffersIndexedTests(m_context));
426*35238bceSAndroid Build Coastguard Worker     addChild(new StateQueryTests(m_context));
427*35238bceSAndroid Build Coastguard Worker     addChild(new NegativeApiTestGroup(m_context));
428*35238bceSAndroid Build Coastguard Worker }
429*35238bceSAndroid Build Coastguard Worker 
430*35238bceSAndroid Build Coastguard Worker } // namespace Functional
431*35238bceSAndroid Build Coastguard Worker } // namespace gles3
432*35238bceSAndroid Build Coastguard Worker } // namespace deqp
433