KWin
Loading...
Searching...
No Matches
drm_blob.cpp
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: 2023 Xaver Hugl <xaver.hugl@gmail.com>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#include "drm_blob.h"
10#include "drm_gpu.h"
11
12namespace KWin
13{
14
15DrmBlob::DrmBlob(DrmGpu *gpu, uint32_t blobId)
16 : m_gpu(gpu)
17 , m_blobId(blobId)
18{
19}
20
27
28uint32_t DrmBlob::blobId() const
29{
30 return m_blobId;
31}
32
33std::shared_ptr<DrmBlob> DrmBlob::create(DrmGpu *gpu, const void *data, uint32_t dataSize)
34{
35 uint32_t id = 0;
36 if (drmModeCreatePropertyBlob(gpu->fd(), data, dataSize, &id) == 0) {
37 return std::make_shared<DrmBlob>(gpu, id);
38 } else {
39 return nullptr;
40 }
41}
42}
static std::shared_ptr< DrmBlob > create(DrmGpu *gpu, const void *data, uint32_t dataSize)
Definition drm_blob.cpp:33
DrmBlob(DrmGpu *gpu, uint32_t blobId)
Definition drm_blob.cpp:15
uint32_t blobId() const
Definition drm_blob.cpp:28
const uint32_t m_blobId
Definition drm_blob.h:30
DrmGpu *const m_gpu
Definition drm_blob.h:29
int fd() const
Definition drm_gpu.cpp:648
int drmModeCreatePropertyBlob(int fd, const void *data, size_t size, uint32_t *id)
int drmModeDestroyPropertyBlob(int fd, uint32_t id)