glGetQueryObjectuiv - OpenGL ES 3 Reference Pages

## Name

glGetQueryObjectuiv — return parameters of a query object

## C Specification

`void glGetQueryObjectuiv(` | GLuint id,
| GLenum pname,
| GLuint * params`)`;

## 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`

  Returns the requested data.

## Description

`glGetQueryObjectuiv` 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_RESULT`

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

`GL_QUERY_RESULT_AVAILABLE`

  `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 of the same type are available as well.

## Notes

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

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

Repeatedly querying the `GL_QUERY_RESULT_AVAILABLE` state for any given query object is guaranteed to return true eventually. Note that multiple queries to the same occlusion object may result in a significant performance loss. For better performance it is recommended to wait N frames before querying this state. N is implementation-dependent but is generally between one and three.

If multiple queries are issued using the same query object `id` before calling `glGetQueryObjectuiv`, 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.

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

## API Version Support

| OpenGL ES API Version
--- | ---
Function Name | 2.0 | 3.0
glGetQueryObjectuiv | - | ✔

## See Also

glBeginQuery, glEndQuery, glGetQueryiv, glIsQuery,

## Copyright

Copyright © 2005 Addison-Wesley. Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.