From 9eb3db0f74f005441ce8ff4554a82e1cea91527f Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Fri, 8 Jan 2016 15:54:15 +0200 Subject: DumbFB: fix dumb buffer alloc for omap NV12 Dividing the bitspp with xsub works better than dividing the width, as otherwise the buffer stride will get aligned easily quite a bit. This is somewhat OMAP specific fix/work-around, but then, it's not clear how NV12 buffer sizes should be calculated anyway. --- libkms++/dumbframebuffer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libkms++') diff --git a/libkms++/dumbframebuffer.cpp b/libkms++/dumbframebuffer.cpp index cc97dde..4fae49e 100644 --- a/libkms++/dumbframebuffer.cpp +++ b/libkms++/dumbframebuffer.cpp @@ -80,9 +80,9 @@ void DumbFramebuffer::Create() /* create dumb buffer */ struct drm_mode_create_dumb creq = drm_mode_create_dumb(); - creq.width = width() / pi.xsub; + creq.width = width(); creq.height = height() / pi.ysub; - creq.bpp = pi.bitspp; + creq.bpp = pi.bitspp / pi.xsub; r = drmIoctl(card().fd(), DRM_IOCTL_MODE_CREATE_DUMB, &creq); if (r) throw invalid_argument(string("DRM_IOCTL_MODE_CREATE_DUMB failed") + strerror(errno)); -- cgit v1.2.3