[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