glQueryCounter.3G - Man Page

record the GL time into a query object after all previous commands have reached the GL server but have not yet necessarily executed.

C Specification

void glQueryCounter(GLuint id, GLenum target);



Specify the name of a query object into which to record the GL time.


Specify the counter to query. target must be GL_TIMESTAMP.


glQueryCounter causes the GL to record the current time into the query object named id. target must be GL_TIMESTAMP. The time is recorded after all previous commands on the GL client and server state and the framebuffer have been fully realized. When the time is recorded, the query result for that object is marked available. glQueryCounter timer queries can be used within a glBeginQuery() /

glEndQuery block where the target is GL_TIME_ELAPSED and it does not affect the result of that query object.


glQueryCounter is available only if the GL version is 3.3 or higher.


GL_INVALID_OPERATION is generated if id is the name of a query object that is already in use within a glBeginQuery() /

glEndQuery block.

GL_INVALID_VALUE is generated if id is not the name of a query object returned from a previous call to glGenQueries().

GL_INVALID_ENUM is generated if target is not GL_TIMESTAMP.

Version Support

OpenGL Version
Function / Feature Name2.

See Also

glGenQueries(), glBeginQuery(),

glEndQuery, glDeleteQueries(), glGetQueryObject(), glGetQueryiv(), glGet()

Referenced By