[{"id":39617,"web_url":"https://patchwork.libcamera.org/comment/39617/","msgid":"<2ab54991-c6be-4a91-a34b-ddea90ac86e5@collabora.com>","date":"2026-07-07T07:37:41","subject":"Re: [PATCH v6 3/6] libcamera: egl: Add createOutputTexture2D","submitter":{"id":140,"url":"https://patchwork.libcamera.org/api/people/140/","name":"Robert Mader","email":"robert.mader@collabora.com"},"content":"On 07.07.26 00:22, Bryan O'Donoghue wrote:\n> Creates a non-dmabuf texture attached to a frame-buffer-object FBO, which\n> allows for render-to-texture.\n>\n> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\nReviewed-by: Robert Mader <robert.mader@collabora.com>\n> ---\n>   include/libcamera/internal/egl.h |  1 +\n>   src/libcamera/egl.cpp            | 13 +++++++++++++\n>   2 files changed, 14 insertions(+)\n>\n> diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h\n> index 085a371f3..1955d09c5 100644\n> --- a/include/libcamera/internal/egl.h\n> +++ b/include/libcamera/internal/egl.h\n> @@ -108,6 +108,7 @@ public:\n>   \tint createInputDMABufTexture2D(eGLImage &eglImage, int fd);\n>   \tint createOutputDMABufTexture2D(eGLImage &eglImage, int fd);\n>   \tvoid createTexture2D(eGLImage &eglImage, void *data);\n> +\tvoid createOutputTexture2D(eGLImage &eglImage);\n>   \n>   \tint attachTextureToFBO(eGLImage &eglImage);\n>   \n> diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp\n> index ed67aca7b..c1b5514b6 100644\n> --- a/src/libcamera/egl.cpp\n> +++ b/src/libcamera/egl.cpp\n> @@ -329,6 +329,19 @@ bool eGL::isAvailable()\n>   \treturn true;\n>   }\n>   \n> +/**\n> + * \\brief Create a 2D texture attached to an FBO for render-to-texture\n> + * \\param[in,out] eglImage EGL image to associate with the texture\n> + *\n> + * Creates a 2D texture in VRAM. Subsequetly attach the texture to the\n> + * texture unit specified in the eGLImage object.\n> + */\n> +void eGL::createOutputTexture2D(eGLImage &eglImage)\n> +{\n> +\tcreateTexture2D(eglImage, NULL);\n> +\tattachTextureToFBO(eglImage);\n> +}\n> +\n>   /**\n>    * \\brief Initialise the EGL context\n>    *","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 E46DDC3306\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  7 Jul 2026 07:37:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9222266060;\n\tTue,  7 Jul 2026 09:37:49 +0200 (CEST)","from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com\n\t[136.143.188.12])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 85AAA66053\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  7 Jul 2026 09:37:48 +0200 (CEST)","by mx.zohomail.com with SMTPS id 1783409863017437.4518292819939;\n\tTue, 7 Jul 2026 00:37:43 -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=\"bbvh2IAB\"; \n\tdkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1783409864; cv=none; \n\td=zohomail.com; s=zohoarc; \n\tb=UJL91NioP6SgBlGXmrWo8ERRS99+bs+dJspGn8bEZTflg9/86vQkncOA37YNiGrGkPAxx0agw6HDAG3IqcGk+tzQgX5AoL6lf007s9RS/M8gRSk7C4LqLC6Ia3BatLY6NYD/rzA5q3KnPBjZtwxTVWEcZdRIM4eKDJjcFg0HkEg=","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; \n\ts=zohoarc; t=1783409864;\n\th=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc;\n\tbh=f0ghSbN5CG9wqFViv5+mAd6Yn02bubj0dw2D5ty1GiU=; \n\tb=lz6ozjP2cUe3qGsFHl548mzXMXsqZnHRtJfZN+JqhRs22REQivvnXxk4U49G7lBrmPyTkm886TAxVzS3jLY8Ft6paE7dOS9UqSSwDVzF60RRfu1EI+OlxBRifz3JCrjoIxjZrdN5NcpEbItEZNY8rv+4SixWveTr9ssB8aHPYvc=","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=1783409864;\n\ts=zohomail; d=collabora.com; i=robert.mader@collabora.com;\n\th=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To:Cc;\n\tbh=f0ghSbN5CG9wqFViv5+mAd6Yn02bubj0dw2D5ty1GiU=;\n\tb=bbvh2IABsAEq+S8M2rDW8c8amBgRewg2iHWIz7LOy3833wmB8C0ucMMn9rAgDHqT\n\to+ZtltD1ks4YCPgCArJcmqkgSkJp/h50VQN03L8txqqKzVAaPVI5dMGQHaOnnQePvGH\n\tfWWLMIFJFOfPItYAG5vlwkErrpFrI9wEtw56OhIA=","Message-ID":"<2ab54991-c6be-4a91-a34b-ddea90ac86e5@collabora.com>","Date":"Tue, 7 Jul 2026 09:37:41 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v6 3/6] libcamera: egl: Add createOutputTexture2D","To":"libcamera-devel@lists.libcamera.org","References":"<20260706222245.247396-1-bryan.odonoghue@linaro.org>\n\t<20260706222245.247396-4-bryan.odonoghue@linaro.org>","Content-Language":"en-US, de-DE","From":"Robert Mader <robert.mader@collabora.com>","In-Reply-To":"<20260706222245.247396-4-bryan.odonoghue@linaro.org>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}},{"id":39720,"web_url":"https://patchwork.libcamera.org/comment/39720/","msgid":"<f1608945-1e48-4070-a80e-6cc9bcbf0646@ideasonboard.com>","date":"2026-07-15T09:38:44","subject":"Re: [PATCH v6 3/6] libcamera: egl: Add createOutputTexture2D","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 07. 07. 0:22 keltezéssel, Bryan O'Donoghue írta:\n> Creates a non-dmabuf texture attached to a frame-buffer-object FBO, which\n> allows for render-to-texture.\n> \n> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>   include/libcamera/internal/egl.h |  1 +\n>   src/libcamera/egl.cpp            | 13 +++++++++++++\n>   2 files changed, 14 insertions(+)\n> \n> diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h\n> index 085a371f3..1955d09c5 100644\n> --- a/include/libcamera/internal/egl.h\n> +++ b/include/libcamera/internal/egl.h\n> @@ -108,6 +108,7 @@ public:\n>   \tint createInputDMABufTexture2D(eGLImage &eglImage, int fd);\n>   \tint createOutputDMABufTexture2D(eGLImage &eglImage, int fd);\n>   \tvoid createTexture2D(eGLImage &eglImage, void *data);\n> +\tvoid createOutputTexture2D(eGLImage &eglImage);\n>   \n>   \tint attachTextureToFBO(eGLImage &eglImage);\n>   \n> diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp\n> index ed67aca7b..c1b5514b6 100644\n> --- a/src/libcamera/egl.cpp\n> +++ b/src/libcamera/egl.cpp\n> @@ -329,6 +329,19 @@ bool eGL::isAvailable()\n>   \treturn true;\n>   }\n>   \n> +/**\n> + * \\brief Create a 2D texture attached to an FBO for render-to-texture\n> + * \\param[in,out] eglImage EGL image to associate with the texture\n> + *\n> + * Creates a 2D texture in VRAM. Subsequetly attach the texture to the\n> + * texture unit specified in the eGLImage object.\n> + */\n> +void eGL::createOutputTexture2D(eGLImage &eglImage)\n> +{\n> +\tcreateTexture2D(eglImage, NULL);\n\nnullptr\n\n\n> +\tattachTextureToFBO(eglImage);\n> +}\n> +\n>   /**\n>    * \\brief Initialise the EGL context\n>    *","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 C7E38C3301\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 15 Jul 2026 09:38:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CE50A67E12;\n\tWed, 15 Jul 2026 11:38:50 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E181E6614E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 15 Jul 2026 11:38:48 +0200 (CEST)","from [192.168.33.27] (185.221.140.128.nat.pool.zt.hu\n\t[185.221.140.128])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E55481C5F;\n\tWed, 15 Jul 2026 11:37:53 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"P6ncG9Hw\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1784108274;\n\tbh=X11BJF4v7LSZVmO7AopFLUcZSAKphcAZz+qLNRQ1REY=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=P6ncG9HwPJw9hpI9CoRSm9yxpL4R9CvB6xQbAX0MXc0YNp3tKlrNlp/OceQmW7WF5\n\tHaj1/DU7ye08Zlu71wbi2+nvasGrobUwA3iVto+Qmoy8DDSqzAk2T2EvpLcsb1Fps7\n\tmXeDWpBE8kKcRNjYiIpQvT8uLdfpgn+SVcTdud0k=","Message-ID":"<f1608945-1e48-4070-a80e-6cc9bcbf0646@ideasonboard.com>","Date":"Wed, 15 Jul 2026 11:38:44 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v6 3/6] libcamera: egl: Add createOutputTexture2D","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>,\n\tlibcamera-devel@lists.libcamera.org","Cc":"pavel@ucw.cz, Milan Zamazal <mzamazal@redhat.com>","References":"<20260706222245.247396-1-bryan.odonoghue@linaro.org>\n\t<20260706222245.247396-4-bryan.odonoghue@linaro.org>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260706222245.247396-4-bryan.odonoghue@linaro.org>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}}]