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

Roland Scheidegger sroland at vmware.com
Thu May 29 10:04:31 PDT 2014


Am 29.05.2014 15:53, schrieb Brian Paul:
> 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?
> 

10.1 doesn't have the render_condition_enable bit in pipe_blit_info as
it was more recently added. I'm not convinced it's worth bothering with
this for 10.2 though I could be convinced otherwise (the only thing
breaking due to this I know of is the piglit test).

Roland


More information about the mesa-dev mailing list