[Mesa-dev] radeonsi: always set the scanout flag?

Axel Davy axel.davy at ens.fr
Wed Nov 27 07:37:34 PST 2013


This fixes the issue for me,

However looking at your patch, I believe you made a small mistake.

I think with your patch, the RADEON_SURF_SCANOUT flag
would be always be set for cards inferior to SI,
since your calculation of scanout:
*scanout = !(bo->rws->gen >= DRV_SI && args.tiling_flags & 
RADEON_TILING_R600_NO_SCANOUT);
Would make scanout set to 1 when the card is inferior to SI.

I think the correct calculus is:
*scanout = (bo->rws->gen >= DRV_SI) && !(args.tiling_flags & 
RADEON_TILING_R600_NO_SCANOUT);

Thank you for having fixed this issue,

Axel Davy

On 26/11/2013, Marek Olšák wrote :
> Does the attached patch fix the issue for you?
>
> Marek
>
> On Tue, Nov 26, 2013 at 9:20 AM, Axel Davy <axel.davy at ens.fr> wrote:
>> Hi,
>>
>> When importing an handle (src/gallium/drivers/radeon/r600_texture.c),
>> the RADEON_SURF_SCANOUT flag is always set on SI.
>>
>> The code is associated with a comment: /* always set the scanout flags on SI
>> */
>>
>> I was getting bad tiling mode on Wayland with my radeonsi card, and recent
>> Mesa,
>> and I discovered that setting this flag there was causing my tiling issue.
>>
>> I think one possible reason for this code is X dri2, since the DDX allocates
>> the buffers with this flag.
>>
>> Could this flag be passed via buffer_get_tiling?
>>
>> If not, then there would probably need to force this flag when creating a
>> resource on SI.
>> But ideally, if it makes a performance difference, we would like to be able
>> to control that
>> with Wayland when allocating the buffers.
>>
>> Axel Davy
>> _______________________________________________
>> 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