| /*------------------------------------------------------------------------- |
| * OpenGL Conformance Test Suite |
| * ----------------------------- |
| * |
| * Copyright (c) 2016 Google Inc. |
| * Copyright (c) 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 OpenGL 4.x Test Packages. |
| */ /*-------------------------------------------------------------------*/ |
| |
| #include "gl4cTestPackages.hpp" |
| |
| #include "gl4cBufferStorageTests.hpp" |
| #include "gl4cClipControlTests.hpp" |
| #include "gl4cComputeShaderTests.hpp" |
| #include "gl4cConditionalRenderInvertedTests.hpp" |
| #include "gl4cContextFlushControlTests.hpp" |
| #include "gl4cCopyImageTests.hpp" |
| #include "gl4cDirectStateAccessTests.hpp" |
| #include "gl4cES31CompatibilityTests.hpp" |
| #include "gl4cGPUShaderFP64Tests.hpp" |
| #include "gl4cGetTextureSubImageTests.hpp" |
| #include "gl4cGlSpirvTests.hpp" |
| #include "gl4cIncompleteTextureAccessTests.hpp" |
| #include "gl4cIndirectParametersTests.hpp" |
| #include "gl4cLimitsTests.hpp" |
| #include "gl4cMapBufferAlignmentTests.hpp" |
| #include "gl4cMultiBindTests.hpp" |
| #include "gl4cPostDepthCoverageTests.hpp" |
| #include "gl4cProgramInterfaceQueryTests.hpp" |
| #include "gl4cShaderAtomicCounterOpsTests.hpp" |
| #include "gl4cShaderAtomicCountersTests.hpp" |
| #include "gl4cShaderBallotTests.hpp" |
| #include "gl4cShaderDrawParametersTests.hpp" |
| #include "gl4cShaderImageLoadStoreTests.hpp" |
| #include "gl4cShaderImageSizeTests.hpp" |
| #include "gl4cShaderStorageBufferObjectTests.hpp" |
| #include "gl4cShaderSubroutineTests.hpp" |
| #include "gl4cShaderTextureImageSamplesTests.hpp" |
| #include "gl4cShaderViewportLayerArrayTests.hpp" |
| #include "gl4cShadingLanguage420PackTests.hpp" |
| #include "gl4cSparseBufferTests.hpp" |
| #include "gl4cSparseTexture2Tests.hpp" |
| #include "gl4cSparseTextureClampTests.hpp" |
| #include "gl4cSparseTextureTests.hpp" |
| #include "gl4cSpirvExtensionsTests.hpp" |
| #include "gl4cStencilTexturingTests.hpp" |
| #include "gl4cSyncTests.hpp" |
| #include "gl4cTextureBarrierTests.hpp" |
| #include "gl4cTextureFilterMinmaxTests.hpp" |
| #include "gl4cTextureGatherTests.hpp" |
| #include "gl4cTextureViewTests.hpp" |
| #include "gl4cVertexAttrib64BitTest.hpp" |
| #include "gl4cVertexAttribBindingTests.hpp" |
| #include "glcAggressiveShaderOptimizationsTests.hpp" |
| #include "glcBlendEquationAdvancedTests.hpp" |
| #include "glcExposedExtensionsTests.hpp" |
| #include "glcInfoTests.hpp" |
| #include "glcInternalformatTests.hpp" |
| #include "glcLayoutLocationTests.hpp" |
| #include "glcParallelShaderCompileTests.hpp" |
| #include "glcPolygonOffsetClampTests.hpp" |
| #include "glcSampleVariablesTests.hpp" |
| #include "glcSeparableProgramsTransformFeedbackTests.hpp" |
| #include "glcShaderConstExprTests.hpp" |
| #include "glcShaderGroupVoteTests.hpp" |
| #include "glcShaderIntegerMixTests.hpp" |
| #include "glcShaderLibrary.hpp" |
| #include "glcShaderMultisampleInterpolationTests.hpp" |
| #include "glcTextureFilterAnisotropicTests.hpp" |
| #include "glcViewportArrayTests.hpp" |
| #include "glcPixelStorageModesTests.hpp" |
| |
| #include "../gles31/es31cDrawIndirectTests.hpp" |
| #include "../gles31/es31cExplicitUniformLocationTest.hpp" |
| #include "../gles31/es31cLayoutBindingTests.hpp" |
| #include "../gles31/es31cSampleShadingTests.hpp" |
| #include "../gles31/es31cSeparateShaderObjsTests.hpp" |
| #include "../gles31/es31cShaderBitfieldOperationTests.hpp" |
| #include "../glesext/draw_elements_base_vertex/esextcDrawElementsBaseVertexTests.hpp" |
| #include "../glesext/geometry_shader/esextcGeometryShaderTests.hpp" |
| #include "../glesext/gpu_shader5/esextcGPUShader5Tests.hpp" |
| #include "../glesext/tessellation_shader/esextcTessellationShaderTests.hpp" |
| #include "../glesext/texture_border_clamp/esextcTextureBorderClampTests.hpp" |
| #include "../glesext/texture_buffer/esextcTextureBufferTests.hpp" |
| #include "../glesext/texture_cube_map_array/esextcTextureCubeMapArrayTests.hpp" |
| |
| namespace gl4cts |
| { |
| |
| // GL40TestPackage |
| |
| GL40TestPackage::GL40TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL33TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL40TestPackage::~GL40TestPackage(void) |
| { |
| } |
| |
| void GL40TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL33TestPackage::init(); |
| |
| try |
| { |
| glcts::ExtParameters extParams(glu::GLSL_VERSION_400, glcts::EXTENSIONTYPE_NONE); |
| addChild(new glcts::DrawElementsBaseVertexTests(getContext(), extParams)); |
| addChild(new glcts::InternalformatTests(getContext())); |
| addChild(new gl4cts::GPUShaderFP64Tests(getContext())); |
| addChild(new gl4cts::TextureGatherTests(getContext())); |
| addChild(new glcts::DrawIndirectTestsGL40(getContext())); |
| addChild(new gl4cts::ClipControlTests(getContext(), gl4cts::ClipControlTests::API_GL_ARB_clip_control)); |
| addChild(new gl4cts::ShaderSubroutineTests(getContext())); |
| addChild( |
| new gl4cts::TextureBarrierTests(getContext(), gl4cts::TextureBarrierTests::API_GL_ARB_texture_barrier)); |
| addChild(new glcts::ExposedExtensionsTests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| // GL41TestPackage |
| |
| GL41TestPackage::GL41TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL40TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL41TestPackage::~GL41TestPackage(void) |
| { |
| } |
| |
| void GL41TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL40TestPackage::init(); |
| |
| try |
| { |
| addChild(new gl4cts::VertexAttrib64BitTests(getContext())); |
| glcts::ExtParameters extParams(glu::GLSL_VERSION_410, glcts::EXTENSIONTYPE_NONE); |
| addChild(new glcts::ViewportArrayTests(getContext(), extParams)); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| // GL42TestPackage |
| |
| class GL42ShaderTests : public deqp::TestCaseGroup |
| { |
| public: |
| GL42ShaderTests(deqp::Context& context) : TestCaseGroup(context, "shaders42", "Shading Language Tests") |
| { |
| } |
| |
| void init(void) |
| { |
| addChild(new deqp::ShaderLibraryGroup(m_context, "declarations", "Declaration Tests", "gl42/declarations.test")); |
| } |
| }; |
| |
| GL42TestPackage::GL42TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL41TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL42TestPackage::~GL42TestPackage(void) |
| { |
| } |
| |
| void GL42TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL41TestPackage::init(); |
| |
| try |
| { |
| addChild(new gl4cts::MapBufferAlignmentTests(getContext())); |
| addChild(new gl4cts::ShaderAtomicCountersTests(getContext())); |
| addChild(new gl4cts::ShaderImageLoadStoreTests(getContext())); |
| addChild(new gl4cts::ShadingLanguage420PackTests(getContext())); |
| addChild(new gl4cts::TextureViewTests(getContext())); |
| addChild(new GL42ShaderTests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| // GL42CompatTestPackage |
| |
| class GL42CompatShaderTests : public deqp::TestCaseGroup |
| { |
| public: |
| GL42CompatShaderTests(deqp::Context& context) : TestCaseGroup(context, "shaders42", "Shading Language Tests") |
| { |
| } |
| |
| void init(void) |
| { |
| addChild(new deqp::ShaderLibraryGroup(m_context, "builtin", "Builtin Tests", "gl42-compat/builtins.test")); |
| addChild(new deqp::ShaderLibraryGroup(m_context, "varying", "Varying Tests", "gl42-compat/varyings.test")); |
| } |
| }; |
| |
| GL42CompatTestPackage::GL42CompatTestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : TestPackage(testCtx, packageName, packageName, renderContextType, "gl_cts/data/") |
| { |
| (void)description; |
| } |
| |
| GL42CompatTestPackage::~GL42CompatTestPackage(void) |
| { |
| } |
| |
| void GL42CompatTestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| TestPackage::init(); |
| |
| try |
| { |
| addChild(new GL42CompatShaderTests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| tcu::TestCaseExecutor* GL42CompatTestPackage::createExecutor(void) const |
| { |
| return new gl3cts::TestCaseWrapper(const_cast<GL42CompatTestPackage&>(*this), m_waiverMechanism); |
| } |
| |
| // GL43TestPackage |
| |
| GL43TestPackage::GL43TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL42TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL43TestPackage::~GL43TestPackage(void) |
| { |
| } |
| |
| void GL43TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL42TestPackage::init(); |
| |
| try |
| { |
| addChild(new gl4cts::CopyImageTests(getContext())); |
| addChild(new glcts::DrawIndirectTestsGL43(getContext())); |
| addChild(new gl4cts::ProgramInterfaceQueryTests(getContext())); |
| addChild(new gl4cts::ComputeShaderTests(getContext())); |
| addChild(new gl4cts::ShaderStorageBufferObjectTests(getContext())); |
| addChild(new gl4cts::VertexAttribBindingTests(getContext())); |
| addChild(new gl4cts::ShaderImageSizeTests(getContext())); |
| addChild(new glcts::ExplicitUniformLocationGLTests(getContext())); |
| addChild(new glcts::BlendEquationAdvancedTests(getContext(), glu::GLSL_VERSION_430)); |
| addChild(new glcts::ShaderBitfieldOperationTests(getContext(), glu::GLSL_VERSION_430)); |
| addChild(new gl4cts::StencilTexturingTests(getContext())); |
| addChild(new gl4cts::SparseBufferTests(getContext())); |
| addChild(new gl4cts::SparseTextureTests(getContext())); |
| addChild(new gl4cts::IndirectParametersTests(getContext())); |
| addChild(new gl4cts::ShaderBallotTests(getContext())); |
| addChild(new glcts::ShaderConstExprTests(getContext())); |
| addChild(new glcts::AggressiveShaderOptimizationsTests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| // GL44TestPackage |
| |
| class GL44ShaderTests : public deqp::TestCaseGroup |
| { |
| public: |
| GL44ShaderTests(deqp::Context& context) : TestCaseGroup(context, "shaders44", "Shading Language Tests") |
| { |
| } |
| |
| void init(void) |
| { |
| addChild( |
| new deqp::ShaderLibraryGroup(m_context, "preprocessor", "Preprocessor Tests", "gl44/preprocessor.test")); |
| } |
| }; |
| |
| GL44TestPackage::GL44TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL43TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL44TestPackage::~GL44TestPackage(void) |
| { |
| } |
| |
| void GL44TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL43TestPackage::init(); |
| |
| try |
| { |
| addChild(new GL44ShaderTests(getContext())); |
| addChild(new gl4cts::BufferStorageTests(getContext())); |
| addChild(new glcts::LayoutBindingTests(getContext(), glu::GLSL_VERSION_440)); |
| addChild(new gl4cts::MultiBindTests(getContext())); |
| addChild(new glcts::SeparateShaderObjsTests(getContext(), glu::GLSL_VERSION_440)); |
| addChild(new glcts::SampleShadingTests(getContext(), glu::GLSL_VERSION_440)); |
| addChild(new deqp::SampleVariablesTests(getContext(), glu::GLSL_VERSION_440)); |
| addChild(new deqp::ShaderMultisampleInterpolationTests(getContext(), glu::GLSL_VERSION_440)); |
| addChild(new glcts::ShaderTextureImageSamplesTests(getContext())); |
| addChild(new glcts::TextureFilterAnisotropicTests(getContext())); |
| |
| glcts::ExtParameters extParams(glu::GLSL_VERSION_440, glcts::EXTENSIONTYPE_NONE); |
| addChild(new glcts::GeometryShaderTests(getContext(), extParams)); |
| addChild(new glcts::GPUShader5Tests(getContext(), extParams)); |
| addChild(new glcts::TessellationShaderTests(getContext(), extParams)); |
| addChild(new glcts::TextureCubeMapArrayTests(getContext(), extParams)); |
| addChild(new glcts::TextureBorderClampTests(getContext(), extParams)); |
| addChild(new glcts::TextureBufferTests(getContext(), extParams)); |
| |
| //addChild(new gl4cts::ContextFlushControl::Tests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| // GL45TestPackage |
| |
| class GL45ShaderTests : public deqp::TestCaseGroup |
| { |
| public: |
| GL45ShaderTests(deqp::Context& context) : TestCaseGroup(context, "shaders45", "Shading Language Tests") |
| { |
| } |
| |
| void init(void) |
| { |
| addChild(new deqp::ShaderIntegerMixTests(getContext(), glu::GLSL_VERSION_450)); |
| } |
| }; |
| |
| GL45TestPackage::GL45TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL44TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL45TestPackage::~GL45TestPackage(void) |
| { |
| } |
| |
| void GL45TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL44TestPackage::init(); |
| |
| try |
| { |
| addChild(new GL45ShaderTests(getContext())); |
| addChild(new gl4cts::ClipControlTests(getContext(), gl4cts::ClipControlTests::API_GL_45core)); |
| addChild(new gl4cts::DirectStateAccess::Tests(getContext())); |
| addChild(new gl4cts::GetTextureSubImage::Tests(getContext())); |
| addChild(new gl4cts::TextureBarrierTests(getContext(), gl4cts::TextureBarrierTests::API_GL_45core)); |
| addChild(new gl4cts::ConditionalRenderInverted::Tests(getContext())); |
| addChild(new gl4cts::Sync::Tests(getContext())); |
| addChild(new gl4cts::IncompleteTextureAccess::Tests(getContext())); |
| addChild(new glcts::ParallelShaderCompileTests(getContext())); |
| addChild(new gl4cts::PostDepthCoverage(getContext())); |
| addChild(new gl4cts::SparseTexture2Tests(getContext())); |
| addChild(new gl4cts::SparseTextureClampTests(getContext())); |
| addChild(new gl4cts::TextureFilterMinmax(getContext())); |
| addChild(new gl4cts::ShaderAtomicCounterOps(getContext())); |
| addChild(new gl4cts::ShaderDrawParametersTests(getContext())); |
| addChild(new gl4cts::ShaderViewportLayerArray(getContext())); |
| addChild(new gl4cts::LimitsTests(getContext())); |
| addChild(new glcts::ShaderGroupVote(getContext())); |
| addChild(new glcts::PolygonOffsetClamp(getContext())); |
| addChild(new glcts::SeparableProgramsTransformFeedbackTests(getContext())); |
| addChild(new glcts::LayoutLocationTests(getContext())); |
| addChild(new gl4cts::SpirvExtensionsTests(getContext())); |
| addChild(new gl4cts::GlSpirvTests(getContext())); |
| } |
| catch (...) |
| { |
| // Destroy context. |
| TestPackage::deinit(); |
| throw; |
| } |
| } |
| |
| GL46TestPackage::GL46TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description, |
| glu::ContextType renderContextType) |
| : GL45TestPackage(testCtx, packageName, packageName, renderContextType) |
| { |
| (void)description; |
| } |
| |
| GL46TestPackage::~GL46TestPackage(void) |
| { |
| } |
| |
| void GL46TestPackage::init(void) |
| { |
| // Call init() in parent - this creates context. |
| GL45TestPackage::init(); |
| } |
| |
| } // gl4cts |