xf86-video-intel: src/sna/gen3_render.c src/sna/sna_video_textured.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu Dec 15 10:23:16 PST 2011
src/sna/gen3_render.c | 2 ++
src/sna/sna_video_textured.c | 13 ++++++++-----
2 files changed, 10 insertions(+), 5 deletions(-)
New commits:
commit 19c184b7e4f8de747ed6fb1f6f910238193cf2a1
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Dec 15 18:18:19 2011 +0000
sna/gen3: Check for upload failure of video bo
And propagate that failure back to the client.
Reported-by: Paul Neumann <paul104x at yahoo.de>
References: https://bugs.freedesktop.org/show_bug.cgi?id=43716
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index 89cd4bd..7151e12 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -3410,6 +3410,8 @@ gen3_render_video(struct sna *sna,
DBG(("%s: %dx%d -> %dx%d\n", __FUNCTION__, src_w, src_h, drw_w, drw_h));
dst_bo = sna_pixmap_get_bo(pixmap);
+ if (dst_bo == NULL)
+ return FALSE;
if (pixmap->drawable.width > 2048 ||
pixmap->drawable.height > 2048 ||
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c
index 8531fc6..ba0e146 100644
--- a/src/sna/sna_video_textured.c
+++ b/src/sna/sna_video_textured.c
@@ -227,6 +227,7 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
BoxRec dstBox;
xf86CrtcPtr crtc;
Bool flush = false;
+ Bool ret;
if (!sna_pixmap(pixmap))
return BadAlloc;
@@ -265,10 +266,12 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
flush = sna_wait_for_scanline(sna, pixmap, crtc,
&clip->extents);
- sna->render.video(sna, video, &frame, clip,
- src_w, src_h,
- drw_w, drw_h,
- pixmap);
+ ret = Success;
+ if (!sna->render.video(sna, video, &frame, clip,
+ src_w, src_h,
+ drw_w, drw_h,
+ pixmap))
+ ret = BadAlloc;
kgem_bo_destroy(&sna->kgem, frame.bo);
@@ -280,7 +283,7 @@ sna_video_textured_put_image(ScrnInfoPtr scrn,
if (flush)
kgem_submit(&sna->kgem);
- return Success;
+ return ret;
}
static int
More information about the xorg-commit
mailing list