xf86-video-intel: src/sna/sna_dri.c
Chris Wilson
ickle at kemper.freedesktop.org
Tue Feb 12 11:45:22 PST 2013
src/sna/sna_dri.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
New commits:
commit aeaed0b7810e9c794749a4f59c72790063cddc86
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Feb 12 19:30:44 2013 +0000
sna/dri: Assert that we are not passed deceased DRI2Buffers
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index 732143a..9a7e246 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -911,6 +911,17 @@ sna_dri_copy_region(DrawablePtr draw,
void (*copy)(struct sna *, DrawablePtr, RegionPtr,
struct kgem_bo *, struct kgem_bo *, bool) = sna_dri_copy;
+ assert(get_private(src_buffer)->refcnt);
+ assert(get_private(dst_buffer)->refcnt);
+
+ assert(get_private(src_buffer)->bo->refcnt);
+ assert(get_private(src_buffer)->bo->flush);
+
+ assert(get_private(dst_buffer)->bo->refcnt);
+ assert(get_private(dst_buffer)->bo->flush);
+
+ assert(sna_pixmap_from_drawable(draw)->flush);
+
if (!can_blit(sna, draw, dst_buffer, src_buffer))
return;
@@ -1098,6 +1109,7 @@ sna_dri_page_flip(struct sna *sna, struct sna_dri_frame_event *info)
assert(get_drawable_pixmap(info->draw)->drawable.height * bo->pitch <= kgem_bo_size(bo));
assert(info->scanout[0].bo);
assert(info->scanout[1].bo == NULL);
+ assert(bo->refcnt);
info->count = sna_page_flip(sna, bo, info, info->pipe);
if (!info->count)
@@ -2106,6 +2118,17 @@ sna_dri_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
divisor &= 0xffffffff;
remainder &= 0xffffffff;
+ assert(get_private(front)->refcnt);
+ assert(get_private(back)->refcnt);
+
+ assert(get_private(front)->bo->refcnt);
+ assert(get_private(front)->bo->flush);
+
+ assert(get_private(back)->bo->refcnt);
+ assert(get_private(back)->bo->flush);
+
+ assert(sna_pixmap_from_drawable(draw)->flush);
+
/* Drawable not displayed... just complete the swap */
pipe = sna_dri_get_pipe(draw);
if (pipe == -1) {
More information about the xorg-commit
mailing list