[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