• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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