1 #ifndef _GL3CTESTPACKAGES_HPP 2 #define _GL3CTESTPACKAGES_HPP 3 /*------------------------------------------------------------------------- 4 * OpenGL Conformance Test Suite 5 * ----------------------------- 6 * 7 * Copyright (c) 2016 Google Inc. 8 * Copyright (c) 2016 The Khronos Group Inc. 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 * 22 */ /*! 23 * \file 24 * \brief OpenGL 3.x Test Packages. 25 */ /*-------------------------------------------------------------------*/ 26 27 #include "glcTestCase.hpp" 28 #include "glcTestPackage.hpp" 29 #include "gluRenderContext.hpp" 30 #include "tcuDefs.hpp" 31 32 namespace gl3cts 33 { 34 35 class TestCaseWrapper : public tcu::TestCaseExecutor 36 { 37 public: 38 TestCaseWrapper(deqp::TestPackage& package, de::SharedPtr<tcu::WaiverUtil> waiverMechanism); 39 ~TestCaseWrapper(void); 40 41 void init(tcu::TestCase* testCase, const std::string& path); 42 void deinit(tcu::TestCase* testCase); 43 tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase); 44 45 private: 46 deqp::TestPackage& m_testPackage; 47 de::SharedPtr<tcu::WaiverUtil> m_waiverMechanism; 48 }; 49 50 class GL30TestPackage : public deqp::TestPackage 51 { 52 public: 53 GL30TestPackage(tcu::TestContext& testCtx, const char* packageName, 54 const char* description = "OpenGL 3.0 Conformance Tests", 55 glu::ContextType renderContextType = glu::ContextType(3, 0, glu::PROFILE_CORE)); 56 57 ~GL30TestPackage(void); 58 59 tcu::TestCaseExecutor* createExecutor(void) const; 60 61 void init(void); 62 63 using deqp::TestPackage::getContext; 64 }; 65 66 class GL31TestPackage : public GL30TestPackage 67 { 68 public: 69 GL31TestPackage(tcu::TestContext& testCtx, const char* packageName, 70 const char* description = "OpenGL 3.1 Conformance Tests", 71 glu::ContextType renderContextType = glu::ContextType(3, 1, glu::PROFILE_CORE)); 72 73 ~GL31TestPackage(void); 74 75 void init(void); 76 }; 77 78 class GL32TestPackage : public GL31TestPackage 79 { 80 public: 81 GL32TestPackage(tcu::TestContext& testCtx, const char* packageName, 82 const char* description = "OpenGL 3.2 Conformance Tests", 83 glu::ContextType renderContextType = glu::ContextType(3, 2, glu::PROFILE_CORE)); 84 ~GL32TestPackage(void); 85 86 void init(void); 87 }; 88 89 class GL33TestPackage : public GL32TestPackage 90 { 91 public: 92 GL33TestPackage(tcu::TestContext& testCtx, const char* packageName, 93 const char* description = "OpenGL 3.3 Conformance Tests", 94 glu::ContextType renderContextType = glu::ContextType(3, 3, glu::PROFILE_CORE)); 95 ~GL33TestPackage(void); 96 97 void init(void); 98 }; 99 100 } // gl3cts 101 102 #endif // _GL3CTESTPACKAGES_HPP 103