KWin
|
#include <drm_pipeline.h>
Public Types | |
enum class | Error { None , OutofMemory , InvalidArguments , NoPermission , FramePending , TestBufferFailed , Unknown } |
enum class | PageflipType { Normal , CursorOnly , Modeset } |
enum class | CommitMode { Test , TestAllowModeset , CommitModeset } |
Public Member Functions | |
DrmPipeline (DrmConnector *conn) | |
~DrmPipeline () | |
Error | present () |
bool | testScanout () |
bool | maybeModeset () |
void | forceLegacyModeset () |
bool | needsModeset () const |
void | applyPendingChanges () |
void | revertPendingChanges () |
bool | updateCursor () |
DrmConnector * | connector () const |
DrmGpu * | gpu () const |
void | pageFlipped (std::chrono::nanoseconds timestamp, PageflipType type, PresentationMode mode) |
bool | pageflipsPending () const |
bool | modesetPresentPending () const |
void | resetModesetPresentPending () |
QMap< uint32_t, QList< uint64_t > > | formats () const |
QMap< uint32_t, QList< uint64_t > > | cursorFormats () const |
bool | hasCTM () const |
bool | hasGammaRamp () const |
bool | pruneModifier () |
void | setOutput (DrmOutput *output) |
DrmOutput * | output () const |
void | setLayers (const std::shared_ptr< DrmPipelineLayer > &primaryLayer, const std::shared_ptr< DrmPipelineLayer > &cursorLayer) |
DrmPipelineLayer * | primaryLayer () const |
DrmPipelineLayer * | cursorLayer () const |
std::chrono::nanoseconds | presentationDeadline () const |
DrmCrtc * | crtc () const |
std::shared_ptr< DrmConnectorMode > | mode () const |
bool | active () const |
bool | activePending () const |
bool | enabled () const |
DrmPlane::Transformations | renderOrientation () const |
PresentationMode | presentationMode () const |
uint32_t | overscan () const |
Output::RgbRange | rgbRange () const |
DrmConnector::DrmContentType | contentType () const |
const ColorDescription & | colorDescription () const |
const std::shared_ptr< IccProfile > & | iccProfile () const |
void | setCrtc (DrmCrtc *crtc) |
void | setMode (const std::shared_ptr< DrmConnectorMode > &mode) |
void | setActive (bool active) |
void | setEnable (bool enable) |
void | setRenderOrientation (DrmPlane::Transformations orientation) |
void | setPresentationMode (PresentationMode mode) |
void | setOverscan (uint32_t overscan) |
void | setRgbRange (Output::RgbRange range) |
void | setGammaRamp (const std::shared_ptr< ColorTransformation > &transformation) |
void | setCTM (const QMatrix3x3 &ctm) |
void | setContentType (DrmConnector::DrmContentType type) |
void | setColorDescription (const ColorDescription &description) |
void | setIccProfile (const std::shared_ptr< IccProfile > &profile) |
Static Public Member Functions | |
static Error | commitPipelines (const QList< DrmPipeline * > &pipelines, CommitMode mode, const QList< DrmObject * > &unusedObjects={}) |
Definition at line 51 of file drm_pipeline.h.
|
strong |
Enumerator | |
---|---|
Test | |
TestAllowModeset | |
CommitModeset |
Definition at line 137 of file drm_pipeline.h.
|
strong |
Enumerator | |
---|---|
None | |
OutofMemory | |
InvalidArguments | |
NoPermission | |
FramePending | |
TestBufferFailed | |
Unknown |
Definition at line 57 of file drm_pipeline.h.
|
strong |
Enumerator | |
---|---|
Normal | |
CursorOnly | |
Modeset |
Definition at line 86 of file drm_pipeline.h.
KWin::DrmPipeline::DrmPipeline | ( | DrmConnector * | conn | ) |
Definition at line 41 of file drm_pipeline.cpp.
KWin::DrmPipeline::~DrmPipeline | ( | ) |
Definition at line 52 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::active | ( | ) | const |
Definition at line 578 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::activePending | ( | ) | const |
Definition at line 519 of file drm_pipeline.cpp.
void KWin::DrmPipeline::applyPendingChanges | ( | ) |
Definition at line 427 of file drm_pipeline.cpp.
const ColorDescription & KWin::DrmPipeline::colorDescription | ( | ) | const |
Definition at line 623 of file drm_pipeline.cpp.
|
static |
Definition at line 115 of file drm_pipeline.cpp.
DrmConnector * KWin::DrmPipeline::connector | ( | ) | const |
Definition at line 436 of file drm_pipeline.cpp.
DrmConnector::DrmContentType KWin::DrmPipeline::contentType | ( | ) | const |
Definition at line 618 of file drm_pipeline.cpp.
DrmCrtc * KWin::DrmPipeline::crtc | ( | ) | const |
Definition at line 568 of file drm_pipeline.cpp.
QMap< uint32_t, QList< uint64_t > > KWin::DrmPipeline::cursorFormats | ( | ) | const |
Definition at line 476 of file drm_pipeline.cpp.
DrmPipelineLayer * KWin::DrmPipeline::cursorLayer | ( | ) | const |
Definition at line 593 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::enabled | ( | ) | const |
Definition at line 583 of file drm_pipeline.cpp.
void KWin::DrmPipeline::forceLegacyModeset | ( | ) |
Definition at line 42 of file drm_pipeline_legacy.cpp.
QMap< uint32_t, QList< uint64_t > > KWin::DrmPipeline::formats | ( | ) | const |
Definition at line 471 of file drm_pipeline.cpp.
DrmGpu * KWin::DrmPipeline::gpu | ( | ) | const |
Definition at line 441 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::hasCTM | ( | ) | const |
Definition at line 485 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::hasGammaRamp | ( | ) | const |
Definition at line 490 of file drm_pipeline.cpp.
const std::shared_ptr< IccProfile > & KWin::DrmPipeline::iccProfile | ( | ) | const |
Definition at line 628 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::maybeModeset | ( | ) |
Definition at line 109 of file drm_pipeline.cpp.
std::shared_ptr< DrmConnectorMode > KWin::DrmPipeline::mode | ( | ) | const |
Definition at line 573 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::modesetPresentPending | ( | ) | const |
Definition at line 534 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::needsModeset | ( | ) | const |
Definition at line 514 of file drm_pipeline.cpp.
DrmOutput * KWin::DrmPipeline::output | ( | ) | const |
Definition at line 466 of file drm_pipeline.cpp.
uint32_t KWin::DrmPipeline::overscan | ( | ) | const |
Definition at line 608 of file drm_pipeline.cpp.
void KWin::DrmPipeline::pageFlipped | ( | std::chrono::nanoseconds | timestamp, |
PageflipType | type, | ||
PresentationMode | mode ) |
Definition at line 446 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::pageflipsPending | ( | ) | const |
Definition at line 529 of file drm_pipeline.cpp.
DrmPipeline::Error KWin::DrmPipeline::present | ( | ) |
tests the pending commit first and commits it if the test passes if the test fails, there is a guarantee for no lasting changes
Definition at line 77 of file drm_pipeline.cpp.
std::chrono::nanoseconds KWin::DrmPipeline::presentationDeadline | ( | ) | const |
Definition at line 783 of file drm_pipeline.cpp.
PresentationMode KWin::DrmPipeline::presentationMode | ( | ) | const |
Definition at line 603 of file drm_pipeline.cpp.
DrmPipelineLayer * KWin::DrmPipeline::primaryLayer | ( | ) | const |
Definition at line 588 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::pruneModifier | ( | ) |
Definition at line 499 of file drm_pipeline.cpp.
DrmPlane::Transformations KWin::DrmPipeline::renderOrientation | ( | ) | const |
Definition at line 598 of file drm_pipeline.cpp.
void KWin::DrmPipeline::resetModesetPresentPending | ( | ) |
Definition at line 539 of file drm_pipeline.cpp.
void KWin::DrmPipeline::revertPendingChanges | ( | ) |
Definition at line 524 of file drm_pipeline.cpp.
Output::RgbRange KWin::DrmPipeline::rgbRange | ( | ) | const |
Definition at line 613 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setActive | ( | bool | active | ) |
Definition at line 651 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setColorDescription | ( | const ColorDescription & | description | ) |
Definition at line 722 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setContentType | ( | DrmConnector::DrmContentType | type | ) |
Definition at line 727 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setCrtc | ( | DrmCrtc * | crtc | ) |
Definition at line 633 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setCTM | ( | const QMatrix3x3 & | ctm | ) |
Definition at line 707 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setEnable | ( | bool | enable | ) |
Definition at line 656 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setGammaRamp | ( | const std::shared_ptr< ColorTransformation > & | transformation | ) |
Definition at line 687 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setIccProfile | ( | const std::shared_ptr< IccProfile > & | profile | ) |
Definition at line 732 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setLayers | ( | const std::shared_ptr< DrmPipelineLayer > & | primaryLayer, |
const std::shared_ptr< DrmPipelineLayer > & | cursorLayer ) |
Definition at line 661 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setMode | ( | const std::shared_ptr< DrmConnectorMode > & | mode | ) |
Definition at line 646 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setOutput | ( | DrmOutput * | output | ) |
Definition at line 461 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setOverscan | ( | uint32_t | overscan | ) |
Definition at line 677 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setPresentationMode | ( | PresentationMode | mode | ) |
Definition at line 672 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setRenderOrientation | ( | DrmPlane::Transformations | orientation | ) |
Definition at line 667 of file drm_pipeline.cpp.
void KWin::DrmPipeline::setRgbRange | ( | Output::RgbRange | range | ) |
Definition at line 682 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::testScanout | ( | ) |
Definition at line 59 of file drm_pipeline.cpp.
bool KWin::DrmPipeline::updateCursor | ( | ) |
Definition at line 400 of file drm_pipeline.cpp.