xref: /aosp_15_r20/external/deqp/external/openglcts/modules/common/glcSingleConfigTestPackage.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 #ifndef _GLCSINGLECONFIGTESTPACKAGE_HPP
2 #define _GLCSINGLECONFIGTESTPACKAGE_HPP
3 /*-------------------------------------------------------------------------
4  * OpenGL Conformance Test Suite
5  * -----------------------------
6  *
7  * Copyright (c) 2016 Google Inc.
8  * Copyright (c) 2016-2019 The Khronos Group Inc.
9  * Copyright (c) 2019 NVIDIA Corporation.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  *      http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  *
23  */ /*!
24  * \file
25  * \brief OpenGL/OpenGL ES Test Package that only gets run in a single config
26  */ /*-------------------------------------------------------------------*/
27 
28 #include "glcTestPackage.hpp"
29 #include "tcuDefs.hpp"
30 
31 namespace glcts
32 {
33 
34 class SingleConfigGL43TestPackage : public deqp::TestPackage
35 {
36 public:
37     SingleConfigGL43TestPackage(tcu::TestContext &testCtx, const char *packageName,
38                                 const char *description            = "CTS Single Config GL43 Package",
39                                 glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 3)));
40     ~SingleConfigGL43TestPackage(void);
41 
42     void init(void);
43 
44     virtual tcu::TestCaseExecutor *createExecutor(void) const;
45 
46 private:
47     SingleConfigGL43TestPackage(const SingleConfigGL43TestPackage &other);
48     SingleConfigGL43TestPackage &operator=(const SingleConfigGL43TestPackage &other);
49 };
50 
51 class SingleConfigGL44TestPackage : public SingleConfigGL43TestPackage
52 {
53 public:
54     SingleConfigGL44TestPackage(tcu::TestContext &testCtx, const char *packageName,
55                                 const char *description            = "CTS Single Config GL44 Package",
56                                 glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 4)));
57     ~SingleConfigGL44TestPackage(void);
58 
59     void init(void);
60 
61 private:
62     SingleConfigGL44TestPackage(const SingleConfigGL44TestPackage &other);
63     SingleConfigGL44TestPackage &operator=(const SingleConfigGL44TestPackage &other);
64 };
65 
66 class SingleConfigGL45TestPackage : public SingleConfigGL44TestPackage
67 {
68 public:
69     SingleConfigGL45TestPackage(tcu::TestContext &testCtx, const char *packageName,
70                                 const char *description            = "CTS Single Config GL45 Package",
71                                 glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 5)));
72     ~SingleConfigGL45TestPackage(void);
73 
74     void init(void);
75 
76 private:
77     SingleConfigGL45TestPackage(const SingleConfigGL45TestPackage &other);
78     SingleConfigGL45TestPackage &operator=(const SingleConfigGL45TestPackage &other);
79 };
80 
81 class SingleConfigGL46TestPackage : public SingleConfigGL45TestPackage
82 {
83 public:
84     SingleConfigGL46TestPackage(tcu::TestContext &testCtx, const char *packageName,
85                                 const char *description            = "CTS Single Config GL46 Package",
86                                 glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 6)));
87     ~SingleConfigGL46TestPackage(void);
88 
89     void init(void);
90 
91 private:
92     SingleConfigGL46TestPackage(const SingleConfigGL46TestPackage &other);
93     SingleConfigGL46TestPackage &operator=(const SingleConfigGL46TestPackage &other);
94 };
95 
96 class SingleConfigES32TestPackage : public deqp::TestPackage
97 {
98 public:
99     SingleConfigES32TestPackage(tcu::TestContext &testCtx, const char *packageName,
100                                 const char *description            = "CTS Single Config ES32 Package",
101                                 glu::ContextType renderContextType = glu::ContextType(glu::ApiType::es(3, 2)));
102     ~SingleConfigES32TestPackage(void);
103 
104     void init(void);
105 
106     virtual tcu::TestCaseExecutor *createExecutor(void) const;
107 
108 private:
109     SingleConfigES32TestPackage(const SingleConfigES32TestPackage &other);
110     SingleConfigES32TestPackage &operator=(const SingleConfigES32TestPackage &other);
111 };
112 
113 } // namespace glcts
114 
115 #endif // _GLCSINGLECONFIGTESTPACKAGE_HPP
116