Module: Mesa Branch: master Commit: 0657fc00dd9e69f71d679d480b5d5f4c33cfae35 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0657fc00dd9e69f71d679d480b5d5f4c33cfae35
Author: Zack Rusin <[email protected]> Date: Wed Jan 26 00:01:51 2011 -0500 gallium: add an interface for query predicates as specified in the arb_occlusion_query2. just the interface. --- src/gallium/docs/source/context.rst | 5 +++++ src/gallium/include/pipe/p_defines.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 6760e7b..f0d3b84 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -233,6 +233,11 @@ The most common type of query is the occlusion query, are written to the framebuffer without being culled by :ref:`Depth, Stencil, & Alpha` testing or shader KILL instructions. The result is an unsigned 64-bit integer. +In cases where a boolean result of an occlusion query is enough, +``PIPE_QUERY_OCCLUSION_PREDICATE`` should be used. It is just like +``PIPE_QUERY_OCCLUSION_COUNTER`` except that the result is a boolean +value of FALSE for cases where COUNTER would result in 0 and TRUE +for all other cases. Another type of query, ``PIPE_QUERY_TIME_ELAPSED``, returns the amount of time, in nanoseconds, the context takes to perform operations. diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 2135c19..f66bbaf 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -380,7 +380,8 @@ enum pipe_transfer_usage { #define PIPE_QUERY_SO_STATISTICS 5 #define PIPE_QUERY_GPU_FINISHED 6 #define PIPE_QUERY_TIMESTAMP_DISJOINT 7 -#define PIPE_QUERY_TYPES 8 +#define PIPE_QUERY_OCCLUSION_PREDICATE 8 +#define PIPE_QUERY_TYPES 9 /** _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
