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 Base class for a test case. 22 *//*--------------------------------------------------------------------*/ 23 24#include "es2fFunctionalTests.hpp" 25 26#include "es2fColorClearTest.hpp" 27#include "es2fLightAmountTest.hpp" 28#include "es2fShaderExecuteTest.hpp" 29#include "es2fFboApiTest.hpp" 30#include "es2fFboRenderTest.hpp" 31#include "es2fFboCompletenessTests.hpp" 32#include "es2fRandomShaderTests.hpp" 33#include "es2fPrerequisiteTests.hpp" 34#include "es2fDepthTests.hpp" 35#include "es2fStencilTests.hpp" 36#include "es2fScissorTests.hpp" 37#include "es2fVertexArrayTest.hpp" 38#include "es2fRasterizationTests.hpp" 39#include "es2fDepthStencilClearTests.hpp" 40#include "es2fDepthStencilTests.hpp" 41#include "es2fBlendTests.hpp" 42#include "es2fRandomFragmentOpTests.hpp" 43#include "es2fMultisampleTests.hpp" 44#include "es2fUniformApiTests.hpp" 45#include "es2fBufferWriteTests.hpp" 46#include "es2fImplementationLimitTests.hpp" 47#include "es2fDepthRangeTests.hpp" 48#include "es2fDitheringTests.hpp" 49#include "es2fClippingTests.hpp" 50#include "es2fPolygonOffsetTests.hpp" 51#include "es2fDrawTests.hpp" 52#include "es2fFragOpInteractionTests.hpp" 53#include "es2fFlushFinishTests.hpp" 54#include "es2fDefaultVertexAttributeTests.hpp" 55#include "es2fLifetimeTests.hpp" 56 57#include "es2fTextureFormatTests.hpp" 58#include "es2fTextureWrapTests.hpp" 59#include "es2fTextureFilteringTests.hpp" 60#include "es2fTextureMipmapTests.hpp" 61#include "es2fTextureSizeTests.hpp" 62#include "es2fTextureSpecificationTests.hpp" 63#include "es2fTextureCompletenessTests.hpp" 64#include "es2fNegativeVertexArrayApiTests.hpp" 65#include "es2fNegativeTextureApiTests.hpp" 66#include "es2fNegativeFragmentApiTests.hpp" 67#include "es2fNegativeBufferApiTests.hpp" 68#include "es2fNegativeShaderApiTests.hpp" 69#include "es2fNegativeStateApiTests.hpp" 70#include "es2fVertexTextureTests.hpp" 71#include "es2fTextureUnitTests.hpp" 72 73#include "es2fShaderApiTests.hpp" 74#include "es2fShaderAlgorithmTests.hpp" 75#include "es2fShaderBuiltinVarTests.hpp" 76#include "es2fShaderConstExprTests.hpp" 77#include "es2fShaderDiscardTests.hpp" 78#include "es2fShaderIndexingTests.hpp" 79#include "es2fShaderLoopTests.hpp" 80#include "es2fShaderOperatorTests.hpp" 81#include "es2fShaderReturnTests.hpp" 82#include "es2fShaderStructTests.hpp" 83#include "es2fShaderMatrixTests.hpp" 84#include "es2fShaderTextureFunctionTests.hpp" 85#include "es2fAttribLocationTests.hpp" 86#include "es2fShaderInvarianceTests.hpp" 87#include "es2fShaderFragDataTests.hpp" 88 89// State query tests 90#include "es2fBooleanStateQueryTests.hpp" 91#include "es2fIntegerStateQueryTests.hpp" 92#include "es2fFloatStateQueryTests.hpp" 93#include "es2fTextureStateQueryTests.hpp" 94#include "es2fStringQueryTests.hpp" 95#include "es2fBufferObjectQueryTests.hpp" 96#include "es2fFboStateQueryTests.hpp" 97#include "es2fRboStateQueryTests.hpp" 98#include "es2fShaderStateQueryTests.hpp" 99 100#include "es2fReadPixelsTests.hpp" 101#include "es2fDebugMarkerTests.hpp" 102 103namespace deqp 104{ 105namespace gles2 106{ 107namespace Functional 108{ 109 110// ShadersTestGroup 111 112class ShadersTestGroup : public TestCaseGroup 113{ 114public: 115 ShadersTestGroup (Context& context) 116 : TestCaseGroup(context, "shaders", "Shader Tests") 117 { 118 } 119 120 virtual ~ShadersTestGroup (void) 121 { 122 } 123 124 virtual void init (void) 125 { 126 addChild(new ShaderExecuteTest(m_context, "preprocessor", "Preprocessor Tests")); 127 addChild(new ShaderExecuteTest(m_context, "constants", "Constant Literal Tests")); 128 addChild(new ShaderExecuteTest(m_context, "linkage", "Linkage Tests")); 129 addChild(new ShaderExecuteTest(m_context, "conversions", "Type Conversion Tests")); 130 addChild(new ShaderExecuteTest(m_context, "conditionals", "Conditionals Tests")); 131 addChild(new ShaderExecuteTest(m_context, "declarations", "Declarations Tests")); 132 addChild(new ShaderExecuteTest(m_context, "swizzles", "Swizzle Tests")); 133 addChild(new ShaderExecuteTest(m_context, "functions", "Function Tests")); 134 addChild(new ShaderExecuteTest(m_context, "keywords", "Keyword Tests")); 135 addChild(new ShaderExecuteTest(m_context, "reserved_operators", "Reserved Operator Tests")); 136 addChild(new ShaderExecuteTest(m_context, "qualification_order", "Order of Qualification Tests")); 137 addChild(new ShaderExecuteTest(m_context, "scoping", "Scoping of Declarations")); 138 139 addChild(new ShaderIndexingTests (m_context)); 140 addChild(new ShaderLoopTests (m_context)); 141 addChild(new ShaderOperatorTests (m_context)); 142 addChild(new ShaderMatrixTests (m_context)); 143 addChild(new ShaderReturnTests (m_context)); 144 addChild(new ShaderDiscardTests (m_context)); 145 addChild(new ShaderStructTests (m_context)); 146 addChild(new ShaderBuiltinVarTests (m_context)); 147 addChild(new ShaderTextureFunctionTests (m_context)); 148 addChild(new ShaderInvarianceTests (m_context)); 149 addChild(new ShaderFragDataTests (m_context)); 150 addChild(new ShaderAlgorithmTests (m_context)); 151 addChild(new ShaderConstExprTests (m_context)); 152 153 addChild(new RandomShaderTests(m_context)); 154 } 155}; 156 157// TextureTestGroup 158 159class TextureTestGroup : public TestCaseGroup 160{ 161public: 162 TextureTestGroup (Context& context) 163 : TestCaseGroup(context, "texture", "Texture Tests") 164 { 165 } 166 167 virtual ~TextureTestGroup (void) 168 { 169 } 170 171 virtual void init (void) 172 { 173 addChild(new TextureFormatTests (m_context)); 174 addChild(new TextureSizeTests (m_context)); 175 addChild(new TextureWrapTests (m_context)); 176 addChild(new TextureFilteringTests (m_context)); 177 addChild(new TextureMipmapTests (m_context)); 178 addChild(new TextureSpecificationTests (m_context)); 179 addChild(new TextureCompletenessTests (m_context)); 180 addChild(new VertexTextureTests (m_context)); 181 addChild(new TextureUnitTests (m_context)); 182 } 183 184 virtual void deinit (void) 185 { 186 } 187}; 188 189class BufferTests : public TestCaseGroup 190{ 191public: 192 BufferTests (Context& context) 193 : TestCaseGroup(context, "buffer", "Buffer object tests") 194 { 195 } 196 197 void init (void) 198 { 199 addChild(new BufferWriteTests(m_context)); 200 } 201}; 202 203// FboTestGroup 204 205class FboTestGroup : public TestCaseGroup 206{ 207public: 208 FboTestGroup (Context& context) 209 : TestCaseGroup(context, "fbo", "Framebuffer Object Tests") 210 { 211 } 212 213 virtual ~FboTestGroup (void) 214 { 215 } 216 217 virtual void init (void) 218 { 219 addChild(new FboApiTestGroup(m_context)); 220 addChild(new FboRenderTestGroup(m_context)); 221 addChild(createFboCompletenessTests(m_context)); 222 } 223}; 224 225// NegativeApiTestGroup 226 227class NegativeApiTestGroup : public TestCaseGroup 228{ 229public: 230 NegativeApiTestGroup (Context& context) 231 : TestCaseGroup(context, "negative_api", "Negative API Tests") 232 { 233 } 234 235 virtual ~NegativeApiTestGroup (void) 236 { 237 } 238 239 virtual void init (void) 240 { 241 addChild(new NegativeBufferApiTests (m_context)); 242 addChild(new NegativeFragmentApiTests (m_context)); 243 addChild(new NegativeShaderApiTests (m_context)); 244 addChild(new NegativeStateApiTests (m_context)); 245 addChild(new NegativeTextureApiTests (m_context)); 246 addChild(new NegativeVertexArrayApiTests (m_context)); 247 } 248}; 249 250// FragmentOpTests 251 252class FragmentOpTests : public TestCaseGroup 253{ 254public: 255 FragmentOpTests (Context& context) 256 : TestCaseGroup(context, "fragment_ops", "Per-Fragment Operation Tests") 257 { 258 } 259 260 void init (void) 261 { 262 addChild(new DepthTests (m_context)); 263 addChild(new StencilTests (m_context)); 264 addChild(new DepthStencilTests (m_context)); 265 addChild(new ScissorTests (m_context)); 266 addChild(new BlendTests (m_context)); 267 addChild(new RandomFragmentOpTests (m_context)); 268 addChild(new FragOpInteractionTests (m_context)); 269 } 270}; 271 272// StateQueryTests 273 274class StateQueryTests : public TestCaseGroup 275{ 276public: 277 StateQueryTests (Context& context) 278 : TestCaseGroup(context, "state_query", "State Query Tests") 279 { 280 } 281 282 void init (void) 283 { 284 addChild(new BooleanStateQueryTests (m_context)); 285 addChild(new IntegerStateQueryTests (m_context)); 286 addChild(new FloatStateQueryTests (m_context)); 287 addChild(new TextureStateQueryTests (m_context)); 288 addChild(new StringQueryTests (m_context)); 289 addChild(new BufferObjectQueryTests (m_context)); 290 addChild(new FboStateQueryTests (m_context)); 291 addChild(new RboStateQueryTests (m_context)); 292 addChild(new ShaderStateQueryTests (m_context)); 293 } 294}; 295 296// FunctionalTestGroup 297 298FunctionalTests::FunctionalTests (Context& context) 299 : TestCaseGroup(context, "functional", "Functionality Tests") 300{ 301} 302 303FunctionalTests::~FunctionalTests (void) 304{ 305} 306 307void FunctionalTests::init (void) 308{ 309 addChild(new PrerequisiteTests (m_context)); 310 addChild(new ImplementationLimitTests (m_context)); 311 addChild(new ColorClearTest (m_context)); 312 addChild(new DepthStencilClearTests (m_context)); 313 addChild(new BufferTests (m_context)); 314 addChild(new LightAmountTest (m_context)); 315 addChild(new ShadersTestGroup (m_context)); 316 addChild(new TextureTestGroup (m_context)); 317 addChild(new FragmentOpTests (m_context)); 318 addChild(new FboTestGroup (m_context)); 319 addChild(new VertexArrayTestGroup (m_context)); 320 addChild(new ShaderApiTests (m_context)); 321 addChild(new NegativeApiTestGroup (m_context)); 322 addChild(new RasterizationTests (m_context)); 323 addChild(createAttributeLocationTests (m_context)); 324 addChild(new MultisampleTests (m_context)); 325 addChild(new UniformApiTests (m_context)); 326 addChild(new ReadPixelsTests (m_context)); 327 addChild(new DepthRangeTests (m_context)); 328 addChild(new DitheringTests (m_context)); 329 addChild(new StateQueryTests (m_context)); 330 addChild(new ClippingTests (m_context)); 331 addChild(new PolygonOffsetTests (m_context)); 332 addChild(new DrawTests (m_context)); 333 addChild(new FlushFinishTests (m_context)); 334 addChild(new DefaultVertexAttributeTests(m_context)); 335 addChild(createLifetimeTests (m_context)); 336 addChild(createDebugMarkerTests (m_context)); 337} 338 339} // Functional 340} // gles2 341} // deqp 342