| /*------------------------------------------------------------------------- |
| * OpenGL Conformance Test Suite |
| * ----------------------------- |
| * |
| * Copyright (c) 2014-2016 The Khronos Group Inc. |
| * |
| * 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 |
| */ /*-------------------------------------------------------------------*/ |
| |
| /** |
| */ /*! |
| * \file es31cTextureStorageMultisampleTests.cpp |
| * \brief Implements test group consisting of all the tests verifying |
| * multisample texture functionality. (ES3.1 only) |
| */ /*-------------------------------------------------------------------*/ |
| |
| #include "es31cTextureStorageMultisampleTests.hpp" |
| #include "es31cTextureStorageMultisampleDependenciesTests.hpp" |
| #include "es31cTextureStorageMultisampleFunctionalTests.hpp" |
| #include "es31cTextureStorageMultisampleGLCoverageTests.hpp" |
| #include "es31cTextureStorageMultisampleGetActiveUniformTests.hpp" |
| #include "es31cTextureStorageMultisampleGetMultisamplefvTests.hpp" |
| #include "es31cTextureStorageMultisampleGetTexLevelParameterifvTests.hpp" |
| #include "es31cTextureStorageMultisampleSampleMaskiTests.hpp" |
| #include "es31cTextureStorageMultisampleTexStorage2DMultisampleTests.hpp" |
| #include "es31cTextureStorageMultisampleTexStorage3DMultisampleTests.hpp" |
| |
| namespace glcts |
| { |
| /** Constructor. |
| * |
| * @param context Rendering context. |
| **/ |
| TextureStorageMultisampleTests::TextureStorageMultisampleTests(Context& context) |
| : TestCaseGroup(context, "texture_storage_multisample", "Multisample texture storage conformance test group") |
| { |
| /* Left blank on purpose */ |
| } |
| |
| /** Initializes a texture_storage_multisample test group. |
| * |
| **/ |
| void TextureStorageMultisampleTests::init(void) |
| { |
| /* Creating Tests Groups */ |
| tcu::TestCaseGroup* apiGLGetActiveUniformTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLGetActiveUniform", "glGetActiveUniform()"); |
| tcu::TestCaseGroup* apiGLTexStorage2DMultisampleTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLTexStorage2DMultisample", "glTexStorage2DMultisample()"); |
| tcu::TestCaseGroup* apiGLTexStorage3DMultisampleTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLTexStorage3DMultisample", "glTexStorage3DMultisampleOES()"); |
| tcu::TestCaseGroup* apiGLGetMultisamplefvTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLGetMultisamplefv", "glGetMultisamplefv()"); |
| tcu::TestCaseGroup* apiGLGetTexLevelParameterifvTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLGetTexLevelParameterifv", "glGetTexLevelParameterifv()"); |
| tcu::TestCaseGroup* apiGLSampleMaskiTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIGLSampleMaski", "glSampleMaski()"); |
| tcu::TestCaseGroup* apiDependenciesTestGroup = |
| new tcu::TestCaseGroup(m_testCtx, "APIDependencies", "API Dependncies"); |
| tcu::TestCaseGroup* apiGLCoverageTestGroup = new tcu::TestCaseGroup(m_testCtx, "GLCoverage", "GL Coverage"); |
| tcu::TestCaseGroup* functionalTestGroup = new tcu::TestCaseGroup(m_testCtx, "FunctionalTests", "Functional Tests"); |
| |
| /* Adding tests groups as children of this test suite */ |
| addChild(apiGLGetActiveUniformTestGroup); |
| addChild(apiGLTexStorage2DMultisampleTestGroup); |
| addChild(apiGLTexStorage3DMultisampleTestGroup); |
| addChild(apiGLGetMultisamplefvTestGroup); |
| addChild(apiGLGetTexLevelParameterifvTestGroup); |
| addChild(apiGLSampleMaskiTestGroup); |
| addChild(apiDependenciesTestGroup); |
| addChild(apiGLCoverageTestGroup); |
| addChild(functionalTestGroup); |
| |
| /* Assign tests to parent group: APIGLGetActiveUniform */ |
| apiGLGetActiveUniformTestGroup->addChild(new glcts::MultisampleTextureGetActiveUniformSamplersTest(m_context)); |
| |
| /* Assign tests to parent group: APIGLTexStorage2DMultisample */ |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DGeneralSamplesNumberTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DInvalidAndBorderCaseTextureSizesTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DNonColorDepthOrStencilInternalFormatsTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DReconfigurationRejectedTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DTexture2DMultisampleArrayTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DUnsupportedSamplesCountForColorTexturesTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DUnsupportedSamplesCountForDepthTexturesTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild( |
| new glcts::MultisampleTextureTexStorage2DUnsupportedSamplesCountForDepthStencilTexturesTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild(new glcts::MultisampleTextureTexStorage2DValidCallsTest(m_context)); |
| apiGLTexStorage2DMultisampleTestGroup->addChild(new glcts::MultisampleTextureTexStorage2DZeroSampleTest(m_context)); |
| |
| /* Assign tests to parent group: APIGLTexStorage3DMultisample */ |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::InvalidTextureSizesAreRejectedValidAreAcceptedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild(new glcts::MultisampleTextureTexStorage3DZeroSampleTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::NonColorDepthStencilRenderableInternalformatsAreRejectedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::RequestsToSetUpMultisampleColorTexturesWithUnsupportedNumberOfSamplesAreRejectedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::RequestsToSetUpMultisampleDepthTexturesWithUnsupportedNumberOfSamplesAreRejectedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::RequestsToSetUpMultisampleStencilTexturesWithUnsupportedNumberOfSamplesAreRejectedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::RequestsToSetUpMultisampleTexturesWithValidAndInvalidNumberOfSamplesTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild(new glcts::Texture2DMultisampleTargetIsRejectedTest(m_context)); |
| apiGLTexStorage3DMultisampleTestGroup->addChild( |
| new glcts::ValidInternalformatAndSamplesValuesAreAcceptedTest(m_context)); |
| |
| /* Assign tests to parent group: APIGLGetMultisamplefv */ |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureGetMultisamplefvIndexEqualGLSamplesRejectedTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureGetMultisamplefvIndexGreaterGLSamplesRejectedTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureGetMultisamplefvInvalidPnameRejectedTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureGetMultisamplefvNullValArgumentsAcceptedTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureGetMultisamplefvSamplePositionValuesValidationTest(m_context)); |
| |
| /* Assign tests to parent group: APIGLGetTexLevelParameterifv */ |
| apiGLGetTexLevelParameterifvTestGroup->addChild( |
| new glcts::MultisampleTextureGetTexLevelParametervFunctionalTest(m_context)); |
| apiGLGetTexLevelParameterifvTestGroup->addChild( |
| new glcts::MultisampleTextureGetTexLevelParametervInvalidTextureTargetRejectedTest(m_context)); |
| apiGLGetTexLevelParameterifvTestGroup->addChild( |
| new glcts::MultisampleTextureGetTexLevelParametervInvalidValueArgumentRejectedTest(m_context)); |
| apiGLGetTexLevelParameterifvTestGroup->addChild( |
| new glcts::MultisampleTextureGetTexLevelParametervNegativeLodIsRejectedTest(m_context)); |
| apiGLGetTexLevelParameterifvTestGroup->addChild( |
| new glcts::MultisampleTextureGetTexLevelParametervWorksForMaximumLodTest(m_context)); |
| |
| /* Assign tests to parent group: APIGLSampleMaski */ |
| apiGLGetMultisamplefvTestGroup->addChild(new glcts::MultisampleTextureSampleMaskiGettersTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureSampleMaskiIndexLowerThanGLMaxSampleMaskWordsTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureSampleMaskiIndexEqualToGLMaxSampleMaskWordsTest(m_context)); |
| apiGLGetMultisamplefvTestGroup->addChild( |
| new glcts::MultisampleTextureSampleMaskiIndexGreaterGLMaxSampleMaskWordsTest(m_context)); |
| |
| /* Assign tests to parent group: APIDependencies */ |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesFBOIncompleteness1Test(m_context)); |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesFBOIncompleteness2Test(m_context)); |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesFBOIncompleteness3Test(m_context)); |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesFBOIncompleteness4Test(m_context)); |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesFBOIncompleteness5Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidFramebufferTexture2DCalls1Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidFramebufferTexture2DCalls2Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidFramebufferTextureLayerCalls1Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidFramebufferTextureLayerCalls2Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidRenderbufferStorageMultisampleCalls1Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesInvalidRenderbufferStorageMultisampleCalls2Test(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesNoErrorGeneratedForValidFramebufferTexture2DCallsTest(m_context)); |
| apiDependenciesTestGroup->addChild( |
| new glcts::MultisampleTextureDependenciesNoErrorGeneratedForValidRenderbufferStorageMultisampleCallsTest( |
| m_context)); |
| apiDependenciesTestGroup->addChild(new glcts::MultisampleTextureDependenciesTexParameterTest(m_context)); |
| |
| /* Assign tests to parent group: GLCoverage */ |
| apiGLCoverageTestGroup->addChild(new glcts::GLCoverageExtensionSpecificEnumsAreRecognizedTest(m_context)); |
| apiGLCoverageTestGroup->addChild( |
| new glcts::GLCoverageGLGetTexParameterReportsCorrectDefaultValuesForMultisampleTextureTargets(m_context)); |
| apiGLCoverageTestGroup->addChild(new glcts::GLCoverageGLSampleMaskModeStatusIsReportedCorrectlyTest(m_context)); |
| apiGLCoverageTestGroup->addChild( |
| new glcts::GLCoverageGLTexParameterHandlersAcceptZeroBaseLevelForExtensionSpecificTextureTargetsTest( |
| m_context)); |
| |
| /* Assign tests to parent group: FunctionalTests */ |
| functionalTestGroup->addChild(new glcts::MultisampleTextureFunctionalTestsBlittingTest(m_context)); |
| functionalTestGroup->addChild( |
| new glcts::MultisampleTextureFunctionalTestsBlittingMultisampledDepthAttachmentTest(m_context)); |
| functionalTestGroup->addChild( |
| new glcts::MultisampleTextureFunctionalTestsBlittingMultisampledIntegerAttachmentTest(m_context)); |
| functionalTestGroup->addChild( |
| new glcts::MultisampleTextureFunctionalTestsBlittingToMultisampledFBOIsForbiddenTest(m_context)); |
| functionalTestGroup->addChild( |
| new glcts::MultisampleTextureFunctionalTestsSampleMaskingForNonIntegerColorRenderableTexturesTest(m_context)); |
| // TODO: temporarily disabled per request. Needs to be fixed. |
| //functionalTestGroup->addChild(new glcts::MultisampleTextureFunctionalTestsSampleMaskingTexturesTest (m_context) ); |
| functionalTestGroup->addChild( |
| new glcts::MultisampleTextureFunctionalTestsTextureSizeFragmentShadersTest(m_context)); |
| functionalTestGroup->addChild(new glcts::MultisampleTextureFunctionalTestsTextureSizeVertexShadersTest(m_context)); |
| } |
| } /* glcts namespace */ |