Home | History | Annotate | Download | only in performance
      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 
     40 namespace deqp
     41 {
     42 namespace gles3
     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 	}
     63 };
     64 
     65 // ShadersTestGroup
     66 
     67 class ShadersTestGroup : public TestCaseGroup
     68 {
     69 public:
     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 
     84 class APITests : public TestCaseGroup
     85 {
     86 public:
     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 
    102 class BufferTestGroup : public TestCaseGroup
    103 {
    104 public:
    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 
    118 PerformanceTests::PerformanceTests (Context& context)
    119 	: TestCaseGroup(context, "performance", "Performance Tests")
    120 {
    121 }
    122 
    123 PerformanceTests::~PerformanceTests (void)
    124 {
    125 }
    126 
    127 void 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