[PATCH xf86-video-ati 2/3] dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Michel Dänzer <michel.daenzer@xxxxxxx>

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)

Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx>
---
 src/radeon_dri2.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 3c04e6fe9..c59d799ff 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -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) &&
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux