KWin
|
OpenGL Backend using Egl windowing system over an X overlay window. More...
#include <x11_windowed_egl_backend.h>
Public Member Functions | |
X11WindowedEglBackend (X11WindowedBackend *backend) | |
~X11WindowedEglBackend () override | |
X11WindowedBackend * | backend () const |
GraphicsBufferAllocator * | graphicsBufferAllocator () const override |
std::unique_ptr< SurfaceTexture > | createSurfaceTextureWayland (SurfacePixmap *pixmap) override |
std::pair< std::shared_ptr< GLTexture >, ColorDescription > | textureForOutput (Output *output) const override |
void | init () override |
void | endFrame (Output *output, const QRegion &renderedRegion, const QRegion &damagedRegion) |
void | present (Output *output, const std::shared_ptr< OutputFrame > &frame) override |
OutputLayer * | primaryLayer (Output *output) override |
OutputLayer * | cursorLayer (Output *output) override |
![]() | |
~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 |
virtual bool | prefer10bpc () 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) |
![]() | |
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) |
![]() | |
RenderBackend (QObject *parent=nullptr) | |
virtual OverlayWindow * | overlayWindow () const |
virtual std::unique_ptr< SurfaceTexture > | createSurfaceTextureX11 (SurfacePixmapX11 *pixmap) |
Protected Member Functions | |
void | cleanupSurfaces () override |
![]() | |
AbstractEglBackend (dev_t deviceId=0) | |
void | setSurface (const EGLSurface &surface) |
void | cleanup () |
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 () |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
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 windowing system over an X overlay window.
Definition at line 70 of file x11_windowed_egl_backend.h.
|
explicit |
Definition at line 179 of file x11_windowed_egl_backend.cpp.
|
override |
Definition at line 185 of file x11_windowed_egl_backend.cpp.
X11WindowedBackend * KWin::X11WindowedEglBackend::backend | ( | ) | const |
Definition at line 190 of file x11_windowed_egl_backend.cpp.
|
overrideprotectedvirtual |
Reimplemented from KWin::AbstractEglBackend.
Definition at line 258 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 279 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 274 of file x11_windowed_egl_backend.cpp.
void KWin::X11WindowedEglBackend::endFrame | ( | Output * | output, |
const QRegion & | renderedRegion, | ||
const QRegion & | damagedRegion ) |
|
overridevirtual |
Reimplemented from KWin::RenderBackend.
Definition at line 195 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Implements KWin::OpenGLBackend.
Definition at line 232 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Implements KWin::RenderBackend.
Definition at line 263 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Implements KWin::RenderBackend.
Definition at line 269 of file x11_windowed_egl_backend.cpp.
|
overridevirtual |
Reimplemented from KWin::OpenGLBackend.
Definition at line 284 of file x11_windowed_egl_backend.cpp.