Patch Detail
Show a patch.
GET /api/patches/26600/?format=api
{ "id": 26600, "url": "https://patchwork.libcamera.org/api/patches/26600/?format=api", "web_url": "https://patchwork.libcamera.org/patch/26600/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260503114002.139255-4-robert.mader@collabora.com>", "date": "2026-05-03T11:40:02", "name": "[3/3] debayer_egl: Sync output buffer after processing stats", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "6b0924b8200263a5b377aaba7445eca2693dd674", "submitter": { "id": 140, "url": "https://patchwork.libcamera.org/api/people/140/?format=api", "name": "Robert Mader", "email": "robert.mader@collabora.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/26600/mbox/", "series": [ { "id": 5898, "url": "https://patchwork.libcamera.org/api/series/5898/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5898", "date": "2026-05-03T11:39:59", "name": "software_isp: Implement DMABuf import for input buffers", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5898/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/26600/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/26600/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E1B6CC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 3 May 2026 11:40:50 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6AEB463025;\n\tSun, 3 May 2026 13:40:50 +0200 (CEST)", "from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com\n\t[136.143.188.112])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BE3A862FEC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 3 May 2026 13:40:46 +0200 (CEST)", "by mx.zohomail.com with SMTPS id 1777808441776849.7051095646871;\n\tSun, 3 May 2026 04:40:41 -0700 (PDT)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=collabora.com\n\theader.i=robert.mader@collabora.com header.b=\"KBYDheoR\"; \n\tdkim-atps=neutral", "ARC-Seal": "i=1; a=rsa-sha256; t=1777808442; cv=none; \n\td=zohomail.com; s=zohoarc; \n\tb=Li5DxQq3fHJKK3hjZJEF3VJ6SP57sTY1E27zC+v+AhJv+UaAViIcDeqIwyAK+QT70B8d82qpZn3YixlGdTJE1519ruvzr8wKixV9nigj6Uhf89nglucdJnNbqiiEjGv+ub6L7oIojFr8Fn/xNWXAJi8jigQz5770FreGj3ODvOE=", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; \n\ts=zohoarc; t=1777808442;\n\th=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;\n\tbh=8egq/eZy44hk8/zGT2/aH9nsxoFEncEoCQc2nE+jqp4=; \n\tb=frYn3bQIZFALtq3YA0WhmzgX+XSyKoUCU81vner5Noi6+avtfjWZK9Hxu81dH7EzNcjtjScywB8SNn5uvB83MzcJccO6dU1UIkKjaH/wnwqOzGLTDeTR92SEFj6JDPDkPGiqi0Po0RuXvfZYpBkXdQ+g+I2S6q+5uYSKwHijVq4=", "ARC-Authentication-Results": "i=1; mx.zohomail.com;\n\tdkim=pass header.i=collabora.com;\n\tspf=pass smtp.mailfrom=robert.mader@collabora.com;\n\tdmarc=pass header.from=<robert.mader@collabora.com>", "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1777808442;\n\ts=zohomail; d=collabora.com; i=robert.mader@collabora.com;\n\th=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Message-Id:Reply-To;\n\tbh=8egq/eZy44hk8/zGT2/aH9nsxoFEncEoCQc2nE+jqp4=;\n\tb=KBYDheoRw0y2xT857SvsOUhNv8tO05MK8TJlGy94Det9A2R+DtZayOl1/wCJtmFt\n\tbZRbUu94aDkeGekw3eTC2NYmHHCyUb7gUP5RZ0z0PjFDNZ94U1QVutYL9hkzAfauexX\n\tLnm0niIicyv8PWEbaYvTszSGFesczVJL7xBOOH6c=", "From": "Robert Mader <robert.mader@collabora.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Robert Mader <robert.mader@collabora.com>", "Subject": "[PATCH 3/3] debayer_egl: Sync output buffer after processing stats", "Date": "Sun, 3 May 2026 13:40:02 +0200", "Message-ID": "<20260503114002.139255-4-robert.mader@collabora.com>", "X-Mailer": "git-send-email 2.54.0", "In-Reply-To": "<20260503114002.139255-1-robert.mader@collabora.com>", "References": "<20260503114002.139255-1-robert.mader@collabora.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Instead of waiting for the GPU to finish the output buffer *before*\ncomputing stats, do so afterwards. This allows work to happen in\nparallel on the GPU and CPU, potentially improving throughput and\nreducing latency.\n\nThis, however, requires us to include stats computation into the\ndebayer benchmark data.\n\nSigned-off-by: Robert Mader <robert.mader@collabora.com>\n---\n src/libcamera/software_isp/debayer_egl.cpp | 7 +++----\n 1 file changed, 3 insertions(+), 4 deletions(-)", "diff": "diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\nindex 624469947..7dae52648 100644\n--- a/src/libcamera/software_isp/debayer_egl.cpp\n+++ b/src/libcamera/software_isp/debayer_egl.cpp\n@@ -525,8 +525,6 @@ int DebayerEGL::debayerGPU(FrameBuffer *input, FrameBuffer *output, std::vector<\n \tif (err != GL_NO_ERROR) {\n \t\tLOG(eGL, Error) << \"Drawing scene fail \" << err;\n \t\treturn -ENODEV;\n-\t} else {\n-\t\tegl_.syncOutput();\n \t}\n \n \treturn 0;\n@@ -549,8 +547,6 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output\n \t\tgoto error;\n \t}\n \n-\tbench_.finishFrame();\n-\n \tmetadata.planes()[0].bytesused = output->planes()[0].length;\n \n \t/* Calculate stats for the whole frame */\n@@ -559,6 +555,9 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output\n \tstats_->processFrame(frame, 0, input);\n \tdmaSyncers.clear();\n \n+\tegl_.syncOutput();\n+\tbench_.finishFrame();\n+\n \toutputBufferReady.emit(output);\n \tinputBufferReady.emit(input);\n \n", "prefixes": [ "3/3" ] }