From 131a6e455743b757f8a5f79aefa956b046dce4ba Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 11 Nov 2015 20:50:55 +0200 Subject: card: fix has_atomic if libdrm does not have atomic support If libdrm was missing DRM_CLIENT_CAP_ATOMIC, but the driver still supported atomic modesetting, m_has_atomic was set to true. The end result was that test apps thought they can use atomic modesetting, but it wasn't functional in the libkmsxx. --- libkms++/card.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libkms++') diff --git a/libkms++/card.cpp b/libkms++/card.cpp index 2bb6673..a0e395e 100644 --- a/libkms++/card.cpp +++ b/libkms++/card.cpp @@ -11,10 +11,6 @@ #include "kms++.h" -#ifndef DRM_CLIENT_CAP_ATOMIC -#define DRM_CLIENT_CAP_ATOMIC 3 -#endif - using namespace std; namespace kms @@ -42,12 +38,16 @@ Card::Card() m_has_universal_planes = false; } +#ifdef DRM_CLIENT_CAP_ATOMIC if (getenv("LIBKMSXX_DISABLE_ATOMIC") == 0) { r = drmSetClientCap(m_fd, DRM_CLIENT_CAP_ATOMIC, 1); m_has_atomic = r == 0; } else { m_has_atomic = false; } +#else + m_has_atomic = false; +#endif uint64_t has_dumb; r = drmGetCap(fd, DRM_CAP_DUMB_BUFFER, &has_dumb); -- cgit v1.2.3