KWin
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
KWin::DrmAbstractOutput Class Referenceabstract

#include <drm_abstract_output.h>

Inheritance diagram for KWin::DrmAbstractOutput:
KWin::Output KWin::DrmOutput KWin::DrmVirtualOutput

Public Member Functions

 DrmAbstractOutput (DrmGpu *gpu)
 
RenderLooprenderLoop () const override
 
void frameFailed () const
 
void pageFlipped (std::chrono::nanoseconds timestamp, PresentationMode mode)
 
DrmGpugpu () const
 
virtual bool present (const std::shared_ptr< OutputFrame > &frame)=0
 
virtual DrmOutputLayerprimaryLayer () const =0
 
virtual DrmOutputLayercursorLayer () const =0
 
void updateEnabled (bool enabled)
 
- Public Member Functions inherited from KWin::Output
 Q_ENUM (AutoRotationPolicy)
 
 Output (QObject *parent=nullptr)
 
 ~Output () override
 
void ref ()
 
void unref ()
 
QRect mapFromGlobal (const QRect &rect) const
 
QRectF mapFromGlobal (const QRectF &rect) const
 
QRectF mapToGlobal (const QRectF &rect) const
 
Q_INVOKABLE QPointF mapToGlobal (const QPointF &pos) const
 
Q_INVOKABLE QPointF mapFromGlobal (const QPointF &pos) const
 
QString name () const
 
QUuid uuid () const
 
bool isEnabled () const
 
QRect geometry () const
 
QRectF geometryF () const
 
QRect rect () const
 
QRectF rectF () const
 
uint32_t refreshRate () const
 
bool isInternal () const
 
qreal scale () const
 
QSize physicalSize () const
 
QSize pixelSize () const
 
QSize modeSize () const
 
QString eisaId () const
 
QString manufacturer () const
 
QString model () const
 
QString serialNumber () const
 
void inhibitDirectScanout ()
 
void uninhibitDirectScanout ()
 
bool directScanoutInhibited () const
 
OutputTransform transform () const
 
OutputTransform manualTransform () const
 
QSize orientateSize (const QSize &size) const
 
void applyChanges (const OutputConfiguration &config)
 
SubPixel subPixel () const
 
QString description () const
 
Capabilities capabilities () const
 
const Edidedid () const
 
QList< std::shared_ptr< OutputMode > > modes () const
 
std::shared_ptr< OutputModecurrentMode () const
 
DpmsMode dpmsMode () const
 
virtual void setDpmsMode (DpmsMode mode)
 
uint32_t overscan () const
 
VrrPolicy vrrPolicy () const
 
RgbRange rgbRange () const
 
bool isPlaceholder () const
 
bool isNonDesktop () const
 
OutputTransform panelOrientation () const
 
bool wideColorGamut () const
 
bool highDynamicRange () const
 
uint32_t sdrBrightness () const
 
AutoRotationPolicy autoRotationPolicy () const
 
std::shared_ptr< IccProfileiccProfile () const
 
QString iccProfilePath () const
 
QByteArray mstPath () const
 
virtual bool setGammaRamp (const std::shared_ptr< ColorTransformation > &transformation)
 
virtual bool setChannelFactors (const QVector3D &rgb)
 
virtual bool updateCursorLayer ()
 
std::optional< double > maxPeakBrightness () const
 
std::optional< double > maxAverageBrightness () const
 
double minBrightness () const
 
std::optional< double > maxPeakBrightnessOverride () const
 
std::optional< double > maxAverageBrightnessOverride () const
 
std::optional< double > minBrightnessOverride () const
 
double sdrGamutWideness () const
 
const ColorDescriptioncolorDescription () const
 

Protected Attributes

std::unique_ptr< RenderLoopm_renderLoop
 
std::shared_ptr< OutputFramem_frame
 
DrmGpu *const m_gpu
 
- Protected Attributes inherited from KWin::Output
State m_state
 
Information m_information
 
QUuid m_uuid
 
int m_directScanoutCount = 0
 
int m_refCount = 1
 

Friends

class DrmGpu
 

Additional Inherited Members

- Public Types inherited from KWin::Output
enum class  DpmsMode { On , Standby , Suspend , Off }
 
enum class  Capability : uint {
  Dpms = 1 , Overscan = 1 << 1 , Vrr = 1 << 2 , RgbRange = 1 << 3 ,
  HighDynamicRange = 1 << 4 , WideColorGamut = 1 << 5 , AutoRotation = 1 << 6 , IccProfile = 1 << 7 ,
  Tearing = 1 << 8
}
 
enum class  SubPixel {
  Unknown , None , Horizontal_RGB , Horizontal_BGR ,
  Vertical_RGB , Vertical_BGR
}
 
enum class  RgbRange { Automatic = 0 , Full = 1 , Limited = 2 }
 
enum class  AutoRotationPolicy { Never = 0 , InTabletMode , Always }
 
- Signals inherited from KWin::Output
void geometryChanged ()
 
void enabledChanged ()
 
void scaleChanged ()
 
void aboutToTurnOff (std::chrono::milliseconds time)
 
void wakeUp ()
 
void aboutToChange (OutputChangeSet *changeSet)
 
void changed ()
 
void currentModeChanged ()
 
void modesChanged ()
 
void outputChange (const QRegion &damagedRegion)
 
void transformChanged ()
 
void dpmsModeChanged ()
 
void capabilitiesChanged ()
 
void overscanChanged ()
 
void vrrPolicyChanged ()
 
void rgbRangeChanged ()
 
void wideColorGamutChanged ()
 
void sdrBrightnessChanged ()
 
void highDynamicRangeChanged ()
 
void autoRotationPolicyChanged ()
 
void iccProfileChanged ()
 
void iccProfilePathChanged ()
 
void brightnessMetadataChanged ()
 
void sdrGamutWidenessChanged ()
 
void colorDescriptionChanged ()
 
- Static Public Member Functions inherited from KWin::Output
static std::chrono::milliseconds dimAnimationTime ()
 
- Protected Member Functions inherited from KWin::Output
void setInformation (const Information &information)
 
void setState (const State &state)
 
- Properties inherited from KWin::Output
QRect geometry
 
qreal devicePixelRatio
 
QString name
 
QString manufacturer
 
QString model
 
QString serialNumber
 

Detailed Description

Definition at line 21 of file drm_abstract_output.h.

Constructor & Destructor Documentation

◆ DrmAbstractOutput()

KWin::DrmAbstractOutput::DrmAbstractOutput ( DrmGpu * gpu)

Definition at line 18 of file drm_abstract_output.cpp.

Member Function Documentation

◆ cursorLayer()

virtual DrmOutputLayer * KWin::DrmAbstractOutput::cursorLayer ( ) const
pure virtual

◆ frameFailed()

void KWin::DrmAbstractOutput::frameFailed ( ) const

Definition at line 30 of file drm_abstract_output.cpp.

◆ gpu()

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

Definition at line 42 of file drm_abstract_output.cpp.

◆ pageFlipped()

void KWin::DrmAbstractOutput::pageFlipped ( std::chrono::nanoseconds timestamp,
PresentationMode mode )

Definition at line 35 of file drm_abstract_output.cpp.

◆ present()

virtual bool KWin::DrmAbstractOutput::present ( const std::shared_ptr< OutputFrame > & frame)
pure virtual

◆ primaryLayer()

virtual DrmOutputLayer * KWin::DrmAbstractOutput::primaryLayer ( ) const
pure virtual

◆ renderLoop()

RenderLoop * KWin::DrmAbstractOutput::renderLoop ( ) const
overridevirtual

Returns the RenderLoop for this output. If the platform does not support per screen rendering, all outputs will share the same render loop. FIXME: remove this and decouple RenderLoop from Output

Implements KWin::Output.

Definition at line 25 of file drm_abstract_output.cpp.

◆ updateEnabled()

void KWin::DrmAbstractOutput::updateEnabled ( bool enabled)

Definition at line 47 of file drm_abstract_output.cpp.

Friends And Related Symbol Documentation

◆ DrmGpu

friend class DrmGpu
friend

Definition at line 39 of file drm_abstract_output.h.

Member Data Documentation

◆ m_frame

std::shared_ptr<OutputFrame> KWin::DrmAbstractOutput::m_frame
protected

Definition at line 42 of file drm_abstract_output.h.

◆ m_gpu

DrmGpu* const KWin::DrmAbstractOutput::m_gpu
protected

Definition at line 43 of file drm_abstract_output.h.

◆ m_renderLoop

std::unique_ptr<RenderLoop> KWin::DrmAbstractOutput::m_renderLoop
protected

Definition at line 41 of file drm_abstract_output.h.


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