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 glu::CONTEXT_FORWARD_COMPATIBLE)); 73 74 ~GL31TestPackage(void); 75 76 void init(void); 77 }; 78 79 class GL32TestPackage : public GL31TestPackage 80 { 81 public: 82 GL32TestPackage(tcu::TestContext &testCtx, const char *packageName, 83 const char *description = "OpenGL 3.2 Conformance Tests", 84 glu::ContextType renderContextType = glu::ContextType(3, 2, glu::PROFILE_CORE)); 85 ~GL32TestPackage(void); 86 87 void init(void); 88 }; 89 90 class GL33TestPackage : public GL32TestPackage 91 { 92 public: 93 GL33TestPackage(tcu::TestContext &testCtx, const char *packageName, 94 const char *description = "OpenGL 3.3 Conformance Tests", 95 glu::ContextType renderContextType = glu::ContextType(3, 3, glu::PROFILE_CORE)); 96 ~GL33TestPackage(void); 97 98 void init(void); 99 }; 100 101 } // namespace gl3cts 102 103 #endif // _GL3CTESTPACKAGES_HPP 104