summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-09-29 16:06:52 +0100
committerDave Airlie <airlied@redhat.com>2011-09-29 16:06:52 +0100
commitd68278caa04f165c85f5d927abcf5fcc084eaa94 (patch)
tree5358b266eea5c7c8f9c2e3547953665424bc93d8
parent82ba85fca8416635ff28c19c4b38fa2fe9820481 (diff)
check drm support dumb buffer capabilityrestart
-rw-r--r--src/drmmode_display.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 375170f..dcf3eb3 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1016,6 +1016,17 @@ static const xf86CrtcConfigFuncsRec drmmode_xf86crtc_config_funcs = {
Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp)
{
int i, num_dvi = 0, num_hdmi = 0;
+ int ret;
+
+ /* check for dumb capability */
+ {
+ uint64_t value = 0;
+ ret = drmGetCap(drmmode->fd, DRM_CAP_DUMB_BUFFER, &value);
+ if (ret > 0 || value != 1) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "KMS doesn't support dumb interface\n");
+ return FALSE;
+ }
+ }
xf86CrtcConfigInit(pScrn, &drmmode_xf86crtc_config_funcs);