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)
53 : TestCaseGroup(context, "texture", "Texture Performance Tests")
54 {
55 }
56
init(void)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 addChild(new TextureUploadTests (m_context));
63 }
64 };
65
66 // ShadersTestGroup
67
68 class ShadersTestGroup : public TestCaseGroup
69 {
70 public:
ShadersTestGroup(Context & context)71 ShadersTestGroup (Context& context)
72 : TestCaseGroup(context, "shader", "Shader Performance Tests")
73 {
74 }
75
init(void)76 virtual void init (void)
77 {
78 addChild(new ShaderOperatorTests (m_context));
79 addChild(new ShaderControlStatementTests (m_context));
80 }
81 };
82
83 // APITestGroup
84
85 class APITestGroup : public TestCaseGroup
86 {
87 public:
APITestGroup(Context & context)88 APITestGroup (Context& context)
89 : TestCaseGroup(context, "api", "API Performance Tests")
90 {
91 }
92
init(void)93 virtual void init (void)
94 {
95 addChild(new StateChangeCallTests (m_context));
96 addChild(new StateChangeTests (m_context));
97 addChild(new RedundantStateChangeTests (m_context));
98 addChild(new DrawCallBatchingTests (m_context));
99 }
100 };
101
102 // PerformanceTests
103
PerformanceTests(Context & context)104 PerformanceTests::PerformanceTests (Context& context)
105 : TestCaseGroup(context, "performance", "Performance Tests")
106 {
107 }
108
~PerformanceTests(void)109 PerformanceTests::~PerformanceTests (void)
110 {
111 }
112
init(void)113 void PerformanceTests::init (void)
114 {
115 addChild(new BlendTests (m_context));
116 addChild(new TextureTestGroup (m_context));
117 addChild(new ShadersTestGroup (m_context));
118 addChild(new ShaderCompilerTests (m_context));
119 addChild(new APITestGroup (m_context));
120 }
121
122 } // Performance
123 } // gles2
124 } // deqp
125