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, const char *description); 42 ~DisjointTimerQueryBase()43 virtual ~DisjointTimerQueryBase() 44 { 45 } 46 47 protected: 48 typedef void (*glGenQueriesEXTFunc)(GLsizei n, GLuint *ids); 49 typedef void (*glDeleteQueriesEXTFunc)(GLsizei n, const GLuint *ids); 50 typedef GLboolean (*glIsQueryEXTFunc)(GLuint id); 51 typedef void (*glBeginQueryEXTFunc)(GLenum target, GLuint id); 52 typedef void (*glEndQueryEXTFunc)(GLenum target); 53 typedef void (*glQueryCounterEXTFunc)(GLuint id, GLenum target); 54 typedef void (*glGetQueryivEXTFunc)(GLenum target, GLenum pname, GLint *params); 55 typedef void (*glGetQueryObjectivEXTFunc)(GLuint id, GLenum pname, GLint *params); 56 typedef void (*glGetQueryObjectuivEXTFunc)(GLuint id, GLenum pname, GLuint *params); 57 typedef void (*glGetQueryObjecti64vEXTFunc)(GLuint id, GLenum pname, GLint64 *params); 58 typedef void (*glGetQueryObjectui64vEXTFunc)(GLuint id, GLenum pname, GLuint64 *params); 59 typedef void (*glGetInteger64vEXTFunc)(GLenum pname, GLint64 *data); 60 61 glGenQueriesEXTFunc glGenQueriesEXT; 62 glDeleteQueriesEXTFunc glDeleteQueriesEXT; 63 glIsQueryEXTFunc glIsQueryEXT; 64 glBeginQueryEXTFunc glBeginQueryEXT; 65 glEndQueryEXTFunc glEndQueryEXT; 66 glQueryCounterEXTFunc glQueryCounterEXT; 67 glGetQueryivEXTFunc glGetQueryivEXT; 68 glGetQueryObjectivEXTFunc glGetQueryObjectivEXT; 69 glGetQueryObjectuivEXTFunc glGetQueryObjectuivEXT; 70 glGetQueryObjecti64vEXTFunc glGetQueryObjecti64vEXT; 71 glGetQueryObjectui64vEXTFunc glGetQueryObjectui64vEXT; 72 glGetInteger64vEXTFunc glGetInteger64vEXT; 73 }; 74 75 } // namespace glcts 76 77 #endif // _ESEXTCDISJOINTTIMERQUERYBASE_HPP 78