• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program OpenGL ES 2.0 Module
3  * -------------------------------------------------
4  *
5  * Copyright 2014 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief Base class for a test case.
22  *//*--------------------------------------------------------------------*/
23 
24 #include "es2fFunctionalTests.hpp"
25 
26 #include "es2fColorClearTest.hpp"
27 #include "es2fLightAmountTest.hpp"
28 #include "es2fMultisampledRenderToTextureTests.hpp"
29 #include "es2fShaderExecuteTest.hpp"
30 #include "es2fFboApiTest.hpp"
31 #include "es2fFboRenderTest.hpp"
32 #include "es2fFboCompletenessTests.hpp"
33 #include "es2fRandomShaderTests.hpp"
34 #include "es2fPrerequisiteTests.hpp"
35 #include "es2fDepthTests.hpp"
36 #include "es2fStencilTests.hpp"
37 #include "es2fScissorTests.hpp"
38 #include "es2fVertexArrayTest.hpp"
39 #include "es2fRasterizationTests.hpp"
40 #include "es2fDepthStencilClearTests.hpp"
41 #include "es2fDepthStencilTests.hpp"
42 #include "es2fBlendTests.hpp"
43 #include "es2fRandomFragmentOpTests.hpp"
44 #include "es2fMultisampleTests.hpp"
45 #include "es2fUniformApiTests.hpp"
46 #include "es2fBufferWriteTests.hpp"
47 #include "es2fImplementationLimitTests.hpp"
48 #include "es2fDepthRangeTests.hpp"
49 #include "es2fDitheringTests.hpp"
50 #include "es2fClippingTests.hpp"
51 #include "es2fClipControlTests.hpp"
52 #include "es2fPolygonOffsetTests.hpp"
53 #include "es2fDrawTests.hpp"
54 #include "es2fFragOpInteractionTests.hpp"
55 #include "es2fFlushFinishTests.hpp"
56 #include "es2fDefaultVertexAttributeTests.hpp"
57 #include "es2fLifetimeTests.hpp"
58 
59 #include "es2fTextureFormatTests.hpp"
60 #include "es2fTextureWrapTests.hpp"
61 #include "es2fTextureFilteringTests.hpp"
62 #include "es2fTextureMipmapTests.hpp"
63 #include "es2fTextureSizeTests.hpp"
64 #include "es2fTextureSpecificationTests.hpp"
65 #include "es2fTextureCompletenessTests.hpp"
66 #include "es2fNegativeVertexArrayApiTests.hpp"
67 #include "es2fNegativeTextureApiTests.hpp"
68 #include "es2fNegativeFragmentApiTests.hpp"
69 #include "es2fNegativeBufferApiTests.hpp"
70 #include "es2fNegativeShaderApiTests.hpp"
71 #include "es2fNegativeStateApiTests.hpp"
72 #include "es2fVertexTextureTests.hpp"
73 #include "es2fTextureUnitTests.hpp"
74 
75 #include "es2fShaderApiTests.hpp"
76 #include "es2fShaderAlgorithmTests.hpp"
77 #include "es2fShaderBuiltinVarTests.hpp"
78 #include "es2fShaderConstExprTests.hpp"
79 #include "es2fShaderDiscardTests.hpp"
80 #include "es2fShaderFunctionTests.hpp"
81 #include "es2fShaderIndexingTests.hpp"
82 #include "es2fShaderLoopTests.hpp"
83 #include "es2fShaderOperatorTests.hpp"
84 #include "es2fShaderReturnTests.hpp"
85 #include "es2fShaderStructTests.hpp"
86 #include "es2fShaderMatrixTests.hpp"
87 #include "es2fShaderTextureFunctionTests.hpp"
88 #include "es2fAttribLocationTests.hpp"
89 #include "es2fShaderInvarianceTests.hpp"
90 #include "es2fShaderFragDataTests.hpp"
91 
92 // State query tests
93 #include "es2fBooleanStateQueryTests.hpp"
94 #include "es2fIntegerStateQueryTests.hpp"
95 #include "es2fFloatStateQueryTests.hpp"
96 #include "es2fTextureStateQueryTests.hpp"
97 #include "es2fStringQueryTests.hpp"
98 #include "es2fBufferObjectQueryTests.hpp"
99 #include "es2fFboStateQueryTests.hpp"
100 #include "es2fRboStateQueryTests.hpp"
101 #include "es2fShaderStateQueryTests.hpp"
102 
103 #include "es2fReadPixelsTests.hpp"
104 #include "es2fDebugMarkerTests.hpp"
105 
106 namespace deqp
107 {
108 namespace gles2
109 {
110 namespace Functional
111 {
112 
113 // ShadersTestGroup
114 
115 class ShadersTestGroup : public TestCaseGroup
116 {
117 public:
ShadersTestGroup(Context & context)118 	ShadersTestGroup (Context& context)
119 		: TestCaseGroup(context, "shaders", "Shader Tests")
120 	{
121 	}
122 
~ShadersTestGroup(void)123 	virtual ~ShadersTestGroup (void)
124 	{
125 	}
126 
init(void)127 	virtual void init (void)
128 	{
129 		addChild(new ShaderExecuteTest(m_context, "preprocessor",					"Preprocessor Tests"));
130 		addChild(new ShaderExecuteTest(m_context, "constants",						"Constant Literal Tests"));
131 		addChild(new ShaderExecuteTest(m_context, "linkage",						"Linkage Tests"));
132 		addChild(new ShaderExecuteTest(m_context, "conversions",					"Type Conversion Tests"));
133 		addChild(new ShaderExecuteTest(m_context, "conditionals",					"Conditionals Tests"));
134 		addChild(new ShaderExecuteTest(m_context, "declarations",					"Declarations Tests"));
135 		addChild(new ShaderExecuteTest(m_context, "swizzles",						"Swizzle Tests"));
136 		addChild(new ShaderExecuteTest(m_context, "functions",						"Function Tests"));
137 		addChild(new ShaderExecuteTest(m_context, "keywords",						"Keyword Tests"));
138 		addChild(new ShaderExecuteTest(m_context, "reserved_operators",				"Reserved Operator Tests"));
139 		addChild(new ShaderExecuteTest(m_context, "qualification_order",			"Order of Qualification Tests"));
140 		addChild(new ShaderExecuteTest(m_context, "scoping",						"Scoping of Declarations"));
141 		addChild(new ShaderExecuteTest(m_context, "invalid_implicit_conversions",	"Invalid Implicit Conversions"));
142 		addChild(new ShaderExecuteTest(m_context, "misc",							"Miscellaneous Tests"));
143 
144 
145 		addChild(new ShaderIndexingTests		(m_context));
146 		addChild(new ShaderLoopTests			(m_context));
147 		addChild(new ShaderOperatorTests		(m_context));
148 		addChild(new ShaderMatrixTests			(m_context));
149 		addChild(new ShaderReturnTests			(m_context));
150 		addChild(new ShaderDiscardTests			(m_context));
151 		addChild(new ShaderStructTests			(m_context));
152 		addChild(new ShaderBuiltinVarTests		(m_context));
153 		addChild(new ShaderTextureFunctionTests	(m_context));
154 		addChild(new ShaderInvarianceTests		(m_context));
155 		addChild(new ShaderFragDataTests		(m_context));
156 		addChild(new ShaderAlgorithmTests		(m_context));
157 		addChild(new ShaderConstExprTests		(m_context));
158 		addChild(new ShaderFunctionTests		(m_context));
159 
160 		addChild(new RandomShaderTests(m_context));
161 	}
162 };
163 
164 // TextureTestGroup
165 
166 class TextureTestGroup : public TestCaseGroup
167 {
168 public:
TextureTestGroup(Context & context)169 	TextureTestGroup (Context& context)
170 		: TestCaseGroup(context, "texture", "Texture Tests")
171 	{
172 	}
173 
~TextureTestGroup(void)174 	virtual ~TextureTestGroup (void)
175 	{
176 	}
177 
init(void)178 	virtual void init (void)
179 	{
180 		addChild(new TextureFormatTests			(m_context));
181 		addChild(new TextureSizeTests			(m_context));
182 		addChild(new TextureWrapTests			(m_context));
183 		addChild(new TextureFilteringTests		(m_context));
184 		addChild(new TextureMipmapTests			(m_context));
185 		addChild(new TextureSpecificationTests	(m_context));
186 		addChild(new TextureCompletenessTests	(m_context));
187 		addChild(new VertexTextureTests			(m_context));
188 		addChild(new TextureUnitTests			(m_context));
189 	}
190 
deinit(void)191 	virtual void deinit (void)
192 	{
193 	}
194 };
195 
196 class BufferTests : public TestCaseGroup
197 {
198 public:
BufferTests(Context & context)199 	BufferTests (Context& context)
200 		: TestCaseGroup(context, "buffer", "Buffer object tests")
201 	{
202 	}
203 
init(void)204 	void init (void)
205 	{
206 		addChild(new BufferWriteTests(m_context));
207 	}
208 };
209 
210 // FboTestGroup
211 
212 class FboTestGroup : public TestCaseGroup
213 {
214 public:
FboTestGroup(Context & context)215 	FboTestGroup (Context& context)
216 		: TestCaseGroup(context, "fbo", "Framebuffer Object Tests")
217 	{
218 	}
219 
~FboTestGroup(void)220 	virtual ~FboTestGroup (void)
221 	{
222 	}
223 
init(void)224 	virtual void init (void)
225 	{
226 		addChild(new FboApiTestGroup(m_context));
227 		addChild(new FboRenderTestGroup(m_context));
228 		addChild(createFboCompletenessTests(m_context));
229 	}
230 };
231 
232 // NegativeApiTestGroup
233 
234 class NegativeApiTestGroup : public TestCaseGroup
235 {
236 public:
NegativeApiTestGroup(Context & context)237 	NegativeApiTestGroup (Context& context)
238 		: TestCaseGroup(context, "negative_api", "Negative API Tests")
239 	{
240 	}
241 
~NegativeApiTestGroup(void)242 	virtual ~NegativeApiTestGroup (void)
243 	{
244 	}
245 
init(void)246 	virtual void init (void)
247 	{
248 		addChild(new NegativeBufferApiTests			(m_context));
249 		addChild(new NegativeFragmentApiTests		(m_context));
250 		addChild(new NegativeShaderApiTests			(m_context));
251 		addChild(new NegativeStateApiTests			(m_context));
252 		addChild(new NegativeTextureApiTests		(m_context));
253 		addChild(new NegativeVertexArrayApiTests	(m_context));
254 	}
255 };
256 
257 // FragmentOpTests
258 
259 class FragmentOpTests : public TestCaseGroup
260 {
261 public:
FragmentOpTests(Context & context)262 	FragmentOpTests (Context& context)
263 		: TestCaseGroup(context, "fragment_ops", "Per-Fragment Operation Tests")
264 	{
265 	}
266 
init(void)267 	void init (void)
268 	{
269 		addChild(new DepthTests				(m_context));
270 		addChild(new StencilTests			(m_context));
271 		addChild(new DepthStencilTests		(m_context));
272 		addChild(new ScissorTests			(m_context));
273 		addChild(new BlendTests				(m_context));
274 		addChild(new RandomFragmentOpTests	(m_context));
275 		addChild(new FragOpInteractionTests	(m_context));
276 	}
277 };
278 
279 // StateQueryTests
280 
281 class StateQueryTests : public TestCaseGroup
282 {
283 public:
StateQueryTests(Context & context)284 	StateQueryTests (Context& context)
285 		: TestCaseGroup(context, "state_query", "State Query Tests")
286 	{
287 	}
288 
init(void)289 	void init (void)
290 	{
291 		addChild(new BooleanStateQueryTests		(m_context));
292 		addChild(new IntegerStateQueryTests		(m_context));
293 		addChild(new FloatStateQueryTests		(m_context));
294 		addChild(new TextureStateQueryTests		(m_context));
295 		addChild(new StringQueryTests			(m_context));
296 		addChild(new BufferObjectQueryTests		(m_context));
297 		addChild(new FboStateQueryTests			(m_context));
298 		addChild(new RboStateQueryTests			(m_context));
299 		addChild(new ShaderStateQueryTests		(m_context));
300 	}
301 };
302 
303 // FunctionalTestGroup
304 
FunctionalTests(Context & context)305 FunctionalTests::FunctionalTests (Context& context)
306 	: TestCaseGroup(context, "functional", "Functionality Tests")
307 {
308 }
309 
~FunctionalTests(void)310 FunctionalTests::~FunctionalTests (void)
311 {
312 }
313 
init(void)314 void FunctionalTests::init (void)
315 {
316 	addChild(new PrerequisiteTests					(m_context));
317 	addChild(new ImplementationLimitTests			(m_context));
318 	addChild(new ClipControlTests					(m_context));
319 	addChild(new ColorClearTest						(m_context));
320 	addChild(new DepthStencilClearTests				(m_context));
321 	addChild(new BufferTests						(m_context));
322 	addChild(new LightAmountTest					(m_context));
323 	addChild(new MultisampledRenderToTextureTests	(m_context));
324 	addChild(new ShadersTestGroup					(m_context));
325 	addChild(new TextureTestGroup					(m_context));
326 	addChild(new FragmentOpTests					(m_context));
327 	addChild(new FboTestGroup						(m_context));
328 	addChild(new VertexArrayTestGroup				(m_context));
329 	addChild(new ShaderApiTests						(m_context));
330 	addChild(new NegativeApiTestGroup				(m_context));
331 	addChild(new RasterizationTests					(m_context));
332 	addChild(createAttributeLocationTests			(m_context));
333 	addChild(new MultisampleTests					(m_context));
334 	addChild(new UniformApiTests					(m_context));
335 	addChild(new ReadPixelsTests					(m_context));
336 	addChild(new DepthRangeTests					(m_context));
337 	addChild(new DitheringTests						(m_context));
338 	addChild(new StateQueryTests					(m_context));
339 	addChild(new ClippingTests						(m_context));
340 	addChild(new PolygonOffsetTests					(m_context));
341 	addChild(new DrawTests							(m_context));
342 	addChild(new FlushFinishTests					(m_context));
343 	addChild(new DefaultVertexAttributeTests		(m_context));
344 	addChild(createLifetimeTests					(m_context));
345 	addChild(createDebugMarkerTests					(m_context));
346 }
347 
348 } // Functional
349 } // gles2
350 } // deqp
351