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" 47cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fBooleanStateQueryTests.hpp" 48cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fIndexedStateQueryTests.hpp" 49cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fTextureStateQueryTests.hpp" 50cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fFramebufferDefaultStateQueryTests.hpp" 51cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fProgramPipelineStateQueryTests.hpp" 52cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry#include "es31fProgramStateQueryTests.hpp" 53c423ce6164cdd88c8c3e47bec4ec34476743042aJarkko Pöyry#include "es31fSamplerStateQueryTests.hpp" 548852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry#include "es31fTextureFilteringTests.hpp" 553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureFormatTests.hpp" 563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureSpecificationTests.hpp" 573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureMultisampleTests.hpp" 583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fMultisampleTests.hpp" 593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSynchronizationTests.hpp" 603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fGeometryShaderTests.hpp" 613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSampleShadingTests.hpp" 623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSampleVariableTests.hpp" 633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fIndirectComputeDispatchTests.hpp" 643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fVertexAttributeBindingTests.hpp" 653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fVertexAttributeBindingStateQueryTests.hpp" 663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderMultisampleInterpolationTests.hpp" 673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderMultisampleInterpolationStateQueryTests.hpp" 683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fProgramUniformTests.hpp" 693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fOpaqueTypeIndexingTests.hpp" 703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fAdvancedBlendTests.hpp" 713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fSeparateShaderTests.hpp" 723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fUniformLocationTests.hpp" 733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fBuiltinPrecisionTests.hpp" 743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTessellationGeometryInteractionTests.hpp" 753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fUniformBlockTests.hpp" 763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fDebugTests.hpp" 778852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry#include "es31fFboColorbufferTests.hpp" 783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fFboNoAttachmentTests.hpp" 793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fProgramInterfaceQueryTests.hpp" 803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureGatherTests.hpp" 813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureFormatTests.hpp" 823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fTextureBufferTests.hpp" 8306fe4fe2a28c6c5a7cab7431d313648cf8054943Jarkko Pöyry#include "es31fTextureBorderClampTests.hpp" 843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderBuiltinConstantTests.hpp" 853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es31fShaderHelperInvocationTests.hpp" 861f99d6991ce9a27d32ec0543d95646fe4e7bf001Jarkko Pöyry#include "es31fPrimitiveBoundingBoxTests.hpp" 879e574351a4724975bf91b1e74ccae8786d711386Jarkko Pöyry#include "es31fAndroidExtensionPackES31ATests.hpp" 88433e5704171098c7cd062c7339b259ad76a55678Mika Isojärvi#include "es31fCopyImageTests.hpp" 8968a7147b19e8aa28f66ef6aec399ed0c836f81c0Mika Isojärvi#include "es31fDrawBuffersIndexedTests.hpp" 90f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry#include "es31fDefaultVertexArrayObjectTests.hpp" 913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 923c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace deqp 933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 943c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace gles31 953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 963c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Functional 973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 993c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderLibraryTest : public TestCaseGroup 1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderLibraryTest (Context& context, const char* name, const char* description) 1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup (context, name, description) 1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry , m_filename (name + std::string(".test")) 1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderLibraryTest (Context& context, const char* filename, const char* name, const char* description) 1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup (context, name, description) 1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry , m_filename (filename) 1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gls::ShaderLibrary shaderLibrary(m_testCtx, m_context.getRenderContext(), m_context.getContextInfo()); 1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry std::string fileName = "shaders/" + m_filename; 1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry std::vector<tcu::TestNode*> children = shaderLibrary.loadShaderFile(fileName.c_str()); 1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int i = 0; i < (int)children.size(); i++) 1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(children[i]); 1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate: 1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const std::string m_filename; 1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderBuiltinVarTests : public TestCaseGroup 1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderBuiltinVarTests (Context& context) 1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "builtin_var", "Shader Built-in Variable Tests") 1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ComputeShaderBuiltinVarTests(m_context)); 1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderBuiltinFunctionTests : public TestCaseGroup 1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderBuiltinFunctionTests (Context& context) 1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "builtin_functions", "Built-in Function Tests") 1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderCommonFunctionTests (m_context)); 1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderPackingFunctionTests (m_context)); 1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderIntegerFunctionTests (m_context)); 1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderTextureSizeTests (m_context)); 1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createBuiltinPrecisionTests (m_context)); 1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderLinkageTests : public TestCaseGroup 1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderLinkageTests (Context& context) 1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "linkage", "Linkage Tests") 1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest(m_context, "linkage_geometry.test", "geometry", "Geometry shader")); 1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest(m_context, "linkage_tessellation.test", "tessellation", "Tessellation shader")); 1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest(m_context, "linkage_tessellation_geometry.test", "tessellation_geometry", "Tessellation and geometry shader")); 1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest(m_context, "linkage_shader_storage_block.test", "shader_storage_block", "Shader storage blocks")); 1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest(m_context, "linkage_io_block.test", "io_block", "Shader io blocks")); 1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderTests : public TestCaseGroup 1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ShaderTests (Context& context) 1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "shaders", "Shading Language Tests") 1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderBuiltinVarTests (m_context)); 1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderBuiltinFunctionTests (m_context)); 1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SampleVariableTests (m_context)); 1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderMultisampleInterpolationTests(m_context)); 1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new OpaqueTypeIndexingTests (m_context)); 1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "functions", "Function Tests")); 194cafd5f117a5193d45d75ee3ccdf52caded3d76ceJarkko Pöyry addChild(new ShaderLibraryTest (m_context, "arrays", "Arrays Tests")); 1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "arrays_of_arrays", "Arrays of Arrays Tests")); 1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLinkageTests (m_context)); 1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderBuiltinConstantTests (m_context)); 1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderHelperInvocationTests (m_context)); 1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderLibraryTest (m_context, "implicit_conversions", "GL_EXT_shader_implicit_conversions Tests")); 200cacbbf83a31d6ae30f08ee58117cc6b037354806Mika Isojärvi addChild(new ShaderLibraryTest (m_context, "uniform_block", "Uniform block tests")); 2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ComputeTests : public TestCaseGroup 2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ComputeTests (Context& context) 2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "compute", "Compute Shader Tests") 2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new BasicComputeShaderTests (m_context)); 2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderSharedVarTests (m_context)); 2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new IndirectComputeDispatchTests (m_context)); 2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SSBOTests : public TestCaseGroup 2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry SSBOTests (Context& context) 2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "ssbo", "Shader Storage Buffer Object Tests") 2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SSBOLayoutTests (m_context)); 2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderAtomicOpTests (m_context, "atomic", ATOMIC_OPERAND_BUFFER_VARIABLE)); 2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SSBOArrayLengthTests (m_context)); 2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass TextureTests : public TestCaseGroup 2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry TextureTests (Context& context) 2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "texture", "Texture tests") 2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2468852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry addChild(new TextureFilteringTests (m_context)); 2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureFormatTests (m_context)); 2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureSpecificationTests (m_context)); 2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureMultisampleTests (m_context)); 2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureGatherTests (m_context)); 2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createTextureBufferTests (m_context)); 25206fe4fe2a28c6c5a7cab7431d313648cf8054943Jarkko Pöyry addChild(new TextureBorderClampTests (m_context)); 2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass StateQueryTests : public TestCaseGroup 2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateQueryTests (Context& context) 2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "state_query", "State query tests") 2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 266cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new BooleanStateQueryTests (m_context)); 2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new IntegerStateQueryTests (m_context)); 268cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new IndexedStateQueryTests (m_context)); 269cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new TextureStateQueryTests (m_context)); 2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureLevelStateQueryTests (m_context)); 271c423ce6164cdd88c8c3e47bec4ec34476743042aJarkko Pöyry addChild(new SamplerStateQueryTests (m_context)); 2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderStateQueryTests (m_context)); 2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new InternalFormatQueryTests (m_context)); 2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new VertexAttributeBindingStateQueryTests (m_context)); 2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderMultisampleInterpolationStateQueryTests (m_context)); 276cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new FramebufferDefaultStateQueryTests (m_context)); 277cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new ProgramStateQueryTests (m_context)); 278cb82ed72dcbbfd8a6d07736c3259605227bc984fJarkko Pöyry addChild(new ProgramPipelineStateQueryTests (m_context)); 2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass FboTests : public TestCaseGroup 2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry FboTests (Context& context) 2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "fbo", "Framebuffer Object Tests") 2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void init (void) 2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2928852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry addChild(new FboColorTests (m_context)); 2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createFboNoAttachmentTests (m_context)); 2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createFboNoAttachmentCompletenessTests (m_context)); 2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2983c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::FunctionalTests (Context& context) 2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "functional", "Functionality Tests") 3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3033c827367444ee418f129b2c238299f49d3264554Jarkko PoyryFunctionalTests::~FunctionalTests (void) 3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid FunctionalTests::init (void) 3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderTests (m_context)); 3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ComputeTests (m_context)); 3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new DrawTests (m_context)); 3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TessellationTests (m_context)); 3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SSBOTests (m_context)); 3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new UniformBlockTests (m_context)); 3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ShaderImageLoadStoreTests (m_context)); 3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new AtomicCounterTests (m_context)); 3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StencilTexturingTests (m_context)); 3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TextureTests (m_context)); 3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateQueryTests (m_context)); 3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new MultisampleTests (m_context)); 3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SynchronizationTests (m_context)); 3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new GeometryShaderTests (m_context)); 3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new SampleShadingTests (m_context)); 3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new VertexAttributeBindingTests (m_context)); 3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ProgramUniformTests (m_context)); 3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new AdvancedBlendTests (m_context)); 3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(createSeparateShaderTests (m_context)); 3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new UniformLocationTests (m_context)); 3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new TessellationGeometryInteractionTests (m_context)); 3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new DebugTests (m_context)); 3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new FboTests (m_context)); 3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new ProgramInterfaceQueryTests (m_context)); 3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new LayoutBindingTests (m_context)); 3341f99d6991ce9a27d32ec0543d95646fe4e7bf001Jarkko Pöyry addChild(new PrimitiveBoundingBoxTests (m_context)); 3359e574351a4724975bf91b1e74ccae8786d711386Jarkko Pöyry addChild(new AndroidExtensionPackES31ATests (m_context)); 336433e5704171098c7cd062c7339b259ad76a55678Mika Isojärvi addChild(createCopyImageTests (m_context)); 33768a7147b19e8aa28f66ef6aec399ed0c836f81c0Mika Isojärvi addChild(createDrawBuffersIndexedTests (m_context)); 338f38ef819208f45b43dc0723142a9585dddf5d813Jarkko Pöyry addChild(new DefaultVertexArrayObjectTests (m_context)); 3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Functional 3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gles31 3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp 344