File indexing completed on 2024-06-23 05:25:10

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2023 Xaver Hugl <xaver.hugl@gmail.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 #pragma once
0010 #include <memory>
0011 #include <stdint.h>
0012 
0013 namespace KWin
0014 {
0015 
0016 class DrmGpu;
0017 
0018 class DrmBlob
0019 {
0020 public:
0021     DrmBlob(DrmGpu *gpu, uint32_t blobId);
0022     ~DrmBlob();
0023 
0024     uint32_t blobId() const;
0025 
0026     static std::shared_ptr<DrmBlob> create(DrmGpu *gpu, const void *data, uint32_t dataSize);
0027 
0028 protected:
0029     DrmGpu *const m_gpu;
0030     const uint32_t m_blobId;
0031 };
0032 
0033 }