simple-dmabuf-drm: use appropriately sized buffer (freedreno)
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 <agx@sigxcpu.org>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
diff --git a/clients/simple-dmabuf-drm.c b/clients/simple-dmabuf-drm.c
index efe3b7f..2975f3a 100644
--- a/clients/simple-dmabuf-drm.c
+++ b/clients/simple-dmabuf-drm.c
@@ -221,14 +221,16 @@
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;
}