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

#include <drm_plane.h>

Inheritance diagram for KWin::DrmPlane:
KWin::DrmObject

Public Types

enum class  TypeIndex : uint64_t { Overlay = 0 , Primary = 1 , Cursor = 2 }
 
enum class  Transformation : uint32_t {
  Rotate0 = 1 << 0 , Rotate90 = 1 << 1 , Rotate180 = 1 << 2 , Rotate270 = 1 << 3 ,
  ReflectX = 1 << 4 , ReflectY = 1 << 5
}
 
enum class  PixelBlendMode : uint64_t { None , PreMultiplied , Coverage }
 
enum class  ColorEncoding : uint64_t { BT601_YCbCr , BT709_YCbCr , BT2020_YCbCr }
 
enum class  ColorRange : uint64_t { Limited_YCbCr , Full_YCbCr }
 

Public Member Functions

 DrmPlane (DrmGpu *gpu, uint32_t planeId)
 
bool updateProperties () override
 
void disable (DrmAtomicCommit *commit) override
 
bool isCrtcSupported (int pipeIndex) const
 
QMap< uint32_t, QList< uint64_t > > formats () const
 
std::shared_ptr< DrmFramebuffercurrentBuffer () const
 
void setCurrentBuffer (const std::shared_ptr< DrmFramebuffer > &b)
 
void releaseCurrentBuffer ()
 
void set (DrmAtomicCommit *commit, const QPoint &srcPos, const QSize &srcSize, const QRect &dst)
 
- Public Member Functions inherited from KWin::DrmObject
virtual ~DrmObject ()=default
 
 DrmObject (const DrmObject &)=delete
 
bool init ()
 
uint32_t id () const
 
DrmGpugpu () const
 
uint32_t type () const
 
QString typeName () const
 

Static Public Member Functions

static int32_t transformationToDegrees (Transformations transformation)
 

Public Attributes

DrmEnumProperty< TypeIndextype
 
DrmProperty srcX
 
DrmProperty srcY
 
DrmProperty srcW
 
DrmProperty srcH
 
DrmProperty crtcX
 
DrmProperty crtcY
 
DrmProperty crtcW
 
DrmProperty crtcH
 
DrmProperty fbId
 
DrmProperty crtcId
 
DrmEnumProperty< Transformations > rotation
 
DrmProperty inFormats
 
DrmProperty alpha
 
DrmEnumProperty< PixelBlendModepixelBlendMode
 
DrmEnumProperty< ColorEncodingcolorEncoding
 
DrmEnumProperty< ColorRangecolorRange
 
DrmProperty vmHotspotX
 
DrmProperty vmHotspotY
 
DrmProperty inFenceFd
 

Additional Inherited Members

- Protected Member Functions inherited from KWin::DrmObject
 DrmObject (DrmGpu *gpu, uint32_t objectId, uint32_t objectType)
 
DrmPropertyList queryProperties () const
 

Detailed Description

Definition at line 26 of file drm_plane.h.

Member Enumeration Documentation

◆ ColorEncoding

enum class KWin::DrmPlane::ColorEncoding : uint64_t
strong
Enumerator
BT601_YCbCr 
BT709_YCbCr 
BT2020_YCbCr 

Definition at line 64 of file drm_plane.h.

◆ ColorRange

enum class KWin::DrmPlane::ColorRange : uint64_t
strong
Enumerator
Limited_YCbCr 
Full_YCbCr 

Definition at line 69 of file drm_plane.h.

◆ PixelBlendMode

enum class KWin::DrmPlane::PixelBlendMode : uint64_t
strong
Enumerator
None 
PreMultiplied 
Coverage 

Definition at line 59 of file drm_plane.h.

◆ Transformation

enum class KWin::DrmPlane::Transformation : uint32_t
strong
Enumerator
Rotate0 
Rotate90 
Rotate180 
Rotate270 
ReflectX 
ReflectY 

Definition at line 49 of file drm_plane.h.

◆ TypeIndex

enum class KWin::DrmPlane::TypeIndex : uint64_t
strong
Enumerator
Overlay 
Primary 
Cursor 

Definition at line 44 of file drm_plane.h.

Constructor & Destructor Documentation

◆ DrmPlane()

KWin::DrmPlane::DrmPlane ( DrmGpu * gpu,
uint32_t planeId )

Definition at line 25 of file drm_plane.cpp.

Member Function Documentation

◆ currentBuffer()

std::shared_ptr< DrmFramebuffer > KWin::DrmPlane::currentBuffer ( ) const

Definition at line 153 of file drm_plane.cpp.

◆ disable()

void KWin::DrmPlane::disable ( DrmAtomicCommit * commit)
overridevirtual

Set the properties in such a way that this resource won't be used anymore

Implements KWin::DrmObject.

Definition at line 163 of file drm_plane.cpp.

◆ formats()

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

Definition at line 148 of file drm_plane.cpp.

◆ isCrtcSupported()

bool KWin::DrmPlane::isCrtcSupported ( int pipeIndex) const

Definition at line 143 of file drm_plane.cpp.

◆ releaseCurrentBuffer()

void KWin::DrmPlane::releaseCurrentBuffer ( )

Definition at line 169 of file drm_plane.cpp.

◆ set()

void KWin::DrmPlane::set ( DrmAtomicCommit * commit,
const QPoint & srcPos,
const QSize & srcSize,
const QRect & dst )

Definition at line 129 of file drm_plane.cpp.

◆ setCurrentBuffer()

void KWin::DrmPlane::setCurrentBuffer ( const std::shared_ptr< DrmFramebuffer > & b)

Definition at line 158 of file drm_plane.cpp.

◆ transformationToDegrees()

int32_t KWin::DrmPlane::transformationToDegrees ( Transformations transformation)
static

Definition at line 176 of file drm_plane.cpp.

◆ updateProperties()

bool KWin::DrmPlane::updateProperties ( )
overridevirtual

Implements KWin::DrmObject.

Definition at line 72 of file drm_plane.cpp.

Member Data Documentation

◆ alpha

DrmProperty KWin::DrmPlane::alpha

Definition at line 87 of file drm_plane.h.

◆ colorEncoding

DrmEnumProperty<ColorEncoding> KWin::DrmPlane::colorEncoding

Definition at line 89 of file drm_plane.h.

◆ colorRange

DrmEnumProperty<ColorRange> KWin::DrmPlane::colorRange

Definition at line 90 of file drm_plane.h.

◆ crtcH

DrmProperty KWin::DrmPlane::crtcH

Definition at line 82 of file drm_plane.h.

◆ crtcId

DrmProperty KWin::DrmPlane::crtcId

Definition at line 84 of file drm_plane.h.

◆ crtcW

DrmProperty KWin::DrmPlane::crtcW

Definition at line 81 of file drm_plane.h.

◆ crtcX

DrmProperty KWin::DrmPlane::crtcX

Definition at line 79 of file drm_plane.h.

◆ crtcY

DrmProperty KWin::DrmPlane::crtcY

Definition at line 80 of file drm_plane.h.

◆ fbId

DrmProperty KWin::DrmPlane::fbId

Definition at line 83 of file drm_plane.h.

◆ inFenceFd

DrmProperty KWin::DrmPlane::inFenceFd

Definition at line 93 of file drm_plane.h.

◆ inFormats

DrmProperty KWin::DrmPlane::inFormats

Definition at line 86 of file drm_plane.h.

◆ pixelBlendMode

DrmEnumProperty<PixelBlendMode> KWin::DrmPlane::pixelBlendMode

Definition at line 88 of file drm_plane.h.

◆ rotation

DrmEnumProperty<Transformations> KWin::DrmPlane::rotation

Definition at line 85 of file drm_plane.h.

◆ srcH

DrmProperty KWin::DrmPlane::srcH

Definition at line 78 of file drm_plane.h.

◆ srcW

DrmProperty KWin::DrmPlane::srcW

Definition at line 77 of file drm_plane.h.

◆ srcX

DrmProperty KWin::DrmPlane::srcX

Definition at line 75 of file drm_plane.h.

◆ srcY

DrmProperty KWin::DrmPlane::srcY

Definition at line 76 of file drm_plane.h.

◆ type

DrmEnumProperty<TypeIndex> KWin::DrmPlane::type

Definition at line 74 of file drm_plane.h.

◆ vmHotspotX

DrmProperty KWin::DrmPlane::vmHotspotX

Definition at line 91 of file drm_plane.h.

◆ vmHotspotY

DrmProperty KWin::DrmPlane::vmHotspotY

Definition at line 92 of file drm_plane.h.


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