diff options
Diffstat (limited to 'libkms++/dumbframebuffer.cpp')
| -rw-r--r-- | libkms++/dumbframebuffer.cpp | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/libkms++/dumbframebuffer.cpp b/libkms++/dumbframebuffer.cpp index d1e40ff..0779b05 100644 --- a/libkms++/dumbframebuffer.cpp +++ b/libkms++/dumbframebuffer.cpp @@ -83,7 +83,7 @@ void DumbFramebuffer::Create()  		creq.bpp = pi.bitspp;  		r = drmIoctl(card().fd(), DRM_IOCTL_MODE_CREATE_DUMB, &creq);  		if (r) -			throw std::invalid_argument("foo"); +			throw invalid_argument(string("DRM_IOCTL_MODE_CREATE_DUMB failed") + strerror(errno));  		plane.handle = creq.handle;  		plane.stride = creq.pitch; @@ -100,13 +100,13 @@ void DumbFramebuffer::Create()  		mreq.handle = plane.handle;  		r = drmIoctl(card().fd(), DRM_IOCTL_MODE_MAP_DUMB, &mreq);  		if (r) -			throw std::invalid_argument("foo"); +			throw invalid_argument(string("DRM_IOCTL_MODE_MAP_DUMB failed") + strerror(errno));  		/* perform actual memory mapping */  		m_planes[i].map = (uint8_t *)mmap(0, plane.size, PROT_READ | PROT_WRITE, MAP_SHARED,  						  card().fd(), mreq.offset);  		if (plane.map == MAP_FAILED) -			throw std::invalid_argument("foo"); +			throw invalid_argument(string("mmap failed: ") + strerror(errno));  		/* clear the framebuffer to 0 */  		memset(plane.map, 0, plane.size); @@ -120,7 +120,7 @@ void DumbFramebuffer::Create()  	r = drmModeAddFB2(card().fd(), width(), height(), (uint32_t)format(),  			  bo_handles, pitches, offsets, &id, 0);  	if (r) -		throw std::invalid_argument("foo"); +		throw invalid_argument(string("drmModeAddFB2 failed: ") + strerror(errno));  	set_id(id);  }  | 
