path: root/src/gallium
diff options
authorRoland Scheidegger <>2014-05-29 01:21:20 +0200
committerRoland Scheidegger <>2014-05-31 22:05:14 +0200
commitf49e201df95b4a46e4fd4702a6d8e6fc07657bd9 (patch)
tree287289a8540dfdc59410f58320d9a70d7fc204ac /src/gallium
parent3b66029dd372f54c1e0e14a036668404d11fbcfb (diff)
gallium/docs: improve documentation of render condition wrt blits.
Reviewed-by: Brian Paul <> Reviewed-by: Jose Fonseca <>
Diffstat (limited to 'src/gallium')
2 files changed, 9 insertions, 5 deletions
diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst
index 571ee87c2dc..a9625f39edc 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 07ce88ea62d..72576041ece 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 */