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.d...@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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to