Changeset View
Changeset View
Standalone View
Standalone View
plugins/platforms/drm/drm_output.h
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 47 | public: | |||
---|---|---|---|---|---|
62 | void updateCursor(); | 62 | void updateCursor(); | ||
63 | void moveCursor(const QPoint &globalPos); | 63 | void moveCursor(const QPoint &globalPos); | ||
64 | bool init(drmModeConnector *connector); | 64 | bool init(drmModeConnector *connector); | ||
65 | bool present(DrmBuffer *buffer); | 65 | bool present(DrmBuffer *buffer); | ||
66 | void pageFlipped(); | 66 | void pageFlipped(); | ||
67 | 67 | | |||
68 | /** | 68 | /** | ||
69 | * Enable or disable the output. | 69 | * Enable or disable the output. | ||
70 | * This differs from setDpms as it also | 70 | * This differs from updateDpms as it also | ||
71 | * removes the wl_output | 71 | * removes the wl_output | ||
72 | * The default is on | 72 | * The default is on | ||
73 | */ | 73 | */ | ||
74 | void setEnabled(bool enabled); | 74 | void setEnabled(bool enabled); | ||
75 | 75 | | |||
76 | QSize pixelSize() const override; | 76 | QSize pixelSize() const override; | ||
77 | 77 | | |||
78 | int currentRefreshRate() const; | 78 | int currentRefreshRate() const; | ||
79 | // These values are defined by the kernel | 79 | // These values are defined by the kernel | ||
80 | enum class DpmsMode { | 80 | enum class DpmsMode { | ||
81 | On = DRM_MODE_DPMS_ON, | 81 | On = DRM_MODE_DPMS_ON, | ||
82 | Standby = DRM_MODE_DPMS_STANDBY, | 82 | Standby = DRM_MODE_DPMS_STANDBY, | ||
83 | Suspend = DRM_MODE_DPMS_SUSPEND, | 83 | Suspend = DRM_MODE_DPMS_SUSPEND, | ||
84 | Off = DRM_MODE_DPMS_OFF | 84 | Off = DRM_MODE_DPMS_OFF | ||
85 | }; | 85 | }; | ||
86 | void setDpms(DpmsMode mode); | | |||
87 | bool isDpmsEnabled() const { | 86 | bool isDpmsEnabled() const { | ||
88 | // We care for current as well as pending mode in order to allow first present in AMS. | 87 | // We care for current as well as pending mode in order to allow first present in AMS. | ||
89 | return m_dpmsModePending == DpmsMode::On; | 88 | return m_dpmsModePending == DpmsMode::On; | ||
90 | } | 89 | } | ||
91 | 90 | | |||
92 | QByteArray uuid() const { | 91 | QByteArray uuid() const { | ||
93 | return m_uuid; | 92 | return m_uuid; | ||
94 | } | 93 | } | ||
Show All 19 Lines | 102 | private: | |||
114 | }; | 113 | }; | ||
115 | bool doAtomicCommit(AtomicCommitMode mode); | 114 | bool doAtomicCommit(AtomicCommitMode mode); | ||
116 | 115 | | |||
117 | bool presentLegacy(DrmBuffer *buffer); | 116 | bool presentLegacy(DrmBuffer *buffer); | ||
118 | bool setModeLegacy(DrmBuffer *buffer); | 117 | bool setModeLegacy(DrmBuffer *buffer); | ||
119 | void initEdid(drmModeConnector *connector); | 118 | void initEdid(drmModeConnector *connector); | ||
120 | void initDpms(drmModeConnector *connector); | 119 | void initDpms(drmModeConnector *connector); | ||
121 | void initOutputDevice(drmModeConnector *connector); | 120 | void initOutputDevice(drmModeConnector *connector); | ||
122 | void initDrmWaylandOutput(); | | |||
123 | 121 | | |||
124 | bool isCurrentMode(const drmModeModeInfo *mode) const; | 122 | bool isCurrentMode(const drmModeModeInfo *mode) const; | ||
125 | void initUuid(); | 123 | void initUuid(); | ||
126 | bool initPrimaryPlane(); | 124 | bool initPrimaryPlane(); | ||
127 | bool initCursorPlane(); | 125 | bool initCursorPlane(); | ||
128 | 126 | | |||
129 | void dpmsOnHandler(); | 127 | void dpmsOnHandler(); | ||
130 | void dpmsOffHandler(); | 128 | void dpmsOffHandler(); | ||
131 | bool dpmsAtomicOff(); | 129 | bool dpmsAtomicOff(); | ||
132 | bool atomicReqModesetPopulate(drmModeAtomicReq *req, bool enable); | 130 | bool atomicReqModesetPopulate(drmModeAtomicReq *req, bool enable); | ||
131 | void updateDpms(KWayland::Server::OutputInterface::DpmsMode mode) override; | ||||
133 | void updateMode(int modeIndex) override; | 132 | void updateMode(int modeIndex) override; | ||
134 | void setWaylandMode(); | 133 | void setWaylandMode(); | ||
135 | 134 | | |||
136 | void transform(KWayland::Server::OutputDeviceInterface::Transform transform) override; | 135 | void transform(KWayland::Server::OutputDeviceInterface::Transform transform) override; | ||
137 | void automaticRotation(); | 136 | void automaticRotation(); | ||
138 | 137 | | |||
139 | int getGammaRampSize() const override; | 138 | int getGammaRampSize() const override; | ||
140 | bool setGammaRamp(const ColorCorrect::GammaRamp &gamma) override; | 139 | bool setGammaRamp(const ColorCorrect::GammaRamp &gamma) override; | ||
Show All 40 Lines |