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 ()
 
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={})
 

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: