13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*------------------------------------------------------------------------- 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program OpenGL ES 3.0 Module 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * ------------------------------------------------- 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License"); 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License. 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at 103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * http://www.apache.org/licenses/LICENSE-2.0 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS, 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and 173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License. 183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*! 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief Functional Test Group. 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/ 233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFunctionalTests.hpp" 253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fColorClearTest.hpp" 273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDepthTests.hpp" 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fPrerequisiteTests.hpp" 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fStencilTests.hpp" 303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDepthStencilTests.hpp" 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fVertexArrayTest.hpp" 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fUniformBlockTests.hpp" 333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fUniformApiTests.hpp" 343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFragmentOutputTests.hpp" 353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fOcclusionQueryTests.hpp" 363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDepthStencilClearTests.hpp" 373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fSamplerObjectTests.hpp" 383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fAttribLocationTests.hpp" 393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fPixelBufferObjectTests.hpp" 403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fRasterizationTests.hpp" 413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fRasterizerDiscardTests.hpp" 423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTransformFeedbackTests.hpp" 433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fVertexArrayObjectTests.hpp" 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fPrimitiveRestartTests.hpp" 453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fInstancedRenderingTests.hpp" 463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fSyncTests.hpp" 473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBlendTests.hpp" 483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fRandomFragmentOpTests.hpp" 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fMultisampleTests.hpp" 503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fImplementationLimitTests.hpp" 513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDitheringTests.hpp" 523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fClippingTests.hpp" 533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fPolygonOffsetTests.hpp" 543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDrawTests.hpp" 553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFragOpInteractionTests.hpp" 563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFlushFinishTests.hpp" 573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFlushFinishTests.hpp" 583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fDefaultVertexAttributeTests.hpp" 593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fScissorTests.hpp" 603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fLifetimeTests.hpp" 61f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry#include "es3fDefaultVertexArrayObjectTests.hpp" 623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Shader tests 643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderApiTests.hpp" 653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderConstExprTests.hpp" 663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderDiscardTests.hpp" 673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderIndexingTests.hpp" 683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderLoopTests.hpp" 693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderMatrixTests.hpp" 703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderOperatorTests.hpp" 713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderReturnTests.hpp" 723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderStructTests.hpp" 733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderSwitchTests.hpp" 743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fRandomShaderTests.hpp" 753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFragDepthTests.hpp" 763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderPrecisionTests.hpp" 773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderBuiltinVarTests.hpp" 783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderTextureFunctionTests.hpp" 793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderDerivateTests.hpp" 803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderPackingFunctionTests.hpp" 813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderCommonFunctionTests.hpp" 823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderInvarianceTests.hpp" 833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderFragDataTests.hpp" 843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBuiltinPrecisionTests.hpp" 853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Texture tests 873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureFormatTests.hpp" 883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureWrapTests.hpp" 893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureFilteringTests.hpp" 903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureMipmapTests.hpp" 913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureSizeTests.hpp" 923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureSwizzleTests.hpp" 933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureShadowTests.hpp" 943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureSpecificationTests.hpp" 953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fVertexTextureTests.hpp" 963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureUnitTests.hpp" 973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fCompressedTextureTests.hpp" 983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Fbo tests 1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboApiTests.hpp" 1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboCompletenessTests.hpp" 1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboColorbufferTests.hpp" 1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboDepthbufferTests.hpp" 1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboStencilbufferTests.hpp" 1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFramebufferBlitTests.hpp" 1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboMultisampleTests.hpp" 1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboRenderTest.hpp" 1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboInvalidateTests.hpp" 1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Buffer tests 1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBufferWriteTests.hpp" 1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBufferMapTests.hpp" 1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBufferCopyTests.hpp" 1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Negative API tests 1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeBufferApiTests.hpp" 1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeTextureApiTests.hpp" 1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeShaderApiTests.hpp" 1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeFragmentApiTests.hpp" 1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeVertexArrayApiTests.hpp" 1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fNegativeStateApiTests.hpp" 1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// State query tests 1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBooleanStateQueryTests.hpp" 1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fIntegerStateQueryTests.hpp" 1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fInteger64StateQueryTests.hpp" 1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFloatStateQueryTests.hpp" 1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fTextureStateQueryTests.hpp" 1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fStringQueryTests.hpp" 1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fSamplerStateQueryTests.hpp" 1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fBufferObjectQueryTests.hpp" 1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fFboStateQueryTests.hpp" 1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fRboStateQueryTests.hpp" 1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fShaderStateQueryTests.hpp" 1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fInternalFormatQueryTests.hpp" 1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fIndexedStateQueryTests.hpp" 1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es3fReadPixelsTests.hpp" 1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "glsShaderLibrary.hpp" 1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace deqp 1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace gles3 1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Functional 1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderLibraryTest : public TestCaseGroup 1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderLibraryTest (Context& context, const char* name, const char* description) 1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, name, description) 1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gls::ShaderLibrary shaderLibrary(m_testCtx, m_context.getRenderContext(), m_context.getContextInfo()); 1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry std::string fileName = std::string("shaders/") + getName() + ".test"; 1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry std::vector<tcu::TestNode*> children = shaderLibrary.loadShaderFile(fileName.c_str()); 1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int i = 0; i < (int)children.size(); i++) 1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(children[i]); 1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderBuiltinFunctionTests : public TestCaseGroup 1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderBuiltinFunctionTests (Context& context) 1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "builtin_functions", "Built-in Function Tests") 1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderCommonFunctionTests (m_context)); 1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderPackingFunctionTests (m_context)); 1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createBuiltinPrecisionTests (m_context)); 1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderTests : public TestCaseGroup 1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderTests (Context& context) 1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "shaders", "Shading Language Tests") 1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "preprocessor", "Preprocessor Tests")); 1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "constants", "Constant Literal Tests")); 1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "linkage", "Linkage Tests")); 1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "conversions", "Type Conversion Tests")); 1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "conditionals", "Conditionals Tests")); 1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "declarations", "Declarations Tests")); 2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "swizzles", "Swizzle Tests")); 2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "functions", "Function Tests")); 2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "arrays", "Array Tests")); 2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "keywords", "Keyword Tests")); 2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "qualification_order", "Order Of Qualification Tests")); 2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "scoping", "Scoping of Declarations")); 2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "negative", "Miscellaneous Negative Shader Compilation Tests")); 2070a9d96ece56b7068267e62e57f8fac45eb7b10ecMika Isojärvi addChild(new ShaderLibraryTest (m_context, "uniform_block", "Uniform block tests")); 2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderDiscardTests (m_context)); 2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderIndexingTests (m_context)); 2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLoopTests (m_context)); 2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderOperatorTests (m_context)); 2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderMatrixTests (m_context)); 2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderReturnTests (m_context)); 2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderStructTests (m_context)); 2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderSwitchTests (m_context)); 2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FragDepthTests (m_context)); 2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderPrecisionTests (m_context)); 2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderBuiltinVarTests (m_context)); 2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderTextureFunctionTests (m_context)); // \todo [pyry] Move to builtin? 2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderDerivateTests (m_context)); // \todo [pyry] Move to builtin? 2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderBuiltinFunctionTests (m_context)); 2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderInvarianceTests (m_context)); 2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderFragDataTests (m_context)); 2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderConstExprTests (m_context)); 2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new RandomShaderTests (m_context)); 2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass TextureTests : public TestCaseGroup 2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry TextureTests (Context& context) 2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "texture", "Texture Tests") 2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureFormatTests (m_context)); 2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureSizeTests (m_context)); 2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureWrapTests (m_context)); 2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureFilteringTests (m_context)); 2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureMipmapTests (m_context)); 2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureSwizzleTests (m_context)); 2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureShadowTests (m_context)); 2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureSpecificationTests (m_context)); 2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new VertexTextureTests (m_context)); 2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureUnitTests (m_context)); 2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new CompressedTextureTests (m_context)); 2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass FboTests : public TestCaseGroup 2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry FboTests (Context& context) 2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "fbo", "Framebuffer Object Tests") 2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboApiTests (m_context)); 2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createFboCompletenessTests (m_context)); 2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboRenderTestGroup (m_context)); 2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboColorTests (m_context)); 2693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboDepthTests (m_context)); 2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboStencilTests (m_context)); 2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FramebufferBlitTests (m_context)); 2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboMultisampleTests (m_context)); 2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboInvalidateTests (m_context)); 2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass BufferTests : public TestCaseGroup 2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry BufferTests (Context& context) 2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "buffer", "Buffer object tests") 2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BufferWriteTests (m_context)); 2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BufferMapTests (m_context)); 2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BufferCopyTests (m_context)); 2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass NegativeApiTestGroup : public TestCaseGroup 2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry NegativeApiTestGroup (Context& context) 2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "negative_api", "Negative API Tests") 2983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual ~NegativeApiTestGroup (void) 3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void init (void) 3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeBufferApiTests (m_context)); 3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeTextureApiTests (m_context)); 3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeShaderApiTests (m_context)); 3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeFragmentApiTests (m_context)); 3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeVertexArrayApiTests (m_context)); 3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new NegativeStateApiTests (m_context)); 3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass FragmentOpTests : public TestCaseGroup 3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry FragmentOpTests (Context& context) 3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "fragment_ops", "Per-Fragment Operation Tests") 3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new DepthTests (m_context)); 3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StencilTests (m_context)); 3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new DepthStencilTests (m_context)); 3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BlendTests (m_context)); 3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new RandomFragmentOpTests (m_context)); 3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FragOpInteractionTests (m_context)); 3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ScissorTests (m_context)); 3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 3353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3363c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass StateQueryTests : public TestCaseGroup 3373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3383c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateQueryTests (Context& context) 3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "state_query", "State Query Tests") 3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 3453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BooleanStateQueryTests (m_context)); 3473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new IntegerStateQueryTests (m_context)); 3483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new Integer64StateQueryTests (m_context)); 3493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FloatStateQueryTests (m_context)); 3503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new IndexedStateQueryTests (m_context)); 3513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureStateQueryTests (m_context)); 3523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StringQueryTests (m_context)); 3533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SamplerStateQueryTests (m_context)); 3543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BufferObjectQueryTests (m_context)); 3553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboStateQueryTests (m_context)); 3563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new RboStateQueryTests (m_context)); 3573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderStateQueryTests (m_context)); 3583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new InternalFormatQueryTests (m_context)); 3593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 3613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3623c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::FunctionalTests (Context& context) 3633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "functional", "Functionality Tests") 3643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 3663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3673c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::~FunctionalTests (void) 3683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 3703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3713c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid FunctionalTests::init (void) 3723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 373f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new PrerequisiteTests (m_context)); 374f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ImplementationLimitTests (m_context)); 375f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ColorClearTest (m_context)); 376f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DepthStencilClearTests (m_context)); 377f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new BufferTests (m_context)); 378f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ShaderTests (m_context)); 379f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new TextureTests (m_context)); 380f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new FragmentOpTests (m_context)); 381f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new FboTests (m_context)); 382f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new VertexArrayTestGroup (m_context)); 383f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new UniformBlockTests (m_context)); 384f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new UniformApiTests (m_context)); 385f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(createAttributeLocationTests (m_context)); 386f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new FragmentOutputTests (m_context)); 387f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new SamplerObjectTests (m_context)); 388f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new PixelBufferObjectTests (m_context)); 389f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new RasterizationTests (m_context)); 390f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new OcclusionQueryTests (m_context)); 391f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new VertexArrayObjectTestGroup (m_context)); 392f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new PrimitiveRestartTests (m_context)); 393f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new InstancedRenderingTests (m_context)); 394f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new RasterizerDiscardTests (m_context)); 395f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new TransformFeedbackTests (m_context)); 396f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new SyncTests (m_context)); 397f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ShaderApiTests (m_context)); 398f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new NegativeApiTestGroup (m_context)); 399f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new MultisampleTests (m_context)); 400f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ReadPixelsTests (m_context)); 401f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DitheringTests (m_context)); 402f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new StateQueryTests (m_context)); 403f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new ClippingTests (m_context)); 404f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new PolygonOffsetTests (m_context)); 405f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DrawTests (m_context)); 406f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new FlushFinishTests (m_context)); 407f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DefaultVertexAttributeTests (m_context)); 408f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(createLifetimeTests (m_context)); 409f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DefaultVertexArrayObjectTests (m_context)); 4103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 4113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Functional 4133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gles3 4143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp 415