From a9480f87902840388497ff85062e73381317626f Mon Sep 17 00:00:00 2001 From: Matt Hoosier Date: Wed, 27 May 2020 15:28:23 -0500 Subject: card: add constructor for pre-opened FD This is an escape hatch to let the user do whatever crazy thing he wants to obtain the DRM fd. This could be from a DRM lease, an FD passed across a Wayland protocol request, something calculated by manually walking across the set of DRI cards and selecting specific criteria, etc. --- kms++/inc/kms++/card.h | 1 + 1 file changed, 1 insertion(+) (limited to 'kms++/inc') diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h index e561ffc..9ca06b2 100644 --- a/kms++/inc/kms++/card.h +++ b/kms++/inc/kms++/card.h @@ -26,6 +26,7 @@ class Card public: Card(const std::string& dev_path = ""); Card(const std::string& driver, uint32_t idx); + Card(int fd, bool take_ownership); virtual ~Card(); Card(const Card& other) = delete; -- cgit v1.2.3 From 554f3f0231c432dea740e56d6a51a15983c93310 Mon Sep 17 00:00:00 2001 From: Matt Hoosier Date: Wed, 27 May 2020 15:29:00 -0500 Subject: card: add factory function for selecting card by name Uses drmOpen() to do the heavy lifting. --- kms++/inc/kms++/card.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'kms++/inc') diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h index 9ca06b2..5c1cf7c 100644 --- a/kms++/inc/kms++/card.h +++ b/kms++/inc/kms++/card.h @@ -24,6 +24,8 @@ class Card { friend class Framebuffer; public: + static std::unique_ptr open_named_card(const std::string& name); + Card(const std::string& dev_path = ""); Card(const std::string& driver, uint32_t idx); Card(int fd, bool take_ownership); -- cgit v1.2.3