From a0bb41d16f75901bc18b7024679e2b3a35fc14f6 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 29 Sep 2013 13:33:26 +0100 Subject: [PATCH] sna/video: The sprite framebuffer also encodes its format So we need to check whether the cached framebuffer matches the requested format, or else recreate. Signed-off-by: Chris Wilson --- src/sna/sna_video.c | 4 +++- src/sna/sna_video.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sna/sna_video.c b/src/sna/sna_video.c index 61f66151..132ca280 100644 --- a/src/sna/sna_video.c +++ b/src/sna/sna_video.c @@ -98,7 +98,8 @@ sna_video_buffer(struct sna_video *video, if (video->buf && video->buf->scanout) { if (frame->width != video->width || - frame->height != video->height) + frame->height != video->height || + frame->id != video->format) sna_video_free_buffers(video); } @@ -115,6 +116,7 @@ sna_video_buffer(struct sna_video *video, video->width = frame->width; video->height = frame->height; + video->format = frame->id; return video->buf; } diff --git a/src/sna/sna_video.h b/src/sna/sna_video.h index 996377bd..f906e95e 100644 --- a/src/sna/sna_video.h +++ b/src/sna/sna_video.h @@ -92,7 +92,7 @@ struct sna_video { /** YUV data buffers */ struct kgem_bo *old_buf[2]; struct kgem_bo *buf; - int width, height; + int width, height, format; int alignment; bool tiled;