[v1] software_isp: debayer_egl: Re-add log for failing DMABuf import
diff mbox series

Message ID 20260721130839.85262-1-robert.mader@collabora.com
State New
Headers show
Series
  • [v1] software_isp: debayer_egl: Re-add log for failing DMABuf import
Related show

Commit Message

Robert Mader July 21, 2026, 1:08 p.m. UTC
The log was introduced in commit
93f0db167a8d ("debayer_egl: Implement dmabuf import for input buffers")
and dropped in the commit mentioned below. Let's readd it as failing
imports majorly impact performance and indicate actionable issues in the
V4L2 or GPU drivers. Ensure the log is only printed once, now that we use
multiple eGLImages.

Fixes: 13f7b921acdf ("libcamera: software_isp: debayer_egl: Implement input/output frame caching mechanism")
Signed-off-by: Robert Mader <robert.mader@collabora.com>
---
 src/libcamera/software_isp/debayer_egl.cpp | 2 ++
 1 file changed, 2 insertions(+)

Comments

Robert Mader July 21, 2026, 3:46 p.m. UTC | #1
P.S.: this should also help with testing the CAMSS pipeline handler 
(https://patchwork.libcamera.org/cover/27426/), which *should* be able 
to accommodate requested strides - and thus always allow dmabuf import 
\o/ (I haven't tested that yet, will try ASAP).

On 21.07.26 15:08, Robert Mader wrote:
> The log was introduced in commit
> 93f0db167a8d ("debayer_egl: Implement dmabuf import for input buffers")
> and dropped in the commit mentioned below. Let's readd it as failing
> imports majorly impact performance and indicate actionable issues in the
> V4L2 or GPU drivers. Ensure the log is only printed once, now that we use
> multiple eGLImages.
>
> Fixes: 13f7b921acdf ("libcamera: software_isp: debayer_egl: Implement input/output frame caching mechanism")
> Signed-off-by: Robert Mader <robert.mader@collabora.com>
> ---
>   src/libcamera/software_isp/debayer_egl.cpp | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
> index 02651fe87922..8e0a9b79dfa4 100644
> --- a/src/libcamera/software_isp/debayer_egl.cpp
> +++ b/src/libcamera/software_isp/debayer_egl.cpp
> @@ -533,6 +533,8 @@ eGLImage *DebayerEGL::getCachedInputFrameBuffer(FrameBuffer *input, std::optiona
>   		if (egl_.createInputDMABufTexture2D(*eglImageIn, input->planes()[0].fd.get()) == 0)
>   			return eglImageIn;
>   
> +		if (eglImageInCache_.size() == 1)
> +			LOG(Debayer, Info) << "Importing input buffer with DMABuf import failed, falling back to upload";
>   	} else if (!eglImageIn->dmabuf_import_failed_) {
>   		egl_.activateBindTexture(*eglImageIn);
>   		return eglImageIn;
Milan Zamazal July 21, 2026, 3:59 p.m. UTC | #2
Robert Mader <robert.mader@collabora.com> writes:

> The log was introduced in commit
> 93f0db167a8d ("debayer_egl: Implement dmabuf import for input buffers")
> and dropped in the commit mentioned below. Let's readd it as failing
> imports majorly impact performance and indicate actionable issues in the
> V4L2 or GPU drivers. Ensure the log is only printed once, now that we use
> multiple eGLImages.
>
> Fixes: 13f7b921acdf ("libcamera: software_isp: debayer_egl: Implement input/output frame caching mechanism")
> Signed-off-by: Robert Mader <robert.mader@collabora.com>

Reviewed-by: Milan Zamazal <mzamazal@redhat.com>

> ---
>  src/libcamera/software_isp/debayer_egl.cpp | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
> index 02651fe87922..8e0a9b79dfa4 100644
> --- a/src/libcamera/software_isp/debayer_egl.cpp
> +++ b/src/libcamera/software_isp/debayer_egl.cpp
> @@ -533,6 +533,8 @@ eGLImage *DebayerEGL::getCachedInputFrameBuffer(FrameBuffer *input, std::optiona
>  		if (egl_.createInputDMABufTexture2D(*eglImageIn, input->planes()[0].fd.get()) == 0)
>  			return eglImageIn;
>  
> +		if (eglImageInCache_.size() == 1)
> +			LOG(Debayer, Info) << "Importing input buffer with DMABuf import failed, falling back to upload";
>  	} else if (!eglImageIn->dmabuf_import_failed_) {
>  		egl_.activateBindTexture(*eglImageIn);
>  		return eglImageIn;

Patch
diff mbox series

diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
index 02651fe87922..8e0a9b79dfa4 100644
--- a/src/libcamera/software_isp/debayer_egl.cpp
+++ b/src/libcamera/software_isp/debayer_egl.cpp
@@ -533,6 +533,8 @@  eGLImage *DebayerEGL::getCachedInputFrameBuffer(FrameBuffer *input, std::optiona
 		if (egl_.createInputDMABufTexture2D(*eglImageIn, input->planes()[0].fd.get()) == 0)
 			return eglImageIn;
 
+		if (eglImageInCache_.size() == 1)
+			LOG(Debayer, Info) << "Importing input buffer with DMABuf import failed, falling back to upload";
 	} else if (!eglImageIn->dmabuf_import_failed_) {
 		egl_.activateBindTexture(*eglImageIn);
 		return eglImageIn;