summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-01-29 12:36:26 -0700
committerBrian Paul <brianp@vmware.com>2010-01-29 14:01:34 -0700
commit98f3f1c695f232120541670a8b5a355003ce3cc8 (patch)
tree49bff4191e5608647c4eb7ebbf47490017c3e65c
parent3fc73c389a62228792608b3c7a9cf7ad24f1a8b3 (diff)
gallium: document pipe_context::get_query_result()
-rw-r--r--src/gallium/docs/source/context.rst12
-rw-r--r--src/gallium/include/pipe/p_context.h5
2 files changed, 14 insertions, 3 deletions
diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst
index 78b01cc9cbe..a7669575b95 100644
--- a/src/gallium/docs/source/context.rst
+++ b/src/gallium/docs/source/context.rst
@@ -148,9 +148,15 @@ draws. Queries may be nested, though no state tracker currently
exercises this.
Queries can be created with ``create_query`` and deleted with
-``destroy_query``. To enable a query, use ``begin_query``, and when finished,
-use ``end_query`` to stop the query. Finally, ``get_query_result`` is used
-to retrieve the results.
+``destroy_query``. To start a query, use ``begin_query``, and when finished,
+use ``end_query`` to end the query.
+
+``get_query_result`` is used to retrieve the results of a query. If
+the ``wait`` parameter is TRUE, then the ``get_query_result`` call
+will block until the results of the query are ready (and TRUE will be
+returned). Otherwise, if the ``wait`` parameter is FALSE, the call
+will not block and the return value will be TRUE if the query has
+completed or FALSE otherwise.
A common type of query is the occlusion query which counts the number of
fragments/pixels which are written to the framebuffer (and not culled by
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
index f3ee0954481..f1e6a60e041 100644
--- a/src/gallium/include/pipe/p_context.h
+++ b/src/gallium/include/pipe/p_context.h
@@ -122,6 +122,11 @@ struct pipe_context {
void (*begin_query)(struct pipe_context *pipe, struct pipe_query *q);
void (*end_query)(struct pipe_context *pipe, struct pipe_query *q);
+ /**
+ * Get results of a query.
+ * \param wait if true, this query will block until the result is ready
+ * \return TRUE if results are ready, FALSE otherwise
+ */
boolean (*get_query_result)(struct pipe_context *pipe,
struct pipe_query *q,
boolean wait,