22struct DmaBufAttributes;
24class DrmAbstractOutput;
49 void present(
Output *output,
const std::shared_ptr<OutputFrame> &frame)
override;
68 bool initRenderingContext();
72 std::map<EglDisplay *, std::weak_ptr<EglContext>> m_contexts;
OpenGL Backend using Egl on a GBM surface.
EglGbmBackend(DrmBackend *drmBackend)
std::shared_ptr< DrmOutputLayer > createLayer(DrmVirtualOutput *output) override
EglDisplay * displayForGpu(DrmGpu *gpu)
std::pair< std::shared_ptr< KWin::GLTexture >, ColorDescription > textureForOutput(Output *requestedOutput) const override
OutputLayer * primaryLayer(Output *output) override
std::unique_ptr< SurfaceTexture > createSurfaceTextureWayland(SurfacePixmap *pixmap) override
bool prefer10bpc() const override
std::shared_ptr< DrmPipelineLayer > createPrimaryLayer(DrmPipeline *pipeline) override
std::shared_ptr< EglContext > contextForGpu(DrmGpu *gpu)
OutputLayer * cursorLayer(Output *output) override
GraphicsBufferAllocator * graphicsBufferAllocator() const override
std::shared_ptr< DrmPipelineLayer > createCursorLayer(DrmPipeline *pipeline) override
friend class EglGbmTexture
void present(Output *output, const std::shared_ptr< OutputFrame > &frame) override
~EglGbmBackend() override