diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-27 20:28:44 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-27 20:34:30 +0000 |
commit | 8f4bae01e39392faa8978090db4cbe28fa00b013 (patch) | |
tree | 6beaf8a4b6580e77d6c547e638142864383c09d3 /src/sna/sna_video_textured.c | |
parent | d02bd80b2f9f8ee3840be5d8d6b8d389192c57f5 (diff) |
sna/video: Ensure the video pixmap is on the GPU
The presumption that the pixmap is the scanout and so will always be
pinned is false if there is a shadow or under a compositor. In those
cases, the pixmap may be idle and so the GPU bo reaped. This was
compounded by that the video path did not mark the pixmap as busy. So
whilst watching a video under xfce4 with compositing enabled (has to be
a non-GL compositor) the video would suddenly stall.
Reported-by: Paul Neumann <paul104x@yahoo.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45279
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_video_textured.c')
-rw-r--r-- | src/sna/sna_video_textured.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c index 6f691351..d99f8847 100644 --- a/src/sna/sna_video_textured.c +++ b/src/sna/sna_video_textured.c @@ -240,7 +240,7 @@ sna_video_textured_put_image(ScrnInfoPtr scrn, return BadAlloc; } - if (!sna_pixmap_is_gpu(pixmap)) { + if (!sna_pixmap_force_to_gpu(pixmap, MOVE_READ | MOVE_WRITE)) { DBG(("%s: attempting to render to a non-GPU pixmap\n", __FUNCTION__)); return BadAlloc; |