Use correct FB handle in radeon_do_pageflip

We were always using the handle of the client provided FB, which
prevented RandR transforms from working, and could result in a black
screen.

Bugzilla: https://bugs.freedesktop.org/107519
Fixes: 740f0850f1 "Store FB for each CRTC in drmmode_flipdata_rec"
(Ported from amdgpu commit f6cd72e64e85896b6d155bee0930e59771dcb701)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Michel Dänzer
2018-08-16 18:22:27 +02:00
parent 740f0850f1
commit 824189b3da

View File

@@ -3386,7 +3386,7 @@ Bool radeon_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
if (crtc == ref_crtc) {
if (drmmode_page_flip_target_absolute(pRADEONEnt,
drmmode_crtc,
fb->handle,
flipdata->fb[i]->handle,
flip_flags,
drm_queue_seq,
target_msc) != 0)
@@ -3394,7 +3394,7 @@ Bool radeon_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
} else {
if (drmmode_page_flip_target_relative(pRADEONEnt,
drmmode_crtc,
fb->handle,
flipdata->fb[i]->handle,
flip_flags,
drm_queue_seq, 0) != 0)
goto flip_error;