diff options
Diffstat (limited to 'src/qxl_uxa.c')
-rw-r--r-- | src/qxl_uxa.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/qxl_uxa.c b/src/qxl_uxa.c index 1810181..584a863 100644 --- a/src/qxl_uxa.c +++ b/src/qxl_uxa.c @@ -198,6 +198,16 @@ can_accelerate_picture (PicturePtr pict) static Bool qxl_has_composite (qxl_screen_t *qxl) { +#ifdef XF86DRM_MODE + if (qxl->kms_enabled) { + static Bool result, checked; + if (!checked) { + result = qxl_kms_check_cap(qxl, SPICE_DISPLAY_CAP_COMPOSITE); + checked = TRUE; + } + return result; + } +#endif #ifndef XSPICE return qxl->pci->revision >= 4 && @@ -211,6 +221,16 @@ qxl_has_composite (qxl_screen_t *qxl) static Bool qxl_has_a8_surfaces (qxl_screen_t *qxl) { +#ifdef XF86DRM_MODE + if (qxl->kms_enabled) { + static Bool result, checked; + if (!checked) { + result = qxl_kms_check_cap(qxl, SPICE_DISPLAY_CAP_A8_SURFACE); + checked = TRUE; + } + return result; + } +#endif #ifndef XSPICE return qxl->pci->revision >= 4 && |