logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glGetQueryObject - return parameters of a query object

C Specification

voidglGetQueryObjectiv(GLuintid,GLenumpname,GLint*params);voidglGetQueryObjectuiv(GLuintid,GLenumpname,GLuint*params);voidglGetQueryObjecti64v(GLuintid,GLenumpname,GLint64*params);voidglGetQueryObjectui64v(GLuintid,GLenumpname,GLuint64*params);

Description

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:

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

       GL_QUERY_RESULT_NO_WAIT
           If the result of the query is available (that is, a query of GL_QUERY_RESULT_AVAILABLE would return
           non-zero), then params returns the value of the query object's passed samples counter, otherwise, the
           data referred to by params is not modified. The initial value is 0.

       GL_QUERY_RESULT_AVAILABLEparams 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.

Errors

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.

       GL_INVALID_OPERATION is generated if a buffer is currently bound to the GL_QUERY_RESULT_BUFFER target and
       the command would cause data to be written beyond the bounds of that buffer's data store.

Name

       glGetQueryObject - return parameters of a query object

Notes

       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_QUERY_RESULT_NO_WAIT is accepted for pname only if the GL version is 4.4 or greater.

       The GL_QUERY_RESULT_BUFFER target is available only if the GL version is 4.4 or higher. On earlier
       versions of the GL, params is always an address in client memory.

Parameters

id
           Specifies the name of a query object.

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

       params
           If a buffer is bound to the GL_QUERY_RESULT_BUFFER target, then params is treated as an offset to a
           location within that buffer's data store to receive the result of the query. If no buffer is bound to
           GL_QUERY_RESULT_BUFFER, then params is treated as an address in client memory of a variable to
           receive the resulting data.

See Also

glBeginQuery(),

       glEndQuery, glGetQueryiv(), glIsQuery(), glQueryCounter()

Version Support

       ┌───────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                       │                OpenGLVersion                                         │
       ├───────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                     │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature               │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                  │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetQueryObjecti64v  │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetQueryObjectiv    │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetQueryObjectui64v │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetQueryObjectuiv   │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └───────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also