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