summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-08-25 12:47:27 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-08-25 14:50:37 +0100
commit0865acb3ad03239ffdf8cbf3c9fc204b6c97121b (patch)
tree7f7846f833a7726849b4c3615c0e654486e29bd8
parent98b67457caea583de50bff1b11a3c5a2bd694e26 (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.c19
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);