diff --git a/libkms++/atomicreq.cpp b/libkms++/atomicreq.cpp
index 236e5018876491a047651c393f2198be04ce510e..2e5d469be4d4c84d59346cca42a247860c6928af 100644 (file)
--- a/libkms++/atomicreq.cpp
+++ b/libkms++/atomicreq.cpp
#include <cassert>
+#include <stdexcept>
#include <xf86drm.h>
#include <xf86drmMode.h>
#endif // DRM_CLIENT_CAP_ATOMIC
+using namespace std;
+
namespace kms
{
AtomicReq::AtomicReq(Card& card)
add(ob->id(), prop->id(), value);
}
+void AtomicReq::add(DrmObject* ob, const string& prop, uint64_t value)
+{
+ add(ob, m_card.get_prop(prop), value);
+}
+
int AtomicReq::test()
{
uint32_t flags = DRM_MODE_ATOMIC_TEST_ONLY;
int AtomicReq::commit(void* data)
{
- uint32_t flags = DRM_MODE_PAGE_FLIP_EVENT;
+ uint32_t flags = DRM_MODE_PAGE_FLIP_EVENT | DRM_MODE_ATOMIC_NONBLOCK;
return drmModeAtomicCommit(m_card.fd(), m_req, flags, data);
}