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 Performance tests.
22 *//*--------------------------------------------------------------------*/
23
24 #include "es2pPerformanceTests.hpp"
25
26 #include "es2pBlendTests.hpp"
27 #include "es2pTextureFormatTests.hpp"
28 #include "es2pTextureFilteringTests.hpp"
29 #include "es2pTextureCountTests.hpp"
30 #include "es2pShaderOperatorTests.hpp"
31 #include "es2pShaderControlStatementTests.hpp"
32 #include "es2pShaderCompilerTests.hpp"
33 #include "es2pTextureUploadTests.hpp"
34 #include "es2pStateChangeCallTests.hpp"
35 #include "es2pStateChangeTests.hpp"
36 #include "es2pRedundantStateChangeTests.hpp"
37 #include "es2pDrawCallBatchingTests.hpp"
38 #include "es2pShaderOptimizationTests.hpp"
39
40 namespace deqp
41 {
42 namespace gles2
43 {
44 namespace Performance
45 {
46
47 // TextureTestGroup
48
49 class TextureTestGroup : public TestCaseGroup
50 {
51 public:
TextureTestGroup(Context & context)52 TextureTestGroup(Context &context) : TestCaseGroup(context, "texture", "Texture Performance Tests")
53 {
54 }
55
init(void)56 virtual void init(void)
57 {
58 addChild(new TextureFormatTests(m_context));
59 addChild(new TextureFilteringTests(m_context));
60 addChild(new TextureCountTests(m_context));
61 addChild(new TextureUploadTests(m_context));
62 }
63 };
64
65 // ShadersTestGroup
66
67 class ShadersTestGroup : public TestCaseGroup
68 {
69 public:
ShadersTestGroup(Context & context)70 ShadersTestGroup(Context &context) : TestCaseGroup(context, "shader", "Shader Performance Tests")
71 {
72 }
73
init(void)74 virtual void init(void)
75 {
76 addChild(new ShaderOperatorTests(m_context));
77 addChild(new ShaderControlStatementTests(m_context));
78 }
79 };
80
81 // APITestGroup
82
83 class APITestGroup : public TestCaseGroup
84 {
85 public:
APITestGroup(Context & context)86 APITestGroup(Context &context) : TestCaseGroup(context, "api", "API Performance Tests")
87 {
88 }
89
init(void)90 virtual void init(void)
91 {
92 addChild(new StateChangeCallTests(m_context));
93 addChild(new StateChangeTests(m_context));
94 addChild(new RedundantStateChangeTests(m_context));
95 addChild(new DrawCallBatchingTests(m_context));
96 }
97 };
98
99 // PerformanceTests
100
PerformanceTests(Context & context)101 PerformanceTests::PerformanceTests(Context &context) : TestCaseGroup(context, "performance", "Performance Tests")
102 {
103 }
104
~PerformanceTests(void)105 PerformanceTests::~PerformanceTests(void)
106 {
107 }
108
init(void)109 void PerformanceTests::init(void)
110 {
111 addChild(new BlendTests(m_context));
112 addChild(new TextureTestGroup(m_context));
113 addChild(new ShadersTestGroup(m_context));
114 addChild(new ShaderCompilerTests(m_context));
115 addChild(new APITestGroup(m_context));
116 }
117
118 } // namespace Performance
119 } // namespace gles2
120 } // namespace deqp
121