1e5c31af7Sopenharmony_ci/*-------------------------------------------------------------------------
2e5c31af7Sopenharmony_ci * drawElements Quality Program OpenGL ES 2.0 Module
3e5c31af7Sopenharmony_ci * -------------------------------------------------
4e5c31af7Sopenharmony_ci *
5e5c31af7Sopenharmony_ci * Copyright 2014 The Android Open Source Project
6e5c31af7Sopenharmony_ci *
7e5c31af7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
8e5c31af7Sopenharmony_ci * you may not use this file except in compliance with the License.
9e5c31af7Sopenharmony_ci * You may obtain a copy of the License at
10e5c31af7Sopenharmony_ci *
11e5c31af7Sopenharmony_ci *      http://www.apache.org/licenses/LICENSE-2.0
12e5c31af7Sopenharmony_ci *
13e5c31af7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
14e5c31af7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
15e5c31af7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16e5c31af7Sopenharmony_ci * See the License for the specific language governing permissions and
17e5c31af7Sopenharmony_ci * limitations under the License.
18e5c31af7Sopenharmony_ci *
19e5c31af7Sopenharmony_ci *//*!
20e5c31af7Sopenharmony_ci * \file
21e5c31af7Sopenharmony_ci * \brief Performance tests.
22e5c31af7Sopenharmony_ci *//*--------------------------------------------------------------------*/
23e5c31af7Sopenharmony_ci
24e5c31af7Sopenharmony_ci#include "es2pPerformanceTests.hpp"
25e5c31af7Sopenharmony_ci
26e5c31af7Sopenharmony_ci#include "es2pBlendTests.hpp"
27e5c31af7Sopenharmony_ci#include "es2pTextureFormatTests.hpp"
28e5c31af7Sopenharmony_ci#include "es2pTextureFilteringTests.hpp"
29e5c31af7Sopenharmony_ci#include "es2pTextureCountTests.hpp"
30e5c31af7Sopenharmony_ci#include "es2pShaderOperatorTests.hpp"
31e5c31af7Sopenharmony_ci#include "es2pShaderControlStatementTests.hpp"
32e5c31af7Sopenharmony_ci#include "es2pShaderCompilerTests.hpp"
33e5c31af7Sopenharmony_ci#include "es2pTextureUploadTests.hpp"
34e5c31af7Sopenharmony_ci#include "es2pStateChangeCallTests.hpp"
35e5c31af7Sopenharmony_ci#include "es2pStateChangeTests.hpp"
36e5c31af7Sopenharmony_ci#include "es2pRedundantStateChangeTests.hpp"
37e5c31af7Sopenharmony_ci#include "es2pDrawCallBatchingTests.hpp"
38e5c31af7Sopenharmony_ci#include "es2pShaderOptimizationTests.hpp"
39e5c31af7Sopenharmony_ci
40e5c31af7Sopenharmony_cinamespace deqp
41e5c31af7Sopenharmony_ci{
42e5c31af7Sopenharmony_cinamespace gles2
43e5c31af7Sopenharmony_ci{
44e5c31af7Sopenharmony_cinamespace Performance
45e5c31af7Sopenharmony_ci{
46e5c31af7Sopenharmony_ci
47e5c31af7Sopenharmony_ci// TextureTestGroup
48e5c31af7Sopenharmony_ci
49e5c31af7Sopenharmony_ciclass TextureTestGroup : public TestCaseGroup
50e5c31af7Sopenharmony_ci{
51e5c31af7Sopenharmony_cipublic:
52e5c31af7Sopenharmony_ci	TextureTestGroup (Context& context)
53e5c31af7Sopenharmony_ci		: TestCaseGroup(context, "texture", "Texture Performance Tests")
54e5c31af7Sopenharmony_ci	{
55e5c31af7Sopenharmony_ci	}
56e5c31af7Sopenharmony_ci
57e5c31af7Sopenharmony_ci	virtual void init (void)
58e5c31af7Sopenharmony_ci	{
59e5c31af7Sopenharmony_ci		addChild(new TextureFormatTests		(m_context));
60e5c31af7Sopenharmony_ci		addChild(new TextureFilteringTests	(m_context));
61e5c31af7Sopenharmony_ci		addChild(new TextureCountTests		(m_context));
62e5c31af7Sopenharmony_ci		addChild(new TextureUploadTests		(m_context));
63e5c31af7Sopenharmony_ci	}
64e5c31af7Sopenharmony_ci};
65e5c31af7Sopenharmony_ci
66e5c31af7Sopenharmony_ci// ShadersTestGroup
67e5c31af7Sopenharmony_ci
68e5c31af7Sopenharmony_ciclass ShadersTestGroup : public TestCaseGroup
69e5c31af7Sopenharmony_ci{
70e5c31af7Sopenharmony_cipublic:
71e5c31af7Sopenharmony_ci	ShadersTestGroup (Context& context)
72e5c31af7Sopenharmony_ci		: TestCaseGroup(context, "shader", "Shader Performance Tests")
73e5c31af7Sopenharmony_ci	{
74e5c31af7Sopenharmony_ci	}
75e5c31af7Sopenharmony_ci
76e5c31af7Sopenharmony_ci	virtual void init (void)
77e5c31af7Sopenharmony_ci	{
78e5c31af7Sopenharmony_ci		addChild(new ShaderOperatorTests			(m_context));
79e5c31af7Sopenharmony_ci		addChild(new ShaderControlStatementTests	(m_context));
80e5c31af7Sopenharmony_ci	}
81e5c31af7Sopenharmony_ci};
82e5c31af7Sopenharmony_ci
83e5c31af7Sopenharmony_ci// APITestGroup
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ciclass APITestGroup : public TestCaseGroup
86e5c31af7Sopenharmony_ci{
87e5c31af7Sopenharmony_cipublic:
88e5c31af7Sopenharmony_ci	APITestGroup (Context& context)
89e5c31af7Sopenharmony_ci		: TestCaseGroup(context, "api", "API Performance Tests")
90e5c31af7Sopenharmony_ci	{
91e5c31af7Sopenharmony_ci	}
92e5c31af7Sopenharmony_ci
93e5c31af7Sopenharmony_ci	virtual void init (void)
94e5c31af7Sopenharmony_ci	{
95e5c31af7Sopenharmony_ci		addChild(new StateChangeCallTests		(m_context));
96e5c31af7Sopenharmony_ci		addChild(new StateChangeTests			(m_context));
97e5c31af7Sopenharmony_ci		addChild(new RedundantStateChangeTests	(m_context));
98e5c31af7Sopenharmony_ci		addChild(new DrawCallBatchingTests		(m_context));
99e5c31af7Sopenharmony_ci	}
100e5c31af7Sopenharmony_ci};
101e5c31af7Sopenharmony_ci
102e5c31af7Sopenharmony_ci// PerformanceTests
103e5c31af7Sopenharmony_ci
104e5c31af7Sopenharmony_ciPerformanceTests::PerformanceTests (Context& context)
105e5c31af7Sopenharmony_ci	: TestCaseGroup(context, "performance", "Performance Tests")
106e5c31af7Sopenharmony_ci{
107e5c31af7Sopenharmony_ci}
108e5c31af7Sopenharmony_ci
109e5c31af7Sopenharmony_ciPerformanceTests::~PerformanceTests (void)
110e5c31af7Sopenharmony_ci{
111e5c31af7Sopenharmony_ci}
112e5c31af7Sopenharmony_ci
113e5c31af7Sopenharmony_civoid PerformanceTests::init (void)
114e5c31af7Sopenharmony_ci{
115e5c31af7Sopenharmony_ci	addChild(new BlendTests					(m_context));
116e5c31af7Sopenharmony_ci	addChild(new TextureTestGroup			(m_context));
117e5c31af7Sopenharmony_ci	addChild(new ShadersTestGroup			(m_context));
118e5c31af7Sopenharmony_ci	addChild(new ShaderCompilerTests		(m_context));
119e5c31af7Sopenharmony_ci	addChild(new APITestGroup				(m_context));
120e5c31af7Sopenharmony_ci}
121e5c31af7Sopenharmony_ci
122e5c31af7Sopenharmony_ci} // Performance
123e5c31af7Sopenharmony_ci} // gles2
124e5c31af7Sopenharmony_ci} // deqp
125