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

#include <drm_egl_layer.h>

Inheritance diagram for KWin::EglGbmLayer:
KWin::DrmPipelineLayer KWin::DrmOutputLayer KWin::OutputLayer

Public Member Functions

 EglGbmLayer (EglGbmBackend *eglBackend, DrmPipeline *pipeline)
 
std::optional< OutputLayerBeginFrameInfobeginFrame () override
 
bool endFrame (const QRegion &renderedRegion, const QRegion &damagedRegion) override
 
bool scanout (SurfaceItem *surfaceItem) override
 
bool checkTestBuffer () override
 
std::shared_ptr< DrmFramebuffercurrentBuffer () const override
 
bool hasDirectScanoutBuffer () const override
 
QRegion currentDamage () const override
 
std::shared_ptr< GLTexturetexture () const override
 
ColorDescription colorDescription () const
 
void releaseBuffers () override
 
std::chrono::nanoseconds queryRenderTime () const override
 
- Public Member Functions inherited from KWin::DrmPipelineLayer
 DrmPipelineLayer (DrmPipeline *pipeline)
 
- Public Member Functions inherited from KWin::DrmOutputLayer
virtual ~DrmOutputLayer ()
 
- Public Member Functions inherited from KWin::OutputLayer
 OutputLayer (QObject *parent=nullptr)
 
qreal scale () const
 
void setScale (qreal scale)
 
QPointF hotspot () const
 
void setHotspot (const QPointF &hotspot)
 
QSizeF size () const
 
void setSize (const QSizeF &size)
 
virtual std::optional< QSize > fixedSize () const
 
QRegion repaints () const
 
void resetRepaints ()
 
void addRepaint (const QRegion &region)
 
bool needsRepaint () const
 
void setPosition (const QPointF &position)
 
QPointF position () const
 
void setEnabled (bool enable)
 
bool isEnabled () const
 

Additional Inherited Members

- Protected Attributes inherited from KWin::DrmPipelineLayer
DrmPipeline *const m_pipeline
 

Detailed Description

Definition at line 26 of file drm_egl_layer.h.

Constructor & Destructor Documentation

◆ EglGbmLayer()

KWin::EglGbmLayer::EglGbmLayer ( EglGbmBackend * eglBackend,
DrmPipeline * pipeline )

Definition at line 50 of file drm_egl_layer.cpp.

Member Function Documentation

◆ beginFrame()

std::optional< OutputLayerBeginFrameInfo > KWin::EglGbmLayer::beginFrame ( )
overridevirtual

Implements KWin::OutputLayer.

Definition at line 57 of file drm_egl_layer.cpp.

◆ checkTestBuffer()

bool KWin::EglGbmLayer::checkTestBuffer ( )
overridevirtual

Implements KWin::DrmPipelineLayer.

Definition at line 79 of file drm_egl_layer.cpp.

◆ colorDescription()

ColorDescription KWin::EglGbmLayer::colorDescription ( ) const

Definition at line 95 of file drm_egl_layer.cpp.

◆ currentBuffer()

std::shared_ptr< DrmFramebuffer > KWin::EglGbmLayer::currentBuffer ( ) const
overridevirtual

Implements KWin::DrmPipelineLayer.

Definition at line 158 of file drm_egl_layer.cpp.

◆ currentDamage()

QRegion KWin::EglGbmLayer::currentDamage ( ) const
overridevirtual

Reimplemented from KWin::DrmOutputLayer.

Definition at line 74 of file drm_egl_layer.cpp.

◆ endFrame()

bool KWin::EglGbmLayer::endFrame ( const QRegion & renderedRegion,
const QRegion & damagedRegion )
overridevirtual

Implements KWin::OutputLayer.

Definition at line 65 of file drm_egl_layer.cpp.

◆ hasDirectScanoutBuffer()

bool KWin::EglGbmLayer::hasDirectScanoutBuffer ( ) const
overridevirtual

Reimplemented from KWin::DrmPipelineLayer.

Definition at line 163 of file drm_egl_layer.cpp.

◆ queryRenderTime()

std::chrono::nanoseconds KWin::EglGbmLayer::queryRenderTime ( ) const
overridevirtual

queries the render time of the last frame. If rendering isn't complete yet, this may block until it is

Implements KWin::OutputLayer.

Definition at line 174 of file drm_egl_layer.cpp.

◆ releaseBuffers()

void KWin::EglGbmLayer::releaseBuffers ( )
overridevirtual

Implements KWin::DrmOutputLayer.

Definition at line 168 of file drm_egl_layer.cpp.

◆ scanout()

bool KWin::EglGbmLayer::scanout ( SurfaceItem * surfaceItem)
overridevirtual

Tries to import the newest buffer of the surface for direct scanout Returns true if scanout succeeds, false if rendering is necessary

Reimplemented from KWin::OutputLayer.

Definition at line 100 of file drm_egl_layer.cpp.

◆ texture()

std::shared_ptr< GLTexture > KWin::EglGbmLayer::texture ( ) const
overridevirtual

Reimplemented from KWin::DrmOutputLayer.

Definition at line 84 of file drm_egl_layer.cpp.


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