xwayland/present: Check window & source pixmap depth match last

Preparation for next commit, no functional change intended.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1300>
This commit is contained in:
Michel Dänzer 2024-01-09 17:35:21 +01:00 committed by Marge Bot
parent aa05f38f3d
commit 4495c696b5

View File

@ -773,16 +773,6 @@ xwl_present_check_flip(RRCrtcPtr crtc,
if (!RegionEqual(&present_window->clipList, &present_window->winSize))
return FALSE;
#ifdef XWL_HAS_GLAMOR
if (xwl_window->xwl_screen->glamor &&
!xwl_glamor_check_flip(present_window, pixmap))
return FALSE;
if (!xwl_glamor_supports_implicit_sync(xwl_window->xwl_screen) &&
!xwl_window->xwl_screen->explicit_sync)
return FALSE;
#endif /* XWL_HAS_GLAMOR */
/* Can't flip if the window pixmap doesn't match the xwl_window parent
* window's, e.g. because a client redirected this window or one of its
* parents.
@ -798,6 +788,16 @@ xwl_present_check_flip(RRCrtcPtr crtc,
if (!RegionEqual(&xwl_window->toplevel->winSize, &present_window->winSize))
return FALSE;
#ifdef XWL_HAS_GLAMOR
if (!xwl_glamor_supports_implicit_sync(xwl_window->xwl_screen) &&
!xwl_window->xwl_screen->explicit_sync)
return FALSE;
if (xwl_window->xwl_screen->glamor &&
!xwl_glamor_check_flip(present_window, pixmap))
return FALSE;
#endif /* XWL_HAS_GLAMOR */
return TRUE;
}