[PR #2193] modesetting: fix PRESENT_FLIP_REASON_BUFFER_FORMAT gets overwritten

PR: https://github.com/X11Libre/xserver/pull/2193
This commit is contained in:
Qiang Yu
2025-10-30 15:59:39 +08:00
committed by Enrico Weigelt, metux IT consult
parent 9d58e4a665
commit 0b8a7a4783

View File

@@ -322,6 +322,9 @@ ms_present_check_flip(RRCrtcPtr crtc,
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
modesettingPtr ms = modesettingPTR(scrn);
if (reason)
*reason = PRESENT_FLIP_REASON_UNKNOWN;
if (ms->drmmode.sprites_visible > 0)
goto no_flip;
@@ -337,7 +340,7 @@ ms_present_check_flip(RRCrtcPtr crtc,
no_flip:
/* Export some info about TearFree if Present can't flip anyway */
if (reason) {
if (reason && *reason == PRESENT_FLIP_REASON_UNKNOWN) {
xf86CrtcPtr xf86_crtc = crtc->devPrivate;
drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
drmmode_tearfree_ptr trf = &drmmode_crtc->tearfree;