13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*-------------------------------------------------------------------------
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program OpenGL ES 3.1 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 Tests.
223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/
233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fFunctionalTests.hpp"
253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "glsShaderLibrary.hpp"
273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fBasicComputeShaderTests.hpp"
283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fComputeShaderBuiltinVarTests.hpp"
293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fDrawTests.hpp"
303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderSharedVarTests.hpp"
313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fAtomicCounterTests.hpp"
323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderAtomicOpTests.hpp"
333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderImageLoadStoreTests.hpp"
343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTessellationTests.hpp"
353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSSBOLayoutTests.hpp"
363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSSBOArrayLengthTests.hpp"
373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderCommonFunctionTests.hpp"
383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderPackingFunctionTests.hpp"
393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderIntegerFunctionTests.hpp"
403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fStencilTexturingTests.hpp"
413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderTextureSizeTests.hpp"
423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderStateQueryTests.hpp"
433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fLayoutBindingTests.hpp"
443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureLevelStateQueryTests.hpp"
453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fIntegerStateQueryTests.hpp"
463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fInternalFormatQueryTests.hpp"
478852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry#include "es31fTextureFilteringTests.hpp"
483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureFormatTests.hpp"
493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureSpecificationTests.hpp"
503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureMultisampleTests.hpp"
513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fMultisampleTests.hpp"
523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSynchronizationTests.hpp"
533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fGeometryShaderTests.hpp"
543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSampleShadingTests.hpp"
553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSampleVariableTests.hpp"
563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fIndirectComputeDispatchTests.hpp"
573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fVertexAttributeBindingTests.hpp"
583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fVertexAttributeBindingStateQueryTests.hpp"
593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderMultisampleInterpolationTests.hpp"
603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderMultisampleInterpolationStateQueryTests.hpp"
613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fProgramUniformTests.hpp"
623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fOpaqueTypeIndexingTests.hpp"
633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fAdvancedBlendTests.hpp"
643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSeparateShaderTests.hpp"
653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fUniformLocationTests.hpp"
663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fBuiltinPrecisionTests.hpp"
673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTessellationGeometryInteractionTests.hpp"
683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fUniformBlockTests.hpp"
693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fDebugTests.hpp"
708852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry#include "es31fFboColorbufferTests.hpp"
713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fFboNoAttachmentTests.hpp"
723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fProgramInterfaceQueryTests.hpp"
733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureGatherTests.hpp"
743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureFormatTests.hpp"
753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureBufferTests.hpp"
763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderBuiltinConstantTests.hpp"
773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderHelperInvocationTests.hpp"
783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
793c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace deqp
803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
813c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace gles31
823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
833c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Functional
843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
863c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderLibraryTest : public TestCaseGroup
873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
883c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderLibraryTest (Context& context, const char* name, const char* description)
903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup	(context, name, description)
913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		, m_filename	(name + std::string(".test"))
923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderLibraryTest (Context& context, const char* filename, const char* name, const char* description)
963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup	(context, name, description)
973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		, m_filename	(filename)
983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		gls::ShaderLibrary			shaderLibrary(m_testCtx, m_context.getRenderContext(), m_context.getContextInfo());
1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		std::string					fileName	= "shaders/" + m_filename;
1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		std::vector<tcu::TestNode*>	children	= shaderLibrary.loadShaderFile(fileName.c_str());
1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		for (int i = 0; i < (int)children.size(); i++)
1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			addChild(children[i]);
1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate:
1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	const std::string m_filename;
1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderBuiltinVarTests : public TestCaseGroup
1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderBuiltinVarTests (Context& context)
1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "builtin_var", "Shader Built-in Variable Tests")
1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ComputeShaderBuiltinVarTests(m_context));
1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderBuiltinFunctionTests : public TestCaseGroup
1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderBuiltinFunctionTests (Context& context)
1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "builtin_functions", "Built-in Function Tests")
1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderCommonFunctionTests	(m_context));
1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderPackingFunctionTests	(m_context));
1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderIntegerFunctionTests	(m_context));
1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderTextureSizeTests		(m_context));
1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(createBuiltinPrecisionTests	(m_context));
1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderLinkageTests : public TestCaseGroup
1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderLinkageTests (Context& context)
1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context,  "linkage", "Linkage Tests")
1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest(m_context, "linkage_geometry.test", "geometry", "Geometry shader"));
1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest(m_context, "linkage_tessellation.test", "tessellation", "Tessellation shader"));
1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest(m_context, "linkage_tessellation_geometry.test", "tessellation_geometry", "Tessellation and geometry shader"));
1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest(m_context, "linkage_shader_storage_block.test", "shader_storage_block", "Shader storage blocks"));
1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest(m_context, "linkage_io_block.test", "io_block", "Shader io blocks"));
1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderTests : public TestCaseGroup
1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderTests (Context& context)
1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "shaders", "Shading Language Tests")
1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderBuiltinVarTests				(m_context));
1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderBuiltinFunctionTests			(m_context));
1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new SampleVariableTests				(m_context));
1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderMultisampleInterpolationTests(m_context));
1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new OpaqueTypeIndexingTests			(m_context));
1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest					(m_context, "functions", "Function Tests"));
1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest					(m_context, "arrays_of_arrays", "Arrays of Arrays Tests"));
1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLinkageTests					(m_context));
1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderBuiltinConstantTests			(m_context));
1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderHelperInvocationTests		(m_context));
1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderLibraryTest					(m_context, "implicit_conversions", "GL_EXT_shader_implicit_conversions Tests"));
1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ComputeTests : public TestCaseGroup
1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ComputeTests (Context& context)
1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "compute", "Compute Shader Tests")
1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new BasicComputeShaderTests		(m_context));
2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderSharedVarTests			(m_context));
2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new IndirectComputeDispatchTests	(m_context));
2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SSBOTests : public TestCaseGroup
2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	SSBOTests (Context& context)
2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "ssbo", "Shader Storage Buffer Object Tests")
2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new SSBOLayoutTests			(m_context));
2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderAtomicOpTests		(m_context, "atomic", ATOMIC_OPERAND_BUFFER_VARIABLE));
2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new SSBOArrayLengthTests		(m_context));
2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass TextureTests : public TestCaseGroup
2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TextureTests (Context& context)
2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "texture", "Texture tests")
2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2318852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry		addChild(new TextureFilteringTests		(m_context));
2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new TextureFormatTests			(m_context));
2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new TextureSpecificationTests	(m_context));
2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new TextureMultisampleTests	(m_context));
2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new TextureGatherTests			(m_context));
2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(createTextureBufferTests		(m_context));
2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass StateQueryTests : public TestCaseGroup
2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	StateQueryTests (Context& context)
2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "state_query", "State query tests")
2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new IntegerStateQueryTests							(m_context));
2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new TextureLevelStateQueryTests					(m_context));
2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderStateQueryTests							(m_context));
2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new InternalFormatQueryTests						(m_context));
2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new VertexAttributeBindingStateQueryTests			(m_context));
2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(new ShaderMultisampleInterpolationStateQueryTests	(m_context));
2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass FboTests : public TestCaseGroup
2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	FboTests (Context& context)
2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		: TestCaseGroup(context, "fbo", "Framebuffer Object Tests")
2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	void init (void)
2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2698852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry		addChild(new FboColorTests						(m_context));
2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(createFboNoAttachmentTests				(m_context));
2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		addChild(createFboNoAttachmentCompletenessTests	(m_context));
2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	}
2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2753c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::FunctionalTests (Context& context)
2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	: TestCaseGroup(context, "functional", "Functionality Tests")
2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2803c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::~FunctionalTests (void)
2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid FunctionalTests::init (void)
2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new ShaderTests							(m_context));
2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new ComputeTests							(m_context));
2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new DrawTests								(m_context));
2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new TessellationTests						(m_context));
2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new SSBOTests								(m_context));
2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new UniformBlockTests						(m_context));
2923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new ShaderImageLoadStoreTests				(m_context));
2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new AtomicCounterTests						(m_context));
2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new StencilTexturingTests					(m_context));
2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new TextureTests							(m_context));
2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new StateQueryTests						(m_context));
2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new MultisampleTests						(m_context));
2983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new SynchronizationTests					(m_context));
2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new GeometryShaderTests					(m_context));
3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new SampleShadingTests						(m_context));
3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new VertexAttributeBindingTests			(m_context));
3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new ProgramUniformTests					(m_context));
3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new AdvancedBlendTests						(m_context));
3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(createSeparateShaderTests					(m_context));
3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new UniformLocationTests					(m_context));
3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new TessellationGeometryInteractionTests	(m_context));
3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new DebugTests								(m_context));
3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new FboTests								(m_context));
3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new ProgramInterfaceQueryTests				(m_context));
3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new LayoutBindingTests						(m_context));
3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Functional
3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gles31
3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp
317