Mesa (master): gallium/docs: improve documentation of render condition wrt blits.

Roland Scheidegger sroland at kemper.freedesktop.org
Sat May 31 20:48:35 UTC 2014


Module: Mesa
Branch: master
Commit: f49e201df95b4a46e4fd4702a6d8e6fc07657bd9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f49e201df95b4a46e4fd4702a6d8e6fc07657bd9

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu May 29 01:21:20 2014 +0200

gallium/docs: improve documentation of render condition wrt blits.

Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca 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 */
 };
 
 




More information about the mesa-commit mailing list