Revert "libcamera: software_isp: gbm: Add a GBM helper class for GPU surface access"

GBM is not used any more - remove the helper class.

This reverts commit c60b1ce819.

Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # sm8250/rb5, x1e/Dell Insprion14p
Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Robert Mader
2026-01-21 10:08:54 +01:00
committed by Kieran Bingham
parent a5e01866ae
commit 7350d6cc5d
4 changed files with 1 additions and 174 deletions
-107
View File
@@ -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 */
+1 -11
View File
@@ -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,