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

sroland at vmware.com sroland at vmware.com
Wed May 28 16:23:26 PDT 2014


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 */
 };
 
 
-- 
1.9.1


More information about the mesa-dev mailing list