diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2018-09-11 13:19:20 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2018-09-21 07:00:54 +0000 |
commit | 6c0b10e53ba1ecba8b4da9eefb9bd6b1693cc72f (patch) | |
tree | 205cc8d20271743471a776cd1d8dbb1868395f49 /src/hardwareintegration/compositor/drm-egl-server | |
parent | 89c38de88d9eda9f4f02a8a54f2de33406221d15 (diff) | |
download | qtwayland-6c0b10e53ba1ecba8b4da9eefb9bd6b1693cc72f.tar.gz |
Add virtual QtWayland::ServerBuffer::bufferInUse()
This allows the compositor to reclaim unused graphics memory
when a buffer is no longer used by clients.
Change-Id: Ia0269608019c5120da8c091c81e165411b563554
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/hardwareintegration/compositor/drm-egl-server')
-rw-r--r-- | src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp | 5 | ||||
-rw-r--r-- | src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp index ef14aa2a..d2fc1aef 100644 --- a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp +++ b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp @@ -121,6 +121,11 @@ QOpenGLTexture *DrmEglServerBuffer::toOpenGlTexture() return m_texture; } +bool DrmEglServerBuffer::bufferInUse() +{ + return resourceMap().count() > 0; +} + DrmEglServerBufferIntegration::DrmEglServerBufferIntegration() { } diff --git a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h index 472f569b..ff329c1a 100644 --- a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h +++ b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h @@ -80,6 +80,7 @@ public: DrmEglServerBuffer(DrmEglServerBufferIntegration *integration, const QImage &qimage, QtWayland::ServerBuffer::Format format); struct ::wl_resource *resourceForClient(struct ::wl_client *) override; + bool bufferInUse() override; QOpenGLTexture *toOpenGlTexture() override; private: |