|
KWin
|
OpenGL Backend using Egl on a GBM surface. More...
#include <drm_egl_backend.h>
Public Member Functions | |
| EglGbmBackend (DrmBackend *drmBackend) | |
| ~EglGbmBackend () override | |
| std::unique_ptr< SurfaceTexture > | createSurfaceTextureWayland (SurfacePixmap *pixmap) override |
| GraphicsBufferAllocator * | graphicsBufferAllocator () const override |
| void | present (Output *output, const std::shared_ptr< OutputFrame > &frame) override |
| OutputLayer * | primaryLayer (Output *output) override |
| OutputLayer * | cursorLayer (Output *output) override |
| void | init () override |
| bool | prefer10bpc () const override |
| std::shared_ptr< DrmPipelineLayer > | createPrimaryLayer (DrmPipeline *pipeline) override |
| std::shared_ptr< DrmPipelineLayer > | createCursorLayer (DrmPipeline *pipeline) override |
| std::shared_ptr< DrmOutputLayer > | createLayer (DrmVirtualOutput *output) override |
| std::pair< std::shared_ptr< KWin::GLTexture >, ColorDescription > | textureForOutput (Output *requestedOutput) const override |
| DrmGpu * | gpu () const |
| EglDisplay * | displayForGpu (DrmGpu *gpu) |
| std::shared_ptr< EglContext > | contextForGpu (DrmGpu *gpu) |
Public Member Functions inherited from KWin::AbstractEglBackend | |
| ~AbstractEglBackend () override | |
| bool | makeCurrent () override |
| void | doneCurrent () override |
| EGLSurface | surface () const |
| EGLConfig | config () const |
| EglDisplay * | eglDisplayObject () const |
| EglContext * | contextObject () |
| bool | testImportBuffer (GraphicsBuffer *buffer) override |
| QHash< uint32_t, QList< uint64_t > > | supportedFormats () const override |
| QList< LinuxDmaBufV1Feedback::Tranche > | tranches () const |
| dev_t | deviceId () const |
| std::shared_ptr< GLTexture > | importDmaBufAsTexture (const DmaBufAttributes &attributes) const |
| EGLImageKHR | importDmaBufAsImage (const DmaBufAttributes &attributes) const |
| EGLImageKHR | importDmaBufAsImage (const DmaBufAttributes &attributes, int plane, int format, const QSize &size) const |
| EGLImageKHR | importBufferAsImage (GraphicsBuffer *buffer) |
| EGLImageKHR | importBufferAsImage (GraphicsBuffer *buffer, int plane, int format, const QSize &size) |
Public Member Functions inherited from KWin::OpenGLBackend | |
| OpenGLBackend () | |
| virtual | ~OpenGLBackend () |
| CompositingType | compositingType () const override final |
| bool | checkGraphicsReset () override final |
| bool | isFailed () const |
| Whether the creation of the Backend failed. | |
| bool | supportsBufferAge () const |
| bool | supportsNativeFence () const |
| QList< QByteArray > | extensions () const |
| bool | hasExtension (const QByteArray &extension) const |
| void | copyPixels (const QRegion ®ion, const QSize &screenSize) |
Public Member Functions inherited from KWin::RenderBackend | |
| RenderBackend (QObject *parent=nullptr) | |
| virtual OverlayWindow * | overlayWindow () const |
| virtual std::unique_ptr< SurfaceTexture > | createSurfaceTextureX11 (SurfacePixmapX11 *pixmap) |
Public Member Functions inherited from KWin::DrmRenderBackend | |
| virtual | ~DrmRenderBackend ()=default |
Friends | |
| class | EglGbmTexture |
Additional Inherited Members | |
Protected Member Functions inherited from KWin::AbstractEglBackend | |
| AbstractEglBackend (dev_t deviceId=0) | |
| void | setSurface (const EGLSurface &surface) |
| void | cleanup () |
| virtual void | cleanupSurfaces () |
| void | setEglDisplay (EglDisplay *display) |
| void | initKWinGL () |
| void | initClientExtensions () |
| void | initWayland () |
| bool | hasClientExtension (const QByteArray &ext) const |
| bool | isOpenGLES () const |
| bool | createContext (EGLConfig config) |
| bool | ensureGlobalShareContext (EGLConfig config) |
| void | destroyGlobalShareContext () |
| ::EGLContext | createContextInternal (::EGLContext sharedContext) |
| void | teardown () |
Protected Member Functions inherited from KWin::OpenGLBackend | |
| void | setFailed (const QString &reason) |
| Sets the backend initialization to failed. | |
| void | setSupportsBufferAge (bool value) |
| void | setSupportsNativeFence (bool value) |
| void | setExtensions (const QList< QByteArray > &extensions) |
Protected Attributes inherited from KWin::AbstractEglBackend | |
| EglDisplay * | m_display = nullptr |
| EGLSurface | m_surface = EGL_NO_SURFACE |
| std::shared_ptr< EglContext > | m_context |
| QList< QByteArray > | m_clientExtensions |
| const dev_t | m_deviceId |
| QList< LinuxDmaBufV1Feedback::Tranche > | m_tranches |
| QHash< std::pair< GraphicsBuffer *, int >, EGLImageKHR > | m_importedBuffers |
OpenGL Backend using Egl on a GBM surface.
Definition at line 38 of file drm_egl_backend.h.
| KWin::EglGbmBackend::EglGbmBackend | ( | DrmBackend * | drmBackend | ) |
Definition at line 29 of file drm_egl_backend.cpp.
|
override |
Definition at line 39 of file drm_egl_backend.cpp.
| std::shared_ptr< EglContext > KWin::EglGbmBackend::contextForGpu | ( | DrmGpu * | gpu | ) |
Definition at line 119 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::DrmRenderBackend.
Definition at line 187 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::DrmRenderBackend.
Definition at line 192 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::DrmRenderBackend.
Definition at line 182 of file drm_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 140 of file drm_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 160 of file drm_egl_backend.cpp.
| EglDisplay * KWin::EglGbmBackend::displayForGpu | ( | DrmGpu * | gpu | ) |
Definition at line 107 of file drm_egl_backend.cpp.
| DrmGpu * KWin::EglGbmBackend::gpu | ( | ) | const |
Definition at line 197 of file drm_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 145 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::OpenGLBackend.
Definition at line 87 of file drm_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::AbstractEglBackend.
Definition at line 175 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::RenderBackend.
Definition at line 150 of file drm_egl_backend.cpp.
|
overridevirtual |
Implements KWin::RenderBackend.
Definition at line 155 of file drm_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::OpenGLBackend.
Definition at line 165 of file drm_egl_backend.cpp.
|
friend |
Definition at line 74 of file drm_egl_backend.h.