[Mesa-dev] [PATCH 4/7] radeonsi: handle NULL colorbuffers correctly

Marek Olšák maraeo at gmail.com
Thu Jan 9 04:05:14 PST 2014


On Thu, Jan 9, 2014 at 3:51 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On Mit, 2014-01-08 at 18:23 +0100, Marek Olšák wrote:
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
>> index 3666a11..ba73401 100644
>> --- a/src/gallium/drivers/radeonsi/si_state.c
>> +++ b/src/gallium/drivers/radeonsi/si_state.c
> [...]
>> @@ -2136,16 +2143,11 @@ static void si_set_framebuffer_state(struct pipe_context *ctx,
> [...]
>>       si_set_msaa_state(rctx, pm4, nr_samples);
>>       rctx->fb_log_samples = util_logbase2(nr_samples);
>> -     rctx->fb_cb0_is_integer = state->nr_cbufs &&
>> +     rctx->fb_cb0_is_integer = state->nr_cbufs && state->cbufs[0] &&
>>                                 util_format_is_pure_integer(state->cbufs[0]->format);
>
> Should this check the first non-NULL cbuf now instead of always
> cbufs[0]?

fb_cb0_is_integer only affects alpha-to-one and alpha-to-coverage,
which only use the first shader color output. Setting
fb_cb0_is_integer=FALSE means that both can be enabled. The types of
other colorbuffers don't matter.

Marek


More information about the mesa-dev mailing list