From patchwork Thu Jun 18 12:22:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 26952 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id ADC64C3318 for ; Thu, 18 Jun 2026 12:23:32 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D492162E9D; Thu, 18 Jun 2026 14:23:31 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="CyL8twYJ"; dkim-atps=neutral Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1275C62C72 for ; Thu, 18 Jun 2026 14:23:12 +0200 (CEST) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-490ae94a89eso6313725e9.1 for ; Thu, 18 Jun 2026 05:23:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781785391; x=1782390191; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qdWOEHoJeTzCOxcBywajFodiO258hC6oLj6gEahZr7s=; b=CyL8twYJUab2VJlaWrA+3Zx5CqKxDi53guCoQbEVNWTZ6bor2YumV4gxLekQMhZUfx XJSV3MJgKx6DqjlPTCF8sjbwkWi6ulz8nbg5T8dUYRPcLHMcj83UNcD8y9QzmbSj5UCS mpcSN8K30QePfI5DXB/Br5qJJ5P3y4eBBSoFBQF28nTtd6SOxuusXzIWAWUaauCBVkp8 sybdYNAlJLU/UsC/HmV7W27hIi7PdfjWjaznyWsvMbXeHPMKz4YACeAEpnhvDlrf2wNQ WFzfp2rK/KYgftqF/knd+nJylSztYvsdU+tH07uICWjz80m/REGlvXAnjI8TZA01Hro0 ZdjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781785391; x=1782390191; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qdWOEHoJeTzCOxcBywajFodiO258hC6oLj6gEahZr7s=; b=qbYxRO1mCOCeSdpTrVNLevd+1jaS+HJub4DELUzqc+OrvAm1OwTWDDATBWun3+69Vd udtq3fUxOyMq9gr/c625PXz/DYv3yz8FOgKfNEWTlqfG/QHmZDEm7XW5fI3XGs1DYKqb WugzUzz0S93yncFxE0R3QUD49UImCxtSWwRIZwiptP4CHKKDnJN/IWoBmmRSwkBzYs4o XfUqpyLgOi0/hSGU+wj2PRT4XB9SRBMPl74AnsQGl7/pTmSp/u9ensJzJVxQXQwnzG2+ WRSFXnZ0DatNRS07dPWLWHI2jf1NydOAY39wIlLFn5hxL+AVzHtepTOck3pqVZ6sOLXz PwnQ== X-Gm-Message-State: AOJu0YyOLk/NwrDCKJDPS7Rl08od3mDxh2/RiIGAs64nf8mRlzlrK9ar vr1tje1x6Lh5BPgOvO1K9K6RXx/iIMQZh0Iqs1mpRaiNsLIZXZNWtn56NhN1PCv6xlKH+bqWAEk 0Z8Ln3yA= X-Gm-Gg: AfdE7cklJWJoZGQK1B0EC3FPzhMcmCG4/4kfsiKHojA/eGUBcu+ZZcY9q1ytg9UurBL fRHhtBXueE6qVq60V7j09f30vOi4Bp6uIw7rJoT8jGIPhe2iXBBiDji6yTOa+mkEw7TYKF/bR8I ZJUFgFKpsdP9qV6OYosRy88tNI8RhUIdB6IClsKDBDj/XeAnKaPeoiyHK6IyYjCpmdIqmTG3b53 sj95vzAZ+bUvlSaY7PML8Pi5yxN2bLNk6+M/qV9Hu59zRSoIJr2Z0diDJr3J3GhEEnWO3UaU2Qx WfV9pUVxtobnN1FHR1zVFE3S59SW9+iGnuSWjTywvhr0SJcnne67qOJDJmHukQqCL4pVAekCalE 41zoFqkudwIdUHnAfoCQP5VrxWIlt2FHDx/DjxFVQ+VDo366hzAwa7+FMuHFoK8A6yA/F/zpOY8 juq0xp28rj4PHRWT/zeWZu+Cktq5zs X-Received: by 2002:a05:600c:a104:b0:490:e170:b7ee with SMTP id 5b1f17b1804b1-4923821be52mr38526925e9.17.1781785391513; Thu, 18 Jun 2026 05:23:11 -0700 (PDT) Received: from inspiron14p-linux ([109.76.144.236]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4922fa3a4easm275198015e9.3.2026.06.18.05.23.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 05:23:11 -0700 (PDT) From: Bryan O'Donoghue To: libcamera-devel@lists.libcamera.org Cc: bryan.odonoghue@linaro.org, pavel@ucw.cz Subject: [PATCH 18/30] libcamera: software_isp: egl: Use Texture Unit 3 for final output texture Date: Thu, 18 Jun 2026 13:22:31 +0100 Message-ID: <20260618122245.946138-19-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260618122245.946138-1-bryan.odonoghue@linaro.org> References: <20260618122245.946138-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" We will use ping/pong buffers as intermediary steps in the GPUISP pipeline. The last texture should logically be texture unit #3. TEXTURE0 = Input TEXTURE1 = Ping TEXTURE2 = Pong TEXTURE3 = Output We don't have ping/pong yet but in preparation make the small change to TEXTURE3 for the existing output framebuffer. Signed-off-by: Bryan O'Donoghue --- src/libcamera/software_isp/software_isp_pipeline_gpu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp index 8bafd70f8..458b65854 100644 --- a/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp +++ b/src/libcamera/software_isp/software_isp_pipeline_gpu.cpp @@ -336,7 +336,7 @@ int SoftwareIspPipelineGpu::start() eglImageBayerIn_ = std::make_unique(gpuIspShaderPassDemosiac_.glFormat_, inputConfig_.stride / gpuIspShaderPassDemosiac_.getBytesPerPixel(), height_, inputConfig_.stride, GL_TEXTURE0, 0); /* Texture we will render to */ - eglImageRGBAOut_ = std::make_unique(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE1, 1); + eglImageRGBAOut_ = std::make_unique(GL_RGBA, outputSize_.width, outputSize_.height, outputConfig_.stride, GL_TEXTURE3, 3); return 0; }