mirror of
https://github.com/X11Libre/xf86-video-amdgpu.git
synced 2026-03-24 01:24:31 +00:00
present: Don't check pixmap pitch in check_flip with non-DC >= 3.34
The current non-DC kernel driver also handles flipping between different pitches correctly. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
This commit is contained in:
committed by
Michel Dänzer
parent
5bb2580b26
commit
e6fce59a07
@@ -260,6 +260,7 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
AMDGPUInfoPtr info = AMDGPUPTR(scrn);
|
||||
int num_crtcs_on;
|
||||
Bool dc_enabled;
|
||||
int i;
|
||||
|
||||
if (!scrn->vtSema)
|
||||
@@ -294,14 +295,20 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
|
||||
/* Only DC supports advanced color management features, so we can use
|
||||
* drmmode_cm_enabled as a proxy for "Is DC enabled?"
|
||||
*/
|
||||
if (info->dri2.pKernelDRMVersion->version_minor < 31 ||
|
||||
!drmmode_cm_enabled(&info->drmmode)) {
|
||||
dc_enabled = drmmode_cm_enabled(&info->drmmode);
|
||||
|
||||
if (info->dri2.pKernelDRMVersion->version_minor < (dc_enabled ? 31 : 34)) {
|
||||
/* The kernel driver doesn't handle flipping between BOs with
|
||||
* different pitch / tiling parameters correctly
|
||||
* different pitch correctly
|
||||
*/
|
||||
if (pixmap->devKind != screen_pixmap->devKind)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!dc_enabled || info->dri2.pKernelDRMVersion->version_minor < 31) {
|
||||
/* The kernel driver doesn't handle flipping between BOs with
|
||||
* different tiling parameters correctly
|
||||
*/
|
||||
if (amdgpu_pixmap_get_tiling_info(pixmap) !=
|
||||
amdgpu_pixmap_get_tiling_info(screen_pixmap))
|
||||
return FALSE;
|
||||
|
||||
Reference in New Issue
Block a user