summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2014-06-27 15:30:35 +0200
committerStefan Schmidt <s.schmidt@samsung.com>2014-06-30 10:13:43 +0200
commitd27996ef234ed315a84db3c28a9da90564206150 (patch)
treed44fc1eb63db2ac665971e50fb7a5c78d05b17f7
parent017f2d34b5d32c12cec57edd361944312f23575f (diff)
downloadefl-d27996ef234ed315a84db3c28a9da90564206150.tar.gz
ecore_drm: Test drm device for DUMB BUFFER capability
Without this we can't do software rendering on the DRM device.
-rw-r--r--src/lib/ecore_drm/ecore_drm_device.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/ecore_drm/ecore_drm_device.c b/src/lib/ecore_drm/ecore_drm_device.c
index a3524533a3..daa744bad7 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -350,7 +350,15 @@ ecore_drm_device_open(Ecore_Drm_Device *dev)
}
else
{
- ERR("Could not get device capabilities: %m");
+ ERR("Could not get TIMESTAMP_MONOTONIC device capabilities: %m");
+ }
+
+ /* Without DUMB_BUFFER we can't do software rendering on DRM. Fail without it
+ * until we have rock solid hardware accelerated DRM on all drivers */
+ if (drmGetCap(dev->drm.fd, DRM_CAP_DUMB_BUFFER, &caps) < 0 || !caps)
+ {
+ ERR("Could not get DUMB_BUFFER device capabilities: %m");
+ return EINA_FALSE;
}
/* #ifdef HAVE_GBM */