1/*-------------------------------------------------------------------------
2 * drawElements Quality Program OpenGL ES 3.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 Performance tests.
22 *//*--------------------------------------------------------------------*/
23
24#include "es3pPerformanceTests.hpp"
25
26#include "es3pBlendTests.hpp"
27#include "es3pTextureFormatTests.hpp"
28#include "es3pTextureFilteringTests.hpp"
29#include "es3pTextureCountTests.hpp"
30#include "es3pShaderOperatorTests.hpp"
31#include "es3pShaderControlStatementTests.hpp"
32#include "es3pShaderCompilerTests.hpp"
33#include "es3pShaderOptimizationTests.hpp"
34#include "es3pRedundantStateChangeTests.hpp"
35#include "es3pStateChangeCallTests.hpp"
36#include "es3pStateChangeTests.hpp"
37#include "es3pBufferDataUploadTests.hpp"
38#include "es3pDepthTests.hpp"
39
40namespace deqp
41{
42namespace gles3
43{
44namespace Performance
45{
46
47// TextureTestGroup
48
49class TextureTestGroup : public TestCaseGroup
50{
51public:
52	TextureTestGroup (Context& context)
53		: TestCaseGroup(context, "texture", "Texture Performance Tests")
54	{
55	}
56
57	virtual void init (void)
58	{
59		addChild(new TextureFormatTests		(m_context));
60		addChild(new TextureFilteringTests	(m_context));
61		addChild(new TextureCountTests		(m_context));
62	}
63};
64
65// ShadersTestGroup
66
67class ShadersTestGroup : public TestCaseGroup
68{
69public:
70	ShadersTestGroup (Context& context)
71		: TestCaseGroup(context, "shader", "Shader Performance Tests")
72	{
73	}
74
75	virtual void init (void)
76	{
77		addChild(new ShaderOperatorTests			(m_context));
78		addChild(new ShaderControlStatementTests	(m_context));
79	}
80};
81
82// APITests
83
84class APITests : public TestCaseGroup
85{
86public:
87	APITests (Context& context)
88		: TestCaseGroup(context, "api", "API Performance Tests")
89	{
90	}
91
92	virtual void init (void)
93	{
94		addChild(new StateChangeCallTests		(m_context));
95		addChild(new StateChangeTests			(m_context));
96		addChild(new RedundantStateChangeTests	(m_context));
97	}
98};
99
100// BufferTestGroup
101
102class BufferTestGroup : public TestCaseGroup
103{
104public:
105	BufferTestGroup (Context& context)
106		: TestCaseGroup(context, "buffer", "Buffer Performance Tests")
107	{
108	}
109
110	virtual void init (void)
111	{
112		addChild(new BufferDataUploadTests	(m_context));
113	}
114};
115
116// PerformanceTests
117
118PerformanceTests::PerformanceTests (Context& context)
119	: TestCaseGroup(context, "performance", "Performance Tests")
120{
121}
122
123PerformanceTests::~PerformanceTests (void)
124{
125}
126
127void PerformanceTests::init (void)
128{
129	addChild(new BlendTests				(m_context));
130	addChild(new TextureTestGroup		(m_context));
131	addChild(new ShadersTestGroup		(m_context));
132	addChild(new ShaderCompilerTests	(m_context));
133	addChild(new APITests				(m_context));
134	addChild(new BufferTestGroup		(m_context));
135	addChild(new DepthTests				(m_context));
136}
137
138} // Performance
139} // gles3
140} // deqp
141