summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2018-04-18 11:03:14 +0200
committerMichel Dänzer <michel@daenzer.net>2018-04-20 17:13:56 +0200
commit04a5c5f7cfacad8d9ccffe81e388cc3da2036cb5 (patch)
treef144a3a0fd05be1393115e6423efed67cd3fe290
parent8fcc3a9b43d3907052a83a96e5a2423afab5ad3f (diff)
Track DRM event queue sequence number in scanout_update_pending
Preparation for next change, no behaviour change intended.
-rw-r--r--src/amdgpu_kms.c16
-rw-r--r--src/drmmode_display.h2
2 files changed, 9 insertions, 9 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 6520191..c86c787 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -424,7 +424,7 @@ amdgpu_scanout_flip_abort(xf86CrtcPtr crtc, void *event_data)
AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(crtc->scrn);
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
- drmmode_crtc->scanout_update_pending = FALSE;
+ drmmode_crtc->scanout_update_pending = 0;
drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->flip_pending,
NULL);
}
@@ -509,7 +509,7 @@ amdgpu_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
{
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
- drmmode_crtc->scanout_update_pending = FALSE;
+ drmmode_crtc->scanout_update_pending = 0;
}
void
@@ -650,7 +650,7 @@ amdgpu_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
amdgpu_prime_scanout_do_update(crtc, 0);
- drmmode_crtc->scanout_update_pending = FALSE;
+ drmmode_crtc->scanout_update_pending = 0;
}
static void
@@ -691,7 +691,7 @@ amdgpu_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
return;
}
- drmmode_crtc->scanout_update_pending = TRUE;
+ drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -749,7 +749,7 @@ amdgpu_prime_scanout_flip(PixmapDirtyUpdatePtr ent)
}
drmmode_crtc->scanout_id = scanout_id;
- drmmode_crtc->scanout_update_pending = TRUE;
+ drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -892,7 +892,7 @@ amdgpu_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
{
drmmode_crtc_private_ptr drmmode_crtc = event_data;
- drmmode_crtc->scanout_update_pending = FALSE;
+ drmmode_crtc->scanout_update_pending = 0;
}
static void
@@ -967,7 +967,7 @@ amdgpu_scanout_update(xf86CrtcPtr xf86_crtc)
return;
}
- drmmode_crtc->scanout_update_pending = TRUE;
+ drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -1032,7 +1032,7 @@ amdgpu_scanout_flip(ScreenPtr pScreen, AMDGPUInfoPtr info,
}
drmmode_crtc->scanout_id = scanout_id;
- drmmode_crtc->scanout_update_pending = TRUE;
+ drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void AMDGPUBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 2aa5672..25ae9f8 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -84,7 +84,7 @@ typedef struct {
Bool ignore_damage;
RegionRec scanout_last_region;
unsigned scanout_id;
- Bool scanout_update_pending;
+ uintptr_t scanout_update_pending;
Bool tear_free;
PixmapPtr prime_scanout_pixmap;