From 3ed7a0000840253a233363e64308d93f49c48364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Mon, 19 Mar 2018 17:45:19 +0100 Subject: [PATCH] simple-dmabuf-drm: use appropriately sized buffer (freedreno) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use stride instead of width for buffer calculation. [Derek Foreman edited the commit log and removed the leftover initialization of 'size'] Signed-off-by: Guido Günther Reviewed-by: Derek Foreman --- clients/simple-dmabuf-drm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/clients/simple-dmabuf-drm.c b/clients/simple-dmabuf-drm.c index efe3b7f5d..2975f3a5e 100644 --- a/clients/simple-dmabuf-drm.c +++ b/clients/simple-dmabuf-drm.c @@ -221,14 +221,16 @@ static int fd_alloc_bo(struct buffer *buf) { int flags = DRM_FREEDRENO_GEM_CACHE_WCOMBINE; - int size = buf->width * buf->height * buf->bpp / 8; - buf->fd_dev = fd_device_new(buf->drm_fd); + int size; + buf->fd_dev = fd_device_new(buf->drm_fd); + buf->stride = ALIGN(buf->width, 32) * buf->bpp / 8; + size = buf->stride * buf->height; + buf->fd_dev = fd_device_new(buf->drm_fd); buf->fd_bo = fd_bo_new(buf->fd_dev, size, flags); if (!buf->fd_bo) return 0; - buf->stride = ALIGN(buf->width, 32) * buf->bpp / 8; return 1; }