[Mesa-dev] [PATCH 1/2] softpipe: don't attempt to blend integer formats.

Christoph Bumiller e0425955 at student.tuwien.ac.at
Sun Jan 29 12:18:07 PST 2012


On 01/29/2012 06:26 PM, Brian Paul wrote:
> On Sun, Jan 29, 2012 at 9:35 AM, Dave Airlie <airlied at gmail.com> wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This blocks blending in the simple path, need to look at the more
>> complicated paths.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>>  src/gallium/drivers/softpipe/sp_quad_blend.c |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/gallium/drivers/softpipe/sp_quad_blend.c b/src/gallium/drivers/softpipe/sp_quad_blend.c
>> index d546b14..d2a5269 100644
>> --- a/src/gallium/drivers/softpipe/sp_quad_blend.c
>> +++ b/src/gallium/drivers/softpipe/sp_quad_blend.c
>> @@ -1155,7 +1155,8 @@ choose_blend_quad(struct quad_stage *qs,
>>             softpipe->blend->rt[0].colormask == 0xf &&
>>             softpipe->framebuffer.nr_cbufs == 1)
>>    {
>> -      if (!blend->rt[0].blend_enable) {
>> +      if (!blend->rt[0].blend_enable ||
>> +         util_format_is_pure_integer(softpipe->framebuffer.cbufs[0]->format)) {
>>          qs->run = single_output_color;
>>       }
>>       else if (blend->rt[0].rgb_src_factor == blend->rt[0].alpha_src_factor &&
>> --
> 
> How about checking for integer color buffers in the state tracker and
> turning off blending (and alpha test) there?
> 

That's a waste of CPU time.

Sane users will have disabled blending on them already, and for the
rest, they can rely on the hardware to ignore blending for integer
render targets (at least NV hardware does it automatically, telling from
the RT format; they're nice that way).

> If you have integer buffers and try to enable blending with a hardware
> driver, does hardware typically no-opt the blend or does the driver
> have to disable blending?
> 
> -Brian
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list