KWin
Loading...
Searching...
No Matches
drm_buffer.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: 2015 Martin Gräßlin <mgraesslin@kde.org>
6 SPDX-FileCopyrightText: 2022 Xaver Hugl <xaver.hugl@gmail.com>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10#pragma once
11
12#include "core/graphicsbuffer.h"
14
15#include <chrono>
16
17namespace KWin
18{
19
20class DrmGpu;
21class DrmFramebuffer;
22
24{
25public:
26 DrmFramebuffer(DrmGpu *gpu, uint32_t fbId, GraphicsBuffer *buffer, FileDescriptor &&readFence);
28
29 uint32_t framebufferId() const;
33 GraphicsBuffer *buffer() const;
34
35 void releaseBuffer();
36 bool isReadable();
37
38 const FileDescriptor &syncFd() const;
39 void setDeadline(std::chrono::steady_clock::time_point deadline);
40
41protected:
42 const uint32_t m_framebufferId;
43 DrmGpu *const m_gpu;
45 bool m_readable = false;
47};
48
49}
DrmFramebuffer(DrmGpu *gpu, uint32_t fbId, GraphicsBuffer *buffer, FileDescriptor &&readFence)
uint32_t framebufferId() const
const FileDescriptor & syncFd() const
void setDeadline(std::chrono::steady_clock::time_point deadline)
DrmGpu *const m_gpu
Definition drm_buffer.h:43
GraphicsBuffer * buffer() const
GraphicsBufferRef m_bufferRef
Definition drm_buffer.h:44
FileDescriptor m_syncFd
Definition drm_buffer.h:46
const uint32_t m_framebufferId
Definition drm_buffer.h:42