• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _ESEXTCDISJOINTTIMERQUERYBASE_HPP
2 #define _ESEXTCDISJOINTTIMERQUERYBASE_HPP
3 /*-------------------------------------------------------------------------
4  * OpenGL Conformance Test Suite
5  * -----------------------------
6  *
7  * Copyright (c) 2021 The Khronos Group Inc.
8  * Copyright (c) 2021 Google LLC
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
25  */ /*-------------------------------------------------------------------*/
26 
27 /*!
28  * \file  esextcDisjointTimerQueryBase.hpp
29  * \brief Base class for timer query tests
30  */ /*-------------------------------------------------------------------*/
31 
32 #include "../esextcTestCaseBase.hpp"
33 #include "glw.h"
34 
35 namespace glcts
36 {
37 
38 class DisjointTimerQueryBase : public TestCaseBase
39 {
40 public:
41 	DisjointTimerQueryBase			(Context& context, const ExtParameters& extParams, const char* name,
42 									 const char* description);
43 
~DisjointTimerQueryBase()44 	virtual ~DisjointTimerQueryBase	()
45 	{
46 	}
47 
48 protected:
49 	typedef void		(*glGenQueriesEXTFunc)(GLsizei n, GLuint* ids);
50 	typedef void		(*glDeleteQueriesEXTFunc)(GLsizei n, const GLuint* ids);
51 	typedef GLboolean	(*glIsQueryEXTFunc)(GLuint id);
52 	typedef void		(*glBeginQueryEXTFunc)(GLenum target, GLuint id);
53 	typedef void		(*glEndQueryEXTFunc)(GLenum target);
54 	typedef void		(*glQueryCounterEXTFunc)(GLuint id, GLenum target);
55 	typedef void		(*glGetQueryivEXTFunc)(GLenum target, GLenum pname, GLint* params);
56 	typedef void		(*glGetQueryObjectivEXTFunc)(GLuint id, GLenum pname, GLint* params);
57 	typedef void		(*glGetQueryObjectuivEXTFunc)(GLuint id, GLenum pname, GLuint* params);
58 	typedef void		(*glGetQueryObjecti64vEXTFunc)(GLuint id, GLenum pname, GLint64* params);
59 	typedef void		(*glGetQueryObjectui64vEXTFunc)(GLuint id, GLenum pname, GLuint64* params);
60 	typedef void		(*glGetInteger64vEXTFunc)(GLenum pname, GLint64* data);
61 
62 	glGenQueriesEXTFunc				glGenQueriesEXT;
63 	glDeleteQueriesEXTFunc			glDeleteQueriesEXT;
64 	glIsQueryEXTFunc				glIsQueryEXT;
65 	glBeginQueryEXTFunc				glBeginQueryEXT;
66 	glEndQueryEXTFunc				glEndQueryEXT;
67 	glQueryCounterEXTFunc			glQueryCounterEXT;
68 	glGetQueryivEXTFunc				glGetQueryivEXT;
69 	glGetQueryObjectivEXTFunc		glGetQueryObjectivEXT;
70 	glGetQueryObjectuivEXTFunc		glGetQueryObjectuivEXT;
71 	glGetQueryObjecti64vEXTFunc		glGetQueryObjecti64vEXT;
72 	glGetQueryObjectui64vEXTFunc	glGetQueryObjectui64vEXT;
73 	glGetInteger64vEXTFunc			glGetInteger64vEXT;
74 };
75 
76 } // namespace glcts
77 
78 #endif // _ESEXTCDISJOINTTIMERQUERYBASE_HPP
79