diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-25 12:47:27 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-25 14:50:37 +0100 |
commit | 0865acb3ad03239ffdf8cbf3c9fc204b6c97121b (patch) | |
tree | 7f7846f833a7726849b4c3615c0e654486e29bd8 | |
parent | 98b67457caea583de50bff1b11a3c5a2bd694e26 (diff) |
sna/dri2: Add some debug around the use of the Resource database
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_dri.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index 9b0ce200..0a01f8af 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -567,6 +567,9 @@ get_resource(XID id, RESTYPE type) return NULL; } + DBG(("%s(%ld): new(%ld)=%p\n", __FUNCTION__, + (long)id, (long)type, resource)); + list_init(resource); return resource; } @@ -576,7 +579,7 @@ sna_dri_frame_event_client_gone(void *data, XID id) { struct list *resource = data; - DBG(("%s(%ld)\n", __FUNCTION__, (long)id)); + DBG(("%s(%ld): %p\n", __FUNCTION__, (long)id, data)); while (!list_is_empty(resource)) { struct sna_dri_frame_event *info = @@ -584,6 +587,9 @@ sna_dri_frame_event_client_gone(void *data, XID id) struct sna_dri_frame_event, client_resource); + DBG(("%s: marking client gone [%p]: %p\n", + __FUNCTION__, info, info->client)); + list_del(&info->client_resource); info->client = NULL; } @@ -597,7 +603,7 @@ sna_dri_frame_event_drawable_gone(void *data, XID id) { struct list *resource = data; - DBG(("%s(%ld)\n", __FUNCTION__, (long)id)); + DBG(("%s(%ld): resource=%p\n", __FUNCTION__, (long)id, resource)); while (!list_is_empty(resource)) { struct sna_dri_frame_event *info = @@ -605,6 +611,9 @@ sna_dri_frame_event_drawable_gone(void *data, XID id) struct sna_dri_frame_event, drawable_resource); + DBG(("%s: marking drawable gone [%p]: %ld\n", + __FUNCTION__, info, info->drawable_id)); + list_del(&info->drawable_resource); info->drawable_id = None; } @@ -668,12 +677,18 @@ sna_dri_add_frame_event(struct sna_dri_frame_event *info) list_add(&info->drawable_resource, resource); + DBG(("%s: add[%p] (%p, %ld)\n", __FUNCTION__, + info, info->client, info->drawable_id)); + return TRUE; } static void sna_dri_frame_event_info_free(struct sna_dri_frame_event *info) { + DBG(("%s: del[%p] (%p, %ld)\n", __FUNCTION__, + info, info->client, info->drawable_id)); + list_del(&info->client_resource); list_del(&info->drawable_resource); |