summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <lfrb@collabora.com>2018-02-28 01:19:37 +0000
committerAdam Jackson <ajax@redhat.com>2018-03-05 13:27:34 -0500
commit4023d537341b9c36b9bb248c206e40694e4b08d2 (patch)
treebb86a3602e4615d6498a6f42265049a2238ff7fc /include
parente2ef3b44fa697f2ed453767e98da72ea56d4046f (diff)
modesetting: Use atomic modesetting API for pageflip if available
In order to flip between compressed and uncompressed buffers - something drmModePageFlip explicitly bans us from doing - we need to port use the atomic modesetting API. It's only 'fake' atomic though given we still commit for each CRTC separately and CRTC and connector properties are not set with the atomic API. The helper functions to retrieve DRM properties have been borrowed from Weston. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/dix-config.h.in3
-rw-r--r--include/meson.build2
2 files changed, 5 insertions, 0 deletions
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index f12df74da..9f8dc913f 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -491,6 +491,9 @@
/* Build glamor use new drmGetDeviceNameFromFD2 */
#undef GLAMOR_HAS_DRM_NAME_FROM_FD_2
+/* Glamor should use atomic DRM API */
+#undef GLAMOR_HAS_DRM_ATOMIC
+
/* byte order */
#undef X_BYTE_ORDER
diff --git a/include/meson.build b/include/meson.build
index 25239ad74..88d96cacc 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -73,6 +73,8 @@ conf_data.set_quoted('SHMDIR', '/tmp')
conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found())
conf_data.set('WITH_LIBDRM', libdrm_dep.found())
+conf_data.set('GLAMOR_HAS_DRM_ATOMIC',
+ libdrm_dep.found() and libdrm_dep.version().version_compare('>= 2.4.62'))
conf_data.set('GLAMOR_HAS_DRM_NAME_FROM_FD_2',
libdrm_dep.found() and libdrm_dep.version().version_compare('>= 2.4.74'))
conf_data.set('GLXEXT', build_glx)