summaryrefslogtreecommitdiff
path: root/kms++/inc/kms++/swsync.h
diff options
context:
space:
mode:
Diffstat (limited to 'kms++/inc/kms++/swsync.h')
-rw-r--r--kms++/inc/kms++/swsync.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/kms++/inc/kms++/swsync.h b/kms++/inc/kms++/swsync.h
new file mode 100644
index 0000000..04b1596
--- /dev/null
+++ b/kms++/inc/kms++/swsync.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#include <cstdint>
+
+namespace kms
+{
+
+class SWSync;
+
+class SWSyncTimeline
+{
+public:
+ SWSyncTimeline();
+ ~SWSyncTimeline();
+
+ SWSync *createFence(uint32_t value);
+ void signal(uint32_t value);
+ uint32_t value() const { return m_value; };
+
+private:
+ int m_fd;
+ uint32_t m_value;
+};
+
+class SWSync
+{
+public:
+ ~SWSync();
+
+ int fd() { return m_fd; };
+
+private:
+ friend SWSyncTimeline;
+ SWSync(int fd);
+
+ int m_fd;
+};
+
+}