GLAPI/glGetQueryObject: Difference between revisions
m Bot: Adding better formatting. |
m Bot: Adding better formatting. |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
: Specifies the name of a query object. | : Specifies the name of a query object. | ||
; pname | ; pname | ||
: Specifies the symbolic name of a query object parameter. Accepted values are {{enum|GL_QUERY_RESULT}} or {{enum|GL_QUERY_RESULT_AVAILABLE}}. | : Specifies the symbolic name of a query object parameter. Accepted values are {{enum|GL_QUERY_RESULT}}, {{enum|GL_QUERY_RESULT_NO_WAIT}}, or {{enum|GL_QUERY_RESULT_AVAILABLE}}. | ||
; params | ; params | ||
: | : If a buffer is bound to the {{enum|GL_QUERY_BUFFER}} target, then {{param|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 {{enum|GL_QUERY_BUFFER}}, then {{param|params}} is treated as an address in client memory of a variable to receive the resulting data. | ||
== Description == | == Description == | ||
Line 29: | Line 29: | ||
; {{enum|GL_QUERY_RESULT}} | ; {{enum|GL_QUERY_RESULT}} | ||
: {{param|params}} returns the value of the query object's passed samples counter. The initial value is 0. | : {{param|params}} returns the value of the query object's passed samples counter. The initial value is 0. | ||
; {{enum|GL_QUERY_RESULT_NO_WAIT}} | |||
: If the result of the query is available (that is, a query of {{enum|GL_QUERY_RESULT_AVAILABLE}} would return non-zero), then {{param|params}} returns the value of the query object's passed samples counter, otherwise, the data referred to by {{param|params}} is not modified. The initial value is 0. | |||
; {{enum|GL_QUERY_RESULT_AVAILABLE}} | ; {{enum|GL_QUERY_RESULT_AVAILABLE}} | ||
: {{param|params}} returns whether the passed samples counter is immediately available. If a delay would occur waiting for the query result, {{enum|GL_FALSE}} is returned. Otherwise, {{enum|GL_TRUE}} is returned, which also indicates that the results of all previous queries are available as well. | : {{param|params}} returns whether the passed samples counter is immediately available. If a delay would occur waiting for the query result, {{enum|GL_FALSE}} is returned. Otherwise, {{enum|GL_TRUE}} is returned, which also indicates that the results of all previous queries are available as well. | ||
Line 40: | Line 42: | ||
'''glGetQueryObjecti64v''' and '''glGetQueryObjectui64v''' are available only if the GL version is 3.3 or greater. | '''glGetQueryObjecti64v''' and '''glGetQueryObjectui64v''' are available only if the GL version is 3.3 or greater. | ||
{{enum|GL_QUERY_RESULT_NO_WAIT}} is accepted for {{param|pname}} only if the GL version is 4.4 or greater. | |||
The {{enum|GL_QUERY_BUFFER}} target is available only if the GL version is 4.4 or higher. On earlier versions of the GL, {{param|params}} is always an address in client memory. | |||
== Errors == | == Errors == | ||
Line 48: | Line 54: | ||
{{enum|GL_INVALID_OPERATION}} is generated if {{param|id}} is the name of a currently active query object. | {{enum|GL_INVALID_OPERATION}} is generated if {{param|id}} is the name of a currently active query object. | ||
{{enum|GL_INVALID_OPERATION}} is generated if a buffer is currently bound to the {{enum|GL_QUERY_BUFFER}} target and the command would cause data to be written beyond the bounds of that buffer's data store. | |||
== See Also == | == See Also == | ||
Line 55: | Line 63: | ||
== Copyright == | == Copyright == | ||
Copyright © 2005 Addison-Wesley. 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/ http://opencontent.org/openpub/]. | Copyright © 2005 Addison-Wesley. Copyright © 2010-2013 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/ http://opencontent.org/openpub/]. | ||
[[Category:Core API Ref Queries and Timers|GetQueryObject]] | [[Category:Core API Ref Queries and Timers|GetQueryObject]] | ||
[[Category:Core API Reference|GetQueryObject]] | [[Category:Core API Reference|GetQueryObject]] | ||
[[Category:Query Object API State Functions|GetQueryObject]] |
Latest revision as of 10:00, 15 August 2013
Core in version | 4.6 | |
---|---|---|
Core since version | 3.3 | |
Core ARB extension | ARB_timer_query |
glGetQueryObject: return parameters of a query object
Function Definition
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);
- id
- Specifies the name of a query object.
- pname
- Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT, GL_QUERY_RESULT_NO_WAIT, or GL_QUERY_RESULT_AVAILABLE.
- params
- If a buffer is bound to the GL_QUERY_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_BUFFER, then params is treated as an address in client memory of a variable to receive the resulting data.
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_RESULT
- params 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_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 are available as well.
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_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.
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_BUFFER target and the command would cause data to be written beyond the bounds of that buffer's data store.
See Also
glBeginQuery, glEndQuery, glGetQuery, glQueryCounter
Copyright
Copyright © 2005 Addison-Wesley. Copyright © 2010-2013 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/.