On Sun, Aug 18, 2013 at 10:07 AM, Mark Kettenis <[email protected]> wrote:
> For shadowfb, the framebuffer needs to have the RADEON_TILING_SURFACE
> flag set, otherwise the appropriate byte swapping won't happen.
>
> See https://bugs.freedesktop.org/show_bug.cgi?id=66663
>
> Signed-off-by: Mark Kettenis <[email protected]>

Pushed.  thanks!

Alex

>
>
> diff --git src/drmmode_display.c src/drmmode_display.c
> index 1df104d..921b7ba 100644
> --- src/drmmode_display.c
> +++ src/drmmode_display.c
> @@ -1590,6 +1590,9 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, 
> int height)
>             tiling_flags |= RADEON_TILING_SWAP_16BIT;
>             break;
>         }
> +       if (info->ChipFamily < CHIP_FAMILY_R600 &&
> +           info->r600_shadow_fb && tiling_flags)
> +           tiling_flags |= RADEON_TILING_SURFACE;
>  #endif
>         if (tiling_flags)
>             radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);
> diff --git src/radeon_kms.c src/radeon_kms.c
> index edc3b04..82e88d4 100644
> --- src/radeon_kms.c
> +++ src/radeon_kms.c
> @@ -1585,6 +1585,9 @@ static Bool radeon_setup_kernel_mem(ScreenPtr pScreen)
>             tiling_flags |= RADEON_TILING_SWAP_16BIT;
>             break;
>         }
> +       if (info->ChipFamily < CHIP_FAMILY_R600 &&
> +           info->r600_shadow_fb && tiling_flags)
> +           tiling_flags |= RADEON_TILING_SURFACE;
>  #endif
>         if (tiling_flags)
>              radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);
> _______________________________________________
> xorg-driver-ati mailing list
> [email protected]
> http://lists.x.org/mailman/listinfo/xorg-driver-ati
_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to