148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos/*------------------------------------------------------------------------- 248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * OpenGL Conformance Test Suite 348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * ----------------------------- 448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 Google Inc. 648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 The Khronos Group Inc. 748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Licensed under the Apache License, Version 2.0 (the "License"); 948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * you may not use this file except in compliance with the License. 1048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * You may obtain a copy of the License at 1148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 1248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * http://www.apache.org/licenses/LICENSE-2.0 1348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 1448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Unless required by applicable law or agreed to in writing, software 1548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * distributed under the License is distributed on an "AS IS" BASIS, 1648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * See the License for the specific language governing permissions and 1848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * limitations under the License. 1948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 2084322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*! 2148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \file 2248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \brief OpenGL Conformance Test Configuration List Package 2384322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*-------------------------------------------------------------------*/ 2448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 2548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcConfigPackage.hpp" 2648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcConfigListCase.hpp" 2748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 2848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcTestPackage.hpp" 2948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuTestLog.hpp" 3048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 3148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace glcts 3248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 3348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace config 3448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 3548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosclass TestCaseWrapper : public tcu::TestCaseExecutor 3648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 3748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulospublic: 3848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos TestCaseWrapper(void); 3948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos ~TestCaseWrapper(void); 4048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 4148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos void init(tcu::TestCase* testCase, const std::string& path); 4248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos void deinit(tcu::TestCase* testCase); 4348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase); 4448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}; 4548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 4648087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosTestCaseWrapper::TestCaseWrapper(void) 4748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 4848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 4948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 5048087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosTestCaseWrapper::~TestCaseWrapper(void) 5148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 5248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 5348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 5448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid TestCaseWrapper::init(tcu::TestCase* testCase, const std::string&) 5548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 5648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos testCase->init(); 5748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 5848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 5948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid TestCaseWrapper::deinit(tcu::TestCase* testCase) 6048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 6148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos testCase->deinit(); 6248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 6348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 6448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulostcu::TestNode::IterateResult TestCaseWrapper::iterate(tcu::TestCase* testCase) 6548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 6648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos const tcu::TestCase::IterateResult result = testCase->iterate(); 6748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 6848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos return result; 6948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 7048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 7148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 7248087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosConfigPackage::ConfigPackage(tcu::TestContext& testCtx, const char* name) 7348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos : tcu::TestPackage(testCtx, name, "CTS Configuration List Package") 7448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 7548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 7648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 7748087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosConfigPackage::~ConfigPackage(void) 7848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 7948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 8048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 8148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulostcu::TestCaseExecutor* ConfigPackage::createExecutor(void) const 8248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 8348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos return new config::TestCaseWrapper(); 8448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 8548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 8648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid ConfigPackage::init(void) 8748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 8848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "es2", "OpenGL ES 2 Configurations", glu::ApiType::es(2, 0))); 8948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "es3", "OpenGL ES 3 Configurations", glu::ApiType::es(3, 0))); 9048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "es31", "OpenGL ES 3.1 Configurations", glu::ApiType::es(3, 1))); 9148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "es32", "OpenGL ES 3.2 Configurations", glu::ApiType::es(3, 2))); 9248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl30", "OpenGL 3.0 Configurations", glu::ApiType::core(3, 0))); 9348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl31", "OpenGL 3.1 Configurations", glu::ApiType::core(3, 1))); 9448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl32", "OpenGL 3.2 Configurations", glu::ApiType::core(3, 2))); 9548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl33", "OpenGL 3.3 Configurations", glu::ApiType::core(3, 3))); 9648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl40", "OpenGL 4.0 Configurations", glu::ApiType::core(4, 0))); 9748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl41", "OpenGL 4.1 Configurations", glu::ApiType::core(4, 1))); 9848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl42", "OpenGL 4.2 Configurations", glu::ApiType::core(4, 2))); 9948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl43", "OpenGL 4.3 Configurations", glu::ApiType::core(4, 3))); 10048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl44", "OpenGL 4.4 Configurations", glu::ApiType::core(4, 4))); 10148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos addChild(new ConfigListCase(m_testCtx, "gl45", "OpenGL 4.5 Configurations", glu::ApiType::core(4, 5))); 10248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} 10348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 10448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} // glcts 105