KWin
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
KWin::DrmPipeline Class Reference

#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 ()
 
DrmConnectorconnector () const
 
DrmGpugpu () 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)
 
DrmOutputoutput () const
 
void setLayers (const std::shared_ptr< DrmPipelineLayer > &primaryLayer, const std::shared_ptr< DrmPipelineLayer > &cursorLayer)
 
DrmPipelineLayerprimaryLayer () const
 
DrmPipelineLayercursorLayer () const
 
std::chrono::nanoseconds presentationDeadline () const
 
DrmCrtccrtc () const
 
std::shared_ptr< DrmConnectorModemode () 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 ColorDescriptioncolorDescription () 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={})
 

Detailed Description

Definition at line 51 of file drm_pipeline.h.

Member Enumeration Documentation

◆ CommitMode

enum class KWin::DrmPipeline::CommitMode
strong
Enumerator
Test 
TestAllowModeset 
CommitModeset 

Definition at line 137 of file drm_pipeline.h.

◆ Error

enum class KWin::DrmPipeline::Error
strong
Enumerator
None 
OutofMemory 
InvalidArguments 
NoPermission 
FramePending 
TestBufferFailed 
Unknown 

Definition at line 57 of file drm_pipeline.h.

◆ PageflipType

Enumerator
Normal 
CursorOnly 
Modeset 

Definition at line 86 of file drm_pipeline.h.

Constructor & Destructor Documentation

◆ DrmPipeline()

KWin::DrmPipeline::DrmPipeline ( DrmConnector * conn)

Definition at line 41 of file drm_pipeline.cpp.

◆ ~DrmPipeline()

KWin::DrmPipeline::~DrmPipeline ( )

Definition at line 52 of file drm_pipeline.cpp.

Member Function Documentation

◆ active()

bool KWin::DrmPipeline::active ( ) const

Definition at line 578 of file drm_pipeline.cpp.

◆ activePending()

bool KWin::DrmPipeline::activePending ( ) const

Definition at line 519 of file drm_pipeline.cpp.

◆ applyPendingChanges()

void KWin::DrmPipeline::applyPendingChanges ( )

Definition at line 427 of file drm_pipeline.cpp.

◆ colorDescription()

const ColorDescription & KWin::DrmPipeline::colorDescription ( ) const

Definition at line 623 of file drm_pipeline.cpp.

◆ commitPipelines()

DrmPipeline::Error KWin::DrmPipeline::commitPipelines ( const QList< DrmPipeline * > & pipelines,
CommitMode mode,
const QList< DrmObject * > & unusedObjects = {} )
static

Definition at line 115 of file drm_pipeline.cpp.

◆ connector()

DrmConnector * KWin::DrmPipeline::connector ( ) const

Definition at line 436 of file drm_pipeline.cpp.

◆ contentType()

DrmConnector::DrmContentType KWin::DrmPipeline::contentType ( ) const

Definition at line 618 of file drm_pipeline.cpp.

◆ crtc()

DrmCrtc * KWin::DrmPipeline::crtc ( ) const

Definition at line 568 of file drm_pipeline.cpp.

◆ cursorFormats()

QMap< uint32_t, QList< uint64_t > > KWin::DrmPipeline::cursorFormats ( ) const

Definition at line 476 of file drm_pipeline.cpp.

◆ cursorLayer()

DrmPipelineLayer * KWin::DrmPipeline::cursorLayer ( ) const

Definition at line 593 of file drm_pipeline.cpp.

◆ enabled()

bool KWin::DrmPipeline::enabled ( ) const

Definition at line 583 of file drm_pipeline.cpp.

◆ forceLegacyModeset()

void KWin::DrmPipeline::forceLegacyModeset ( )

Definition at line 42 of file drm_pipeline_legacy.cpp.

◆ formats()

QMap< uint32_t, QList< uint64_t > > KWin::DrmPipeline::formats ( ) const

Definition at line 471 of file drm_pipeline.cpp.

◆ gpu()

DrmGpu * KWin::DrmPipeline::gpu ( ) const

Definition at line 441 of file drm_pipeline.cpp.

◆ hasCTM()

bool KWin::DrmPipeline::hasCTM ( ) const

Definition at line 485 of file drm_pipeline.cpp.

◆ hasGammaRamp()

bool KWin::DrmPipeline::hasGammaRamp ( ) const

Definition at line 490 of file drm_pipeline.cpp.

◆ iccProfile()

const std::shared_ptr< IccProfile > & KWin::DrmPipeline::iccProfile ( ) const

Definition at line 628 of file drm_pipeline.cpp.

◆ maybeModeset()

bool KWin::DrmPipeline::maybeModeset ( )

Definition at line 109 of file drm_pipeline.cpp.

◆ mode()

std::shared_ptr< DrmConnectorMode > KWin::DrmPipeline::mode ( ) const

Definition at line 573 of file drm_pipeline.cpp.

◆ modesetPresentPending()

bool KWin::DrmPipeline::modesetPresentPending ( ) const

Definition at line 534 of file drm_pipeline.cpp.

◆ needsModeset()

bool KWin::DrmPipeline::needsModeset ( ) const

Definition at line 514 of file drm_pipeline.cpp.

◆ output()

DrmOutput * KWin::DrmPipeline::output ( ) const

Definition at line 466 of file drm_pipeline.cpp.

◆ overscan()

uint32_t KWin::DrmPipeline::overscan ( ) const

Definition at line 608 of file drm_pipeline.cpp.

◆ pageFlipped()

void KWin::DrmPipeline::pageFlipped ( std::chrono::nanoseconds timestamp,
PageflipType type,
PresentationMode mode )

Definition at line 446 of file drm_pipeline.cpp.

◆ pageflipsPending()

bool KWin::DrmPipeline::pageflipsPending ( ) const

Definition at line 529 of file drm_pipeline.cpp.

◆ present()

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.

◆ presentationDeadline()

std::chrono::nanoseconds KWin::DrmPipeline::presentationDeadline ( ) const

Definition at line 783 of file drm_pipeline.cpp.

◆ presentationMode()

PresentationMode KWin::DrmPipeline::presentationMode ( ) const

Definition at line 603 of file drm_pipeline.cpp.

◆ primaryLayer()

DrmPipelineLayer * KWin::DrmPipeline::primaryLayer ( ) const

Definition at line 588 of file drm_pipeline.cpp.

◆ pruneModifier()

bool KWin::DrmPipeline::pruneModifier ( )

Definition at line 499 of file drm_pipeline.cpp.

◆ renderOrientation()

DrmPlane::Transformations KWin::DrmPipeline::renderOrientation ( ) const

Definition at line 598 of file drm_pipeline.cpp.

◆ resetModesetPresentPending()

void KWin::DrmPipeline::resetModesetPresentPending ( )

Definition at line 539 of file drm_pipeline.cpp.

◆ revertPendingChanges()

void KWin::DrmPipeline::revertPendingChanges ( )

Definition at line 524 of file drm_pipeline.cpp.

◆ rgbRange()

Output::RgbRange KWin::DrmPipeline::rgbRange ( ) const

Definition at line 613 of file drm_pipeline.cpp.

◆ setActive()

void KWin::DrmPipeline::setActive ( bool active)

Definition at line 651 of file drm_pipeline.cpp.

◆ setColorDescription()

void KWin::DrmPipeline::setColorDescription ( const ColorDescription & description)

Definition at line 722 of file drm_pipeline.cpp.

◆ setContentType()

void KWin::DrmPipeline::setContentType ( DrmConnector::DrmContentType type)

Definition at line 727 of file drm_pipeline.cpp.

◆ setCrtc()

void KWin::DrmPipeline::setCrtc ( DrmCrtc * crtc)

Definition at line 633 of file drm_pipeline.cpp.

◆ setCTM()

void KWin::DrmPipeline::setCTM ( const QMatrix3x3 & ctm)

Definition at line 707 of file drm_pipeline.cpp.

◆ setEnable()

void KWin::DrmPipeline::setEnable ( bool enable)

Definition at line 656 of file drm_pipeline.cpp.

◆ setGammaRamp()

void KWin::DrmPipeline::setGammaRamp ( const std::shared_ptr< ColorTransformation > & transformation)

Definition at line 687 of file drm_pipeline.cpp.

◆ setIccProfile()

void KWin::DrmPipeline::setIccProfile ( const std::shared_ptr< IccProfile > & profile)

Definition at line 732 of file drm_pipeline.cpp.

◆ setLayers()

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.

◆ setMode()

void KWin::DrmPipeline::setMode ( const std::shared_ptr< DrmConnectorMode > & mode)

Definition at line 646 of file drm_pipeline.cpp.

◆ setOutput()

void KWin::DrmPipeline::setOutput ( DrmOutput * output)

Definition at line 461 of file drm_pipeline.cpp.

◆ setOverscan()

void KWin::DrmPipeline::setOverscan ( uint32_t overscan)

Definition at line 677 of file drm_pipeline.cpp.

◆ setPresentationMode()

void KWin::DrmPipeline::setPresentationMode ( PresentationMode mode)

Definition at line 672 of file drm_pipeline.cpp.

◆ setRenderOrientation()

void KWin::DrmPipeline::setRenderOrientation ( DrmPlane::Transformations orientation)

Definition at line 667 of file drm_pipeline.cpp.

◆ setRgbRange()

void KWin::DrmPipeline::setRgbRange ( Output::RgbRange range)

Definition at line 682 of file drm_pipeline.cpp.

◆ testScanout()

bool KWin::DrmPipeline::testScanout ( )

Definition at line 59 of file drm_pipeline.cpp.

◆ updateCursor()

bool KWin::DrmPipeline::updateCursor ( )

Definition at line 400 of file drm_pipeline.cpp.


The documentation for this class was generated from the following files: