mirror of
https://github.com/X11Libre/xf86-video-ati.git
synced 2026-03-24 01:24:43 +00:00
dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL
This way, the MSC will continue ticking at the rate of (the last mode which was enabled for) that CRTC, instead of the client running unthrottled. (Ported from amdgpu commit 3109f088fdbd89c2ee8078625d4f073852492656) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Michel Dänzer
parent
d5f5bc5846
commit
2a3f2d2089
@@ -517,10 +517,12 @@ xf86CrtcPtr radeon_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled)
|
||||
pDraw->x, pDraw->x + pDraw->width,
|
||||
pDraw->y, pDraw->y + pDraw->height);
|
||||
|
||||
if (crtc && pDraw->type == DRAWABLE_WINDOW) {
|
||||
if (pDraw->type == DRAWABLE_WINDOW) {
|
||||
struct dri2_window_priv *priv = get_dri2_window_priv((WindowPtr)pDraw);
|
||||
|
||||
if (priv->crtc && priv->crtc != crtc) {
|
||||
if (!crtc) {
|
||||
crtc = priv->crtc;
|
||||
} else if (priv->crtc && priv->crtc != crtc) {
|
||||
CARD64 ust, mscold, mscnew;
|
||||
|
||||
if (radeon_dri2_get_crtc_msc(priv->crtc, &ust, &mscold) &&
|
||||
|
||||
Reference in New Issue
Block a user