Changeset View
Changeset View
Standalone View
Standalone View
plugins/platforms/drm/drm_buffer.h
Show All 20 Lines | |||||
21 | #define KWIN_DRM_BUFFER_H | 21 | #define KWIN_DRM_BUFFER_H | ||
22 | 22 | | |||
23 | #include <QImage> | 23 | #include <QImage> | ||
24 | #include <QSize> | 24 | #include <QSize> | ||
25 | 25 | | |||
26 | namespace KWin | 26 | namespace KWin | ||
27 | { | 27 | { | ||
28 | 28 | | |||
29 | class DrmBackend; | | |||
30 | | ||||
31 | class DrmBuffer | 29 | class DrmBuffer | ||
32 | { | 30 | { | ||
33 | public: | 31 | public: | ||
34 | DrmBuffer(DrmBackend *backend); | 32 | DrmBuffer(int fd); | ||
35 | virtual ~DrmBuffer() = default; | 33 | virtual ~DrmBuffer() = default; | ||
36 | 34 | | |||
37 | virtual bool needsModeChange(DrmBuffer *b) const {Q_UNUSED(b) return false;} | 35 | virtual bool needsModeChange(DrmBuffer *b) const {Q_UNUSED(b) return false;} | ||
38 | 36 | | |||
39 | quint32 bufferId() const { | 37 | quint32 bufferId() const { | ||
40 | return m_bufferId; | 38 | return m_bufferId; | ||
41 | } | 39 | } | ||
42 | 40 | | |||
43 | const QSize &size() const { | 41 | const QSize &size() const { | ||
44 | return m_size; | 42 | return m_size; | ||
45 | } | 43 | } | ||
46 | 44 | | |||
47 | virtual void releaseGbm() {} | 45 | virtual void releaseGbm() {} | ||
48 | 46 | | |||
47 | int fd() const { | ||||
48 | return m_fd; | ||||
49 | } | ||||
50 | | ||||
49 | protected: | 51 | protected: | ||
50 | DrmBackend *m_backend; | | |||
51 | quint32 m_bufferId = 0; | 52 | quint32 m_bufferId = 0; | ||
52 | QSize m_size; | 53 | QSize m_size; | ||
54 | int m_fd; | ||||
53 | }; | 55 | }; | ||
54 | 56 | | |||
55 | class DrmDumbBuffer : public DrmBuffer | 57 | class DrmDumbBuffer : public DrmBuffer | ||
56 | { | 58 | { | ||
57 | public: | 59 | public: | ||
58 | DrmDumbBuffer(DrmBackend *backend, const QSize &size); | 60 | DrmDumbBuffer(int fd, const QSize &size); | ||
59 | ~DrmDumbBuffer(); | 61 | ~DrmDumbBuffer(); | ||
60 | 62 | | |||
61 | bool needsModeChange(DrmBuffer *b) const override; | 63 | bool needsModeChange(DrmBuffer *b) const override; | ||
62 | 64 | | |||
63 | bool map(QImage::Format format = QImage::Format_RGB32); | 65 | bool map(QImage::Format format = QImage::Format_RGB32); | ||
64 | quint32 handle() const { | 66 | quint32 handle() const { | ||
65 | return m_handle; | 67 | return m_handle; | ||
66 | } | 68 | } | ||
Show All 20 Lines |