summaryrefslogtreecommitdiff
path: root/src/qxl_uxa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/qxl_uxa.c')
-rw-r--r--src/qxl_uxa.c20
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 &&