Home | History | Annotate | Download | only in performance
      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:
     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 		addChild(new TextureUploadTests		(m_context));
     63 	}
     64 };
     65 
     66 // ShadersTestGroup
     67 
     68 class ShadersTestGroup : public TestCaseGroup
     69 {
     70 public:
     71 	ShadersTestGroup (Context& context)
     72 		: TestCaseGroup(context, "shader", "Shader Performance Tests")
     73 	{
     74 	}
     75 
     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:
     88 	APITestGroup (Context& context)
     89 		: TestCaseGroup(context, "api", "API Performance Tests")
     90 	{
     91 	}
     92 
     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 
    104 PerformanceTests::PerformanceTests (Context& context)
    105 	: TestCaseGroup(context, "performance", "Performance Tests")
    106 {
    107 }
    108 
    109 PerformanceTests::~PerformanceTests (void)
    110 {
    111 }
    112 
    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