[Mesa-dev] [PATCH 1/3] gallium/docs: improve documentation of render condition wrt blits.

Brian Paul brianp at vmware.com
Thu May 29 06:53:32 PDT 2014


On 05/28/2014 05:23 PM, sroland at vmware.com wrote:
> From: Roland Scheidegger <sroland at vmware.com>
>
> ---
>   src/gallium/docs/source/context.rst | 10 +++++++---
>   src/gallium/include/pipe/p_state.h  |  4 ++--
>   2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst
> index 571ee87..a9625f3 100644
> --- a/src/gallium/docs/source/context.rst
> +++ b/src/gallium/docs/source/context.rst
> @@ -392,8 +392,10 @@ Conditional Rendering
>   A drawing command can be skipped depending on the outcome of a query
>   (typically an occlusion query, or streamout overflow predicate).
>   The ``render_condition`` function specifies the query which should be checked
> -prior to rendering anything. Functions honoring render_condition include
> +prior to rendering anything. Functions always honoring render_condition include
>   (and are limited to) draw_vbo, clear, clear_render_target, clear_depth_stencil.
> +The blit function (but not resource_copy_region, which seems inconsistent)
> +can also optionally honor the current render condition.
>
>   If ``render_condition`` is called with ``query`` = NULL, conditional
>   rendering is disabled and drawing takes place normally.
> @@ -465,8 +467,10 @@ but overlapping blits are not permitted.
>   This can be considered the equivalent of a CPU memcpy.
>
>   ``blit`` blits a region of a resource to a region of another resource, including
> -scaling, format conversion, and up-/downsampling, as well as
> -a destination clip rectangle (scissors).
> +scaling, format conversion, and up-/downsampling, as well as a destination clip
> +rectangle (scissors). It can also optionally honor the current render condition
> +(but either way the blit itself never contributes anything to queries currently
> +gathering data).
>   As opposed to manually drawing a textured quad, this lets the pipe driver choose
>   the optimal method for blitting (like using a special 2D engine), and usually
>   offers, for example, accelerated stencil-only copies even where
> diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
> index 07ce88e..7257604 100644
> --- a/src/gallium/include/pipe/p_state.h
> +++ b/src/gallium/include/pipe/p_state.h
> @@ -592,8 +592,8 @@ struct pipe_blit_info
>      boolean scissor_enable;
>      struct pipe_scissor_state scissor;
>
> -   boolean render_condition_enable; /**< whether to leave current render
> -                                    condition enabled */
> +   boolean render_condition_enable; /**< whether the blit should honor the
> +                                    current render condition */
>   };
>
>
>

For the series: Reviewed-by: Brian Paul <brianp at vmware.com>

Should patches 2 and 3 be tagged for the 10.1 and 10.2 branches?

-Brian



More information about the mesa-dev mailing list