deleted file mode 100644
@@ -1,55 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-/*
- * Copyright (C) 2024, Linaro Ltd.
- *
- * Authors:
- * Bryan O'Donoghue <bryan.odonoghue@linaro.org>
- *
- * Helper class for managing GBM interactions
- */
-
-#pragma once
-
-#include <gbm.h>
-
-#include <libcamera/base/log.h>
-#include <libcamera/base/unique_fd.h>
-
-#include <libcamera/formats.h>
-
-namespace libcamera {
-
-LOG_DECLARE_CATEGORY(GBM)
-
-class GBM
-{
-public:
- GBM();
- ~GBM();
-
- int createDevice();
-
- /**
- * \brief Retrieve the GBM device handle
- *
- * \return Pointer to the gbm_device structure, or nullptr if the device
- * has not been created
- */
- struct gbm_device *device() const { return gbmDevice_; }
-
- /**
- * \brief Retrieve the pixel format
- *
- * \return The PixelFormat used by this GBM instance (ARGB8888)
- */
- PixelFormat format() const { return format_; }
-
-private:
- LIBCAMERA_DISABLE_COPY_AND_MOVE(GBM)
-
- UniqueFD fd_;
- struct gbm_device *gbmDevice_ = nullptr;
- PixelFormat format_;
-};
-
-} /* namespace libcamera */
@@ -24,7 +24,6 @@ libcamera_internal_headers = files([
'formats.h',
'framebuffer.h',
'egl.h',
- 'gbm.h',
'global_configuration.h',
'ipa_data_serializer.h',
'ipa_manager.h',
deleted file mode 100644
@@ -1,107 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-/*
- * Copyright (C) 2024, Linaro Ltd.
- *
- * Authors:
- * Bryan O'Donoghue <bryan.odonoghue@linaro.org>
- *
- * Helper class for managing GBM interactions
- */
-
-#include "libcamera/internal/gbm.h"
-
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#include <linux/dma-buf.h>
-#include <linux/dma-heap.h>
-
-namespace libcamera {
-
-LOG_DEFINE_CATEGORY(GBM)
-
-/**
- * \class GBM
- * \brief Helper class for managing GBM interactions
- *
- * The GBM class provides a simplified interface for creating and managing
- * GBM devices. It handles the initialization and teardown of GBM devices
- * used for buffer allocation in graphics and camera pipelines.
- *
- * This class is responsible for opening a DRI render node, creating a GBM
- * device, and providing access to the device and its associated pixel format.
- */
-
-/**
- *\var GBM::fd_
- *\brief file descriptor to DRI device
- */
-
-/**
- *\var GBM::gbmDevice_
- *\brief Pointer to GBM device structure derived from fd_
- */
-
-/**
- *\var GBM::format_
- *\brief Pixel format the GBM surface was created in
- */
-
-/**
- *\brief GBM constructor.
- *
- * Creates a GBM instance with uninitialised state.
- */
-GBM::GBM()
-{
-}
-
-/**
- *\brief GBM destructor
- *
- * Cleans up the GBM device if it was successfully created, and closes
- * the associated file descriptor.
- */
-GBM::~GBM()
-{
- if (gbmDevice_)
- gbm_device_destroy(gbmDevice_);
-}
-
-/**
- * \brief Create and initialize a GBM device
- *
- * \todo Get dri device name from envOption setting
- *
- * Opens the DRI render node (/dev/dri/renderD128) and creates a GBM
- * device using the libgbm library. Sets the default pixel format to
- * ARGB8888.
- *
- * \return 0 on success, or a negative error code on failure
- */
-int GBM::createDevice()
-{
- const char dri_node[] = "/dev/dri/renderD128";
-
- int fd = open(dri_node, O_RDWR | O_CLOEXEC | O_NOCTTY);
- if (fd < 0) {
- LOG(GBM, Error) << "Open " << dri_node << " fail " << strerror(errno);
- return -errno;
- }
- fd_ = UniqueFD(fd);
-
- gbmDevice_ = gbm_create_device(fd_.get());
- if (!gbmDevice_) {
- LOG(GBM, Error) << "gbm_create_device fail" << strerror(errno);
- return -errno;
- }
-
- format_ = libcamera::formats::ARGB8888;
-
- return 0;
-}
-
-} /* namespace libcamera */
@@ -70,15 +70,6 @@ libcamera_deps = []
libatomic = cc.find_library('atomic', required : false)
libthreads = dependency('threads')
-libgbm = dependency('gbm', required : false)
-gbm_works = cc.check_header('gbm.h', required: false)
-
-if libgbm.found() and gbm_works
- libcamera_internal_sources += files([
- 'gbm.cpp',
- ])
-endif
-
mesa_works = cc.check_header('EGL/egl.h', required: false)
libegl = dependency('egl', required : false)
libglesv2 = dependency('glesv2', required : false)
@@ -91,7 +82,7 @@ if libglesv2.found()
config_h.set('HAVE_GLESV2', 1)
endif
-if mesa_works and gbm_works
+if mesa_works
libcamera_internal_sources += files([
'egl.cpp',
])
@@ -209,7 +200,6 @@ libcamera_deps += [
libcrypto,
libdl,
libegl,
- libgbm,
libglesv2,
liblttng,
libudev,
GBM is not used any more - remove the helper class. This reverts commit c60b1ce8193841c2742b655097bb39ccbcb417c2. Signed-off-by: Robert Mader <robert.mader@collabora.com> --- include/libcamera/internal/gbm.h | 55 ------------- include/libcamera/internal/meson.build | 1 - src/libcamera/gbm.cpp | 107 ------------------------- src/libcamera/meson.build | 12 +-- 4 files changed, 1 insertion(+), 174 deletions(-) delete mode 100644 include/libcamera/internal/gbm.h delete mode 100644 src/libcamera/gbm.cpp