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