Light | Dark



glGetQueryObject — return parameters of a query object

C Specification

void glGetQueryObjectiv(GLuint id,
 GLenum pname,
 GLint * params);
void glGetQueryObjectuiv(GLuint id,
 GLenum pname,
 GLuint * params);
void glGetQueryObjecti64v(GLuint id,
 GLenum pname,
 GLint64 * params);
void glGetQueryObjectui64v(GLuint id,
 GLenum pname,
 GLuint64 * params);



Specifies the name of a query object.


Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.


Returns the requested data.


glGetQueryObject returns in params a selected parameter of the query object specified by id.

pname names a specific query object parameter. pname can be as follows:


params returns the value of the query object's passed samples counter. The initial value is 0.


params returns whether the passed samples counter is immediately available. If a delay would occur waiting for the query result, GL_FALSE is returned. Otherwise, GL_TRUE is returned, which also indicates that the results of all previous queries are available as well.


If an error is generated, no change is made to the contents of params.

glGetQueryObject implicitly flushes the GL pipeline so that any incomplete rendering delimited by the occlusion query completes in finite time.

If multiple queries are issued using the same query object id before calling glGetQueryObject, the results of the most recent query will be returned. In this case, when issuing a new query, the results of the previous query are discarded.

glGetQueryObjecti64v and glGetQueryObjectui64v are available only if the GL version is 3.3 or greater.


GL_INVALID_ENUM is generated if pname is not an accepted value.

GL_INVALID_OPERATION is generated if id is not the name of a query object.

GL_INVALID_OPERATION is generated if id is the name of a currently active query object.

Think you can improve this page? Edit this page on GitHub.