xf86-video-amdgpu: Branch 'master' - 2 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jun 14 09:15:39 UTC 2019
src/amdgpu_dri2.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
New commits:
commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Thu Jun 6 11:02:15 2019 +0200
Remove dri2_drawable_crtc parameter consider_disabled
All callers were passing TRUE.
Reviewed-and-tested-by: Flora Cui <flora.cui at amd.com>
diff --git a/src/amdgpu_dri2.c b/src/amdgpu_dri2.c
index 824b1f6..a77e4e3 100644
--- a/src/amdgpu_dri2.c
+++ b/src/amdgpu_dri2.c
@@ -414,11 +414,11 @@ static Bool amdgpu_dri2_get_crtc_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc)
}
static
-xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled)
+xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw)
{
ScreenPtr pScreen = pDraw->pScreen;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- xf86CrtcPtr crtc = amdgpu_pick_best_crtc(pScrn, consider_disabled,
+ xf86CrtcPtr crtc = amdgpu_pick_best_crtc(pScrn, TRUE,
pDraw->x, pDraw->x + pDraw->width,
pDraw->y, pDraw->y + pDraw->height);
@@ -833,7 +833,7 @@ CARD32 amdgpu_dri2_extrapolate_msc_delay(xf86CrtcPtr crtc, CARD64 * target_msc,
*/
static int amdgpu_dri2_get_msc(DrawablePtr draw, CARD64 * ust, CARD64 * msc)
{
- xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw, TRUE);
+ xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw);
/* Drawable not displayed, make up a value */
if (!crtc) {
@@ -948,7 +948,7 @@ static int amdgpu_dri2_schedule_wait_msc(ClientPtr client, DrawablePtr draw,
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
DRI2FrameEventPtr wait_info = NULL;
uintptr_t drm_queue_seq = 0;
- xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw, TRUE);
+ xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw);
uint32_t msc_delta;
uint32_t seq;
CARD64 current_msc;
@@ -1098,7 +1098,7 @@ static int amdgpu_dri2_schedule_swap(ClientPtr client, DrawablePtr draw,
{
ScreenPtr screen = draw->pScreen;
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
- xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw, TRUE);
+ xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw);
uint32_t msc_delta;
drmVBlankSeqType type;
uint32_t seq;
commit 3109f088fdbd89c2ee8078625d4f073852492656
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Thu Jun 6 11:22:09 2019 +0200
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.
Reviewed-and-tested-by: Flora Cui <flora.cui at amd.com>
diff --git a/src/amdgpu_dri2.c b/src/amdgpu_dri2.c
index d205428..824b1f6 100644
--- a/src/amdgpu_dri2.c
+++ b/src/amdgpu_dri2.c
@@ -422,10 +422,12 @@ xf86CrtcPtr amdgpu_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 (amdgpu_dri2_get_crtc_msc(priv->crtc, &ust, &mscold) &&
More information about the xorg-commit
mailing list