| /*------------------------------------------------------------------------- |
| * drawElements Quality Program OpenGL ES 3.0 Module |
| * ------------------------------------------------- |
| * |
| * Copyright 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| *//*! |
| * \file |
| * \brief Functional Test Group. |
| *//*--------------------------------------------------------------------*/ |
| |
| #include "es3fFunctionalTests.hpp" |
| |
| #include "es3fColorClearTest.hpp" |
| #include "es3fDepthTests.hpp" |
| #include "es3fPrerequisiteTests.hpp" |
| #include "es3fStencilTests.hpp" |
| #include "es3fDepthStencilTests.hpp" |
| #include "es3fVertexArrayTest.hpp" |
| #include "es3fUniformBlockTests.hpp" |
| #include "es3fUniformApiTests.hpp" |
| #include "es3fFragmentOutputTests.hpp" |
| #include "es3fOcclusionQueryTests.hpp" |
| #include "es3fDepthStencilClearTests.hpp" |
| #include "es3fSamplerObjectTests.hpp" |
| #include "es3fAttribLocationTests.hpp" |
| #include "es3fPixelBufferObjectTests.hpp" |
| #include "es3fRasterizationTests.hpp" |
| #include "es3fRasterizerDiscardTests.hpp" |
| #include "es3fTransformFeedbackTests.hpp" |
| #include "es3fVertexArrayObjectTests.hpp" |
| #include "es3fPrimitiveRestartTests.hpp" |
| #include "es3fInstancedRenderingTests.hpp" |
| #include "es3fSyncTests.hpp" |
| #include "es3fBlendTests.hpp" |
| #include "es3fRandomFragmentOpTests.hpp" |
| #include "es3fMultisampleTests.hpp" |
| #include "es3fMultiviewTests.hpp" |
| #include "es3fImplementationLimitTests.hpp" |
| #include "es3fDitheringTests.hpp" |
| #include "es3fClippingTests.hpp" |
| #include "es3fPolygonOffsetTests.hpp" |
| #include "es3fDrawTests.hpp" |
| #include "es3fFragOpInteractionTests.hpp" |
| #include "es3fFlushFinishTests.hpp" |
| #include "es3fFlushFinishTests.hpp" |
| #include "es3fDefaultVertexAttributeTests.hpp" |
| #include "es3fScissorTests.hpp" |
| #include "es3fLifetimeTests.hpp" |
| #include "es3fDefaultVertexArrayObjectTests.hpp" |
| |
| // Shader tests |
| #include "es3fShaderApiTests.hpp" |
| #include "es3fShaderConstExprTests.hpp" |
| #include "es3fShaderDiscardTests.hpp" |
| #include "es3fShaderIndexingTests.hpp" |
| #include "es3fShaderLoopTests.hpp" |
| #include "es3fShaderMatrixTests.hpp" |
| #include "es3fShaderOperatorTests.hpp" |
| #include "es3fShaderReturnTests.hpp" |
| #include "es3fShaderStructTests.hpp" |
| #include "es3fShaderSwitchTests.hpp" |
| #include "es3fRandomShaderTests.hpp" |
| #include "es3fFragDepthTests.hpp" |
| #include "es3fShaderPrecisionTests.hpp" |
| #include "es3fShaderBuiltinVarTests.hpp" |
| #include "es3fShaderTextureFunctionTests.hpp" |
| #include "es3fShaderDerivateTests.hpp" |
| #include "es3fShaderPackingFunctionTests.hpp" |
| #include "es3fShaderCommonFunctionTests.hpp" |
| #include "es3fShaderInvarianceTests.hpp" |
| #include "es3fShaderFragDataTests.hpp" |
| #include "es3fBuiltinPrecisionTests.hpp" |
| #include "es3fShaderMetamorphicTests.hpp" |
| |
| // Texture tests |
| #include "es3fTextureFormatTests.hpp" |
| #include "es3fTextureWrapTests.hpp" |
| #include "es3fTextureFilteringTests.hpp" |
| #include "es3fTextureMipmapTests.hpp" |
| #include "es3fTextureSizeTests.hpp" |
| #include "es3fTextureSwizzleTests.hpp" |
| #include "es3fTextureShadowTests.hpp" |
| #include "es3fTextureSpecificationTests.hpp" |
| #include "es3fVertexTextureTests.hpp" |
| #include "es3fTextureUnitTests.hpp" |
| #include "es3fCompressedTextureTests.hpp" |
| |
| // Fbo tests |
| #include "es3fFboApiTests.hpp" |
| #include "es3fFboCompletenessTests.hpp" |
| #include "es3fFboColorbufferTests.hpp" |
| #include "es3fFboDepthbufferTests.hpp" |
| #include "es3fFboStencilbufferTests.hpp" |
| #include "es3fFramebufferBlitTests.hpp" |
| #include "es3fFboMultisampleTests.hpp" |
| #include "es3fFboRenderTest.hpp" |
| #include "es3fFboInvalidateTests.hpp" |
| |
| // Buffer tests |
| #include "es3fBufferWriteTests.hpp" |
| #include "es3fBufferMapTests.hpp" |
| #include "es3fBufferCopyTests.hpp" |
| |
| // Negative API tests |
| #include "es3fNegativeBufferApiTests.hpp" |
| #include "es3fNegativeTextureApiTests.hpp" |
| #include "es3fNegativeShaderApiTests.hpp" |
| #include "es3fNegativeFragmentApiTests.hpp" |
| #include "es3fNegativeVertexArrayApiTests.hpp" |
| #include "es3fNegativeStateApiTests.hpp" |
| |
| // State query tests |
| #include "es3fBooleanStateQueryTests.hpp" |
| #include "es3fIntegerStateQueryTests.hpp" |
| #include "es3fInteger64StateQueryTests.hpp" |
| #include "es3fFloatStateQueryTests.hpp" |
| #include "es3fTextureStateQueryTests.hpp" |
| #include "es3fStringQueryTests.hpp" |
| #include "es3fSamplerStateQueryTests.hpp" |
| #include "es3fBufferObjectQueryTests.hpp" |
| #include "es3fFboStateQueryTests.hpp" |
| #include "es3fRboStateQueryTests.hpp" |
| #include "es3fShaderStateQueryTests.hpp" |
| #include "es3fInternalFormatQueryTests.hpp" |
| #include "es3fIndexedStateQueryTests.hpp" |
| |
| #include "es3fReadPixelsTests.hpp" |
| |
| #include "glsShaderLibrary.hpp" |
| |
| namespace deqp |
| { |
| namespace gles3 |
| { |
| namespace Functional |
| { |
| |
| class ShaderLibraryTest : public TestCaseGroup |
| { |
| public: |
| ShaderLibraryTest (Context& context, const char* name, const char* description) |
| : TestCaseGroup(context, name, description) |
| { |
| } |
| |
| void init (void) |
| { |
| gls::ShaderLibrary shaderLibrary(m_testCtx, m_context.getRenderContext(), m_context.getContextInfo()); |
| std::string fileName = std::string("shaders/") + getName() + ".test"; |
| std::vector<tcu::TestNode*> children = shaderLibrary.loadShaderFile(fileName.c_str()); |
| |
| for (int i = 0; i < (int)children.size(); i++) |
| addChild(children[i]); |
| } |
| }; |
| |
| class ShaderBuiltinFunctionTests : public TestCaseGroup |
| { |
| public: |
| ShaderBuiltinFunctionTests (Context& context) |
| : TestCaseGroup(context, "builtin_functions", "Built-in Function Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new ShaderCommonFunctionTests (m_context)); |
| addChild(new ShaderPackingFunctionTests (m_context)); |
| addChild(createBuiltinPrecisionTests (m_context)); |
| } |
| }; |
| |
| class ShaderTests : public TestCaseGroup |
| { |
| public: |
| ShaderTests (Context& context) |
| : TestCaseGroup(context, "shaders", "Shading Language Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new ShaderLibraryTest (m_context, "preprocessor", "Preprocessor Tests")); |
| addChild(new ShaderLibraryTest (m_context, "constants", "Constant Literal Tests")); |
| addChild(new ShaderLibraryTest (m_context, "linkage", "Linkage Tests")); |
| addChild(new ShaderLibraryTest (m_context, "conversions", "Type Conversion Tests")); |
| addChild(new ShaderLibraryTest (m_context, "conditionals", "Conditionals Tests")); |
| addChild(new ShaderLibraryTest (m_context, "declarations", "Declarations Tests")); |
| addChild(new ShaderLibraryTest (m_context, "swizzles", "Swizzle Tests")); |
| addChild(new ShaderLibraryTest (m_context, "swizzle_math_operations", "Swizzle Math Operations Tests")); |
| addChild(new ShaderLibraryTest (m_context, "functions", "Function Tests")); |
| addChild(new ShaderLibraryTest (m_context, "arrays", "Array Tests")); |
| addChild(new ShaderLibraryTest (m_context, "large_constant_arrays", "Large Constant Array Tests")); |
| addChild(new ShaderLibraryTest (m_context, "keywords", "Keyword Tests")); |
| addChild(new ShaderLibraryTest (m_context, "qualification_order", "Order Of Qualification Tests")); |
| addChild(new ShaderLibraryTest (m_context, "scoping", "Scoping of Declarations")); |
| addChild(new ShaderLibraryTest (m_context, "negative", "Miscellaneous Negative Shader Compilation Tests")); |
| addChild(new ShaderLibraryTest (m_context, "uniform_block", "Uniform block tests")); |
| addChild(new ShaderLibraryTest (m_context, "invalid_implicit_conversions", "Invalid Implicit Conversions")); |
| |
| addChild(new ShaderDiscardTests (m_context)); |
| addChild(new ShaderIndexingTests (m_context)); |
| addChild(new ShaderLoopTests (m_context)); |
| addChild(new ShaderOperatorTests (m_context)); |
| addChild(new ShaderMatrixTests (m_context)); |
| addChild(new ShaderReturnTests (m_context)); |
| addChild(new ShaderStructTests (m_context)); |
| addChild(new ShaderSwitchTests (m_context)); |
| addChild(new FragDepthTests (m_context)); |
| addChild(new ShaderPrecisionTests (m_context)); |
| addChild(new ShaderBuiltinVarTests (m_context)); |
| addChild(new ShaderTextureFunctionTests (m_context)); // \todo [pyry] Move to builtin? |
| addChild(new ShaderDerivateTests (m_context)); // \todo [pyry] Move to builtin? |
| addChild(new ShaderBuiltinFunctionTests (m_context)); |
| addChild(new ShaderInvarianceTests (m_context)); |
| addChild(new ShaderFragDataTests (m_context)); |
| addChild(new ShaderConstExprTests (m_context)); |
| addChild(new ShaderMetamorphicTests (m_context)); |
| addChild(new RandomShaderTests (m_context)); |
| } |
| }; |
| |
| class TextureTests : public TestCaseGroup |
| { |
| public: |
| TextureTests (Context& context) |
| : TestCaseGroup(context, "texture", "Texture Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new TextureFormatTests (m_context)); |
| addChild(new TextureSizeTests (m_context)); |
| addChild(new TextureWrapTests (m_context)); |
| addChild(new TextureFilteringTests (m_context)); |
| addChild(new TextureMipmapTests (m_context)); |
| addChild(new TextureSwizzleTests (m_context)); |
| addChild(new TextureShadowTests (m_context)); |
| addChild(new TextureSpecificationTests (m_context)); |
| addChild(new VertexTextureTests (m_context)); |
| addChild(new TextureUnitTests (m_context)); |
| addChild(new CompressedTextureTests (m_context)); |
| } |
| }; |
| |
| class FboTests : public TestCaseGroup |
| { |
| public: |
| FboTests (Context& context) |
| : TestCaseGroup(context, "fbo", "Framebuffer Object Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new FboApiTests (m_context)); |
| addChild(createFboCompletenessTests (m_context)); |
| addChild(new FboRenderTestGroup (m_context)); |
| addChild(new FboColorTests (m_context)); |
| addChild(new FboDepthTests (m_context)); |
| addChild(new FboStencilTests (m_context)); |
| addChild(new FramebufferBlitTests (m_context)); |
| addChild(new FboMultisampleTests (m_context)); |
| addChild(new MultiviewTests (m_context)); |
| addChild(new FboInvalidateTests (m_context)); |
| } |
| }; |
| |
| class BufferTests : public TestCaseGroup |
| { |
| public: |
| BufferTests (Context& context) |
| : TestCaseGroup(context, "buffer", "Buffer object tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new BufferWriteTests (m_context)); |
| addChild(new BufferMapTests (m_context)); |
| addChild(new BufferCopyTests (m_context)); |
| } |
| }; |
| |
| class NegativeApiTestGroup : public TestCaseGroup |
| { |
| public: |
| NegativeApiTestGroup (Context& context) |
| : TestCaseGroup(context, "negative_api", "Negative API Tests") |
| { |
| } |
| |
| virtual ~NegativeApiTestGroup (void) |
| { |
| } |
| |
| virtual void init (void) |
| { |
| addChild(new NegativeBufferApiTests (m_context)); |
| addChild(new NegativeTextureApiTests (m_context)); |
| addChild(new NegativeShaderApiTests (m_context)); |
| addChild(new NegativeFragmentApiTests (m_context)); |
| addChild(new NegativeVertexArrayApiTests (m_context)); |
| addChild(new NegativeStateApiTests (m_context)); |
| } |
| }; |
| |
| class FragmentOpTests : public TestCaseGroup |
| { |
| public: |
| FragmentOpTests (Context& context) |
| : TestCaseGroup(context, "fragment_ops", "Per-Fragment Operation Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new DepthTests (m_context)); |
| addChild(new StencilTests (m_context)); |
| addChild(new DepthStencilTests (m_context)); |
| addChild(new BlendTests (m_context)); |
| addChild(new RandomFragmentOpTests (m_context)); |
| addChild(new FragOpInteractionTests (m_context)); |
| addChild(new ScissorTests (m_context)); |
| } |
| }; |
| |
| class StateQueryTests : public TestCaseGroup |
| { |
| public: |
| StateQueryTests (Context& context) |
| : TestCaseGroup(context, "state_query", "State Query Tests") |
| { |
| } |
| |
| void init (void) |
| { |
| addChild(new BooleanStateQueryTests (m_context)); |
| addChild(new IntegerStateQueryTests (m_context)); |
| addChild(new Integer64StateQueryTests (m_context)); |
| addChild(new FloatStateQueryTests (m_context)); |
| addChild(new IndexedStateQueryTests (m_context)); |
| addChild(new TextureStateQueryTests (m_context)); |
| addChild(new StringQueryTests (m_context)); |
| addChild(new SamplerStateQueryTests (m_context)); |
| addChild(new BufferObjectQueryTests (m_context)); |
| addChild(new FboStateQueryTests (m_context)); |
| addChild(new RboStateQueryTests (m_context)); |
| addChild(new ShaderStateQueryTests (m_context)); |
| addChild(new InternalFormatQueryTests (m_context)); |
| } |
| }; |
| |
| FunctionalTests::FunctionalTests (Context& context) |
| : TestCaseGroup(context, "functional", "Functionality Tests") |
| { |
| } |
| |
| FunctionalTests::~FunctionalTests (void) |
| { |
| } |
| |
| void FunctionalTests::init (void) |
| { |
| addChild(new PrerequisiteTests (m_context)); |
| addChild(new ImplementationLimitTests (m_context)); |
| addChild(new ColorClearTest (m_context)); |
| addChild(new DepthStencilClearTests (m_context)); |
| addChild(new BufferTests (m_context)); |
| addChild(new ShaderTests (m_context)); |
| addChild(new TextureTests (m_context)); |
| addChild(new FragmentOpTests (m_context)); |
| addChild(new FboTests (m_context)); |
| addChild(new VertexArrayTestGroup (m_context)); |
| addChild(new UniformBlockTests (m_context)); |
| addChild(new UniformApiTests (m_context)); |
| addChild(createAttributeLocationTests (m_context)); |
| addChild(new FragmentOutputTests (m_context)); |
| addChild(new SamplerObjectTests (m_context)); |
| addChild(new PixelBufferObjectTests (m_context)); |
| addChild(new RasterizationTests (m_context)); |
| addChild(new OcclusionQueryTests (m_context)); |
| addChild(new VertexArrayObjectTestGroup (m_context)); |
| addChild(new PrimitiveRestartTests (m_context)); |
| addChild(new InstancedRenderingTests (m_context)); |
| addChild(new RasterizerDiscardTests (m_context)); |
| addChild(new TransformFeedbackTests (m_context)); |
| addChild(new SyncTests (m_context)); |
| addChild(new ShaderApiTests (m_context)); |
| addChild(new NegativeApiTestGroup (m_context)); |
| addChild(new MultisampleTests (m_context)); |
| addChild(new ReadPixelsTests (m_context)); |
| addChild(new DitheringTests (m_context)); |
| addChild(new StateQueryTests (m_context)); |
| addChild(new ClippingTests (m_context)); |
| addChild(new PolygonOffsetTests (m_context)); |
| addChild(new DrawTests (m_context)); |
| addChild(new FlushFinishTests (m_context)); |
| addChild(new DefaultVertexAttributeTests (m_context)); |
| addChild(createLifetimeTests (m_context)); |
| addChild(new DefaultVertexArrayObjectTests (m_context)); |
| } |
| |
| } // Functional |
| } // gles3 |
| } // deqp |