Changeset View
Changeset View
Standalone View
Standalone View
scene.h
Show All 19 Lines | |||||
20 | 20 | | |||
21 | #ifndef KWIN_SCENE_H | 21 | #ifndef KWIN_SCENE_H | ||
22 | #define KWIN_SCENE_H | 22 | #define KWIN_SCENE_H | ||
23 | 23 | | |||
24 | #include "toplevel.h" | 24 | #include "toplevel.h" | ||
25 | #include "utils.h" | 25 | #include "utils.h" | ||
26 | #include "kwineffects.h" | 26 | #include "kwineffects.h" | ||
27 | 27 | | |||
28 | #include <KWayland/Server/linuxdmabuf_v1_interface.h> | ||||
29 | | ||||
28 | #include <QElapsedTimer> | 30 | #include <QElapsedTimer> | ||
29 | #include <QMatrix4x4> | 31 | #include <QMatrix4x4> | ||
30 | 32 | | |||
31 | class QOpenGLFramebufferObject; | 33 | class QOpenGLFramebufferObject; | ||
32 | 34 | | |||
33 | namespace KWayland | 35 | namespace KWayland | ||
34 | { | 36 | { | ||
35 | namespace Server | 37 | namespace Server | ||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Line(s) | 65 | public: | |||
179 | * The backend specific extensions (e.g. EGL/GLX extensions). | 181 | * The backend specific extensions (e.g. EGL/GLX extensions). | ||
180 | * | 182 | * | ||
181 | * Not the OpenGL (ES) extension! | 183 | * Not the OpenGL (ES) extension! | ||
182 | * | 184 | * | ||
183 | * Default implementation returns empty list | 185 | * Default implementation returns empty list | ||
184 | **/ | 186 | **/ | ||
185 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | 187 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | ||
186 | 188 | | |||
189 | /** | ||||
190 | * Returns the DRM formats supported by the underlying graphics stack. | ||||
191 | * | ||||
192 | * The default implementation returns an empty vector. | ||||
193 | */ | ||||
194 | virtual QVector<uint32_t> supportedDrmFormats(); | ||||
195 | | ||||
196 | /** | ||||
197 | * Returns the DRM modifiers supported with the given format. | ||||
198 | * | ||||
199 | * The default implementation returns an empty vector. | ||||
200 | */ | ||||
201 | virtual QVector<uint64_t> supportedDrmModifiers(uint32_t format); | ||||
202 | | ||||
203 | /** | ||||
204 | * Imports a dmabuf-buffer into the graphics system used by the scene. | ||||
205 | * | ||||
206 | * The default implementation returns nullptr. | ||||
207 | */ | ||||
208 | virtual KWayland::Server::LinuxDmabuf::Buffer *importDmabufBuffer(const QVector<KWayland::Server::LinuxDmabuf::Plane> &planes, | ||||
209 | uint32_t format, | ||||
210 | const QSize &size, | ||||
211 | KWayland::Server::LinuxDmabuf::Flags flags = 0); | ||||
212 | | ||||
187 | Q_SIGNALS: | 213 | Q_SIGNALS: | ||
188 | void frameRendered(); | 214 | void frameRendered(); | ||
189 | void resetCompositing(); | 215 | void resetCompositing(); | ||
190 | 216 | | |||
191 | public Q_SLOTS: | 217 | public Q_SLOTS: | ||
192 | // a window has been destroyed | 218 | // a window has been destroyed | ||
193 | void windowDeleted(KWin::Deleted*); | 219 | void windowDeleted(KWin::Deleted*); | ||
194 | // shape/size of a window changed | 220 | // shape/size of a window changed | ||
▲ Show 20 Lines • Show All 488 Lines • Show Last 20 Lines |