96 QMap<uint32_t, QList<uint64_t>>
formats()
const;
111 std::shared_ptr<DrmConnectorMode>
mode()
const;
121 const std::shared_ptr<IccProfile> &
iccProfile()
const;
124 void setMode(
const std::shared_ptr<DrmConnectorMode> &
mode);
131 void setGammaRamp(
const std::shared_ptr<ColorTransformation> &transformation);
132 void setCTM(
const QMatrix3x3 &ctm);
135 void setIccProfile(
const std::shared_ptr<IccProfile> &profile);
146 bool isBufferForDirectScanout()
const;
147 uint32_t calculateUnderscan();
148 static Error errnoToError();
152 Error presentLegacy();
153 Error legacyModeset();
154 Error applyPendingChangesLegacy();
155 bool setCursorLegacy();
156 static Error commitPipelinesLegacy(
const QList<DrmPipeline *> &pipelines,
CommitMode mode,
const QList<DrmObject *> &unusedObjects);
160 bool prepareAtomicModeset(DrmAtomicCommit *commit);
161 Error prepareAtomicPresentation(DrmAtomicCommit *commit);
162 void prepareAtomicCursor(DrmAtomicCommit *commit);
163 void prepareAtomicDisable(DrmAtomicCommit *commit);
164 static Error commitPipelinesAtomic(
const QList<DrmPipeline *> &pipelines,
CommitMode mode,
const QList<DrmObject *> &unusedObjects);
166 DrmOutput *m_output =
nullptr;
167 DrmConnector *m_connector =
nullptr;
169 bool m_modesetPresentPending =
false;
173 DrmCrtc *crtc =
nullptr;
174 QMap<uint32_t, QList<uint64_t>> formats;
177 bool needsModeset =
false;
178 bool needsModesetProperties =
false;
179 std::shared_ptr<DrmConnectorMode> mode;
180 uint32_t overscan = 0;
183 std::shared_ptr<ColorTransformation> colorTransformation;
184 std::shared_ptr<DrmGammaRamp> gamma;
185 std::shared_ptr<DrmBlob> ctm;
188 std::shared_ptr<IccProfile> iccProfile;
199 std::unique_ptr<DrmCommitThread> m_commitThread;
200 std::shared_ptr<DrmPipelineLayer> m_primaryLayer;
201 std::shared_ptr<DrmPipelineLayer> m_cursorLayer;