KWin
Loading...
Searching...
No Matches
drm_dmabuf_feedback.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2022 Xaver Hugl <xaver.hugl@gmail.com>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10
11#include <QList>
12#include <QMap>
13#include <QPointer>
14
15namespace KWin
16{
17
18class EglGbmBackend;
19class DrmGpu;
20class SurfaceInterface;
21
23{
24public:
25 DmabufFeedback(DrmGpu *gpu, EglGbmBackend *eglBackend);
26
27 void renderingSurface();
29 void scanoutFailed(SurfaceInterface *surface, const QMap<uint32_t, QList<uint64_t>> &formats);
30
31private:
32 QPointer<SurfaceInterface> m_surface;
33 QMap<uint32_t, QList<uint64_t>> m_attemptedFormats;
34 bool m_attemptedThisFrame = false;
35
36 DrmGpu *const m_gpu;
37 EglGbmBackend *const m_eglBackend;
38};
39
40}
void scanoutFailed(SurfaceInterface *surface, const QMap< uint32_t, QList< uint64_t > > &formats)
DmabufFeedback(DrmGpu *gpu, EglGbmBackend *eglBackend)
void scanoutSuccessful(SurfaceInterface *surface)
OpenGL Backend using Egl on a GBM surface.
Resource representing a wl_surface.
Definition surface.h:80