6 #include <glbinding/gl/types.h>
8 #include <globjects/globjects_api.h>
69 static Query * fromId(gl::GLuint
id);
71 static Query * current(gl::GLenum target);
72 static Query * timestamp();
74 static gl::GLint get(gl::GLenum target, gl::GLenum pname);
75 static gl::GLint getIndexed(gl::GLenum target, gl::GLuint index, gl::GLenum pname);
77 static gl::GLint getCounterBits(gl::GLenum target);
81 void begin(gl::GLenum target)
const;
82 void end(gl::GLenum target)
const;
84 void beginIndexed(gl::GLenum target, gl::GLuint index)
const;
85 void endIndexed(gl::GLenum target, gl::GLuint index)
const;
87 static bool isQuery(gl::GLuint
id);
89 gl::GLuint get(gl::GLenum pname)
const;
90 gl::GLuint64 get64(gl::GLenum pname)
const;
92 bool resultAvailable()
const;
94 void wait(
const std::chrono::duration<int, std::nano> & timeout)
const;
96 gl::GLuint waitAndGet(gl::GLenum pname)
const;
97 gl::GLuint64 waitAndGet64(gl::GLenum pname)
const;
99 gl::GLuint waitAndGet(
const std::chrono::duration<int, std::nano> & timeout, gl::GLenum pname)
const;
100 gl::GLuint64 waitAndGet64(
const std::chrono::duration<int, std::nano> & timeout, gl::GLenum pname)
const;
102 gl::GLuint waitAndGet(gl::GLenum pname,
const std::chrono::duration<int, std::nano> & timeout)
const;
103 gl::GLuint64 waitAndGet64(gl::GLenum pname,
const std::chrono::duration<int, std::nano> & timeout)
const;
105 void counter()
const;
107 virtual gl::GLenum objectType()
const override;
111 Query(IDResource * resource);
114 static gl::GLuint genQuery();
116 void counter(gl::GLenum target)
const;