File indexing completed on 2024-05-12 05:31:21

0001 /*
0002     SPDX-FileCopyrightText: 2023 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "core/graphicsbufferallocator.h"
0010 
0011 struct gbm_bo;
0012 struct gbm_device;
0013 
0014 namespace KWin
0015 {
0016 
0017 class KWIN_EXPORT GbmGraphicsBufferAllocator : public GraphicsBufferAllocator
0018 {
0019 public:
0020     explicit GbmGraphicsBufferAllocator(gbm_device *device);
0021     ~GbmGraphicsBufferAllocator() override;
0022 
0023     GraphicsBuffer *allocate(const GraphicsBufferOptions &options) override;
0024 
0025 private:
0026     gbm_device *m_gbmDevice;
0027 };
0028 
0029 } // namespace KWin