[Mesa-dev] [PATCH] radeonsi: fix 2D array MSAA failures since image support landed

Marek Olšák maraeo at gmail.com
Wed Mar 23 11:12:32 UTC 2016


On Wed, Mar 23, 2016 at 4:52 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On 23.03.2016 02:27, Marek Olšák wrote:
>> From: Marek Olšák <marek.olsak at amd.com>
>>
>> ---
>>  src/gallium/drivers/radeonsi/si_state.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
>> index b9bdd47..b8fde00 100644
>> --- a/src/gallium/drivers/radeonsi/si_state.c
>> +++ b/src/gallium/drivers/radeonsi/si_state.c
>> @@ -2993,7 +2993,8 @@ si_make_texture_descriptor(struct si_screen *screen,
>>       if (type == V_008F1C_SQ_RSRC_IMG_1D_ARRAY) {
>>               height = 1;
>>               depth = res->array_size;
>> -     } else if (type == V_008F1C_SQ_RSRC_IMG_2D_ARRAY) {
>> +     } else if (type == V_008F1C_SQ_RSRC_IMG_2D_ARRAY ||
>> +                type == V_008F1C_SQ_RSRC_IMG_2D_MSAA_ARRAY) {
>>               if (sampler || res->target != PIPE_TEXTURE_3D)
>>                       depth = res->array_size;
>>       } else if (type == V_008F1C_SQ_RSRC_IMG_CUBE)
>>
>
> Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
>
>
> P.S. The incorrect code actually seemed to "fix" the
> "spec at ext_framebuffer_multisample_blit_scaled@blit-scaled
> samples={2,4,6,8} with gl_texture_2d_multisample_array" tests for me,
> i.e. those tests were originally failing, then passing since Nicolai's
> image changes, and now failing again with this fix. Might be worth
> looking into, or maybe they were just passing by chance with the
> incorrect code?

Yes. The blit-scaled tests expect something that the spec doesn't
guarantee. Because of that, the tests were not listed in all.py for a
long time, but they were added eventually, because all.py should
contain all tests (both correct and incorrect ones). There are many
behaviors the spec accepts, but the tests expect only one of them.

Marek


More information about the mesa-dev mailing list