[PATCH 3/3] present: Disable check for compatible tiling flags.
Michel Dänzer
michel at daenzer.net
Sun May 10 20:55:11 PDT 2015
[ Adding the xorg-driver-ati mailing list, please post DDX driver
patches there ]
On 09.05.2015 14:24, Mario Kleiner wrote:
> Commit 5921ba4ca705a0d919515626088f3948cc4848c1
> "Don't flip between BOs with different tiling parameters"
> breaks page flipping completely, even on a simple non-prime
> configuration, at least on the tested Radeon HD 4670, due to
> incompatible tiling flags between pixmap and screen pixmap.
>
> This is just a hack which fixes pageflipping on that gpu,
> not intended for merging, just to illustrate that something
> is missing here.
>
> Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
> ---
> src/radeon_present.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/radeon_present.c b/src/radeon_present.c
> index 53819e0..53634ad 100644
> --- a/src/radeon_present.c
> +++ b/src/radeon_present.c
> @@ -257,11 +257,12 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
> /* The kernel driver doesn't handle flipping between BOs with different
> * tiling parameters correctly yet
> */
> +/*
> screen_pixmap = screen->GetScreenPixmap(screen);
> if (radeon_present_get_pixmap_tiling_flags(info, pixmap) !=
> radeon_present_get_pixmap_tiling_flags(info, screen_pixmap))
> return FALSE;
> -
> +*/
> if (crtc) {
> drmmode_crtc_private_ptr drmmode_crtc = get_drmmode_crtc(scrn, crtc);
>
>
We probably need to ignore more bits in
radeon_present_get_pixmap_tiling_flags(). What does it currently return
for each pixmap for you in the failing case?
Patches 1 and 2 look good, I'm planning to push them soon, thanks!
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-driver-ati
mailing list