[{"id":39385,"web_url":"https://patchwork.libcamera.org/comment/39385/","msgid":"<9a700746-ddf0-4075-b96d-9d8552607315@collabora.com>","date":"2026-06-24T12:14:15","subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","submitter":{"id":140,"url":"https://patchwork.libcamera.org/api/people/140/","name":"Robert Mader","email":"robert.mader@collabora.com"},"content":"On 24.06.26 10:58, Bryan O'Donoghue wrote:\n> The internet box tells me that glTextSubImage2D lets us update a texture's\n> data only, instead of recreating the texture and uploading data.\n>\n> This is a smallish optimisation but we are hunting for every possible cycle\n> and watt so add the routine as precursor to using it in-place of\n> createTexture2D on every upload cycle.\n>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>   include/libcamera/internal/egl.h           |  1 +\n>   src/libcamera/egl.cpp                      | 34 ++++++++++++++++++++++\n>   src/libcamera/software_isp/debayer_egl.cpp |  2 +-\n>   3 files changed, 36 insertions(+), 1 deletion(-)\n>\n> diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h\n> index b992baf25..f1fa75d96 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 createInputTexture2D(eGLImage &eglImage, void *data);\n> +\tvoid updateInputTexture2D(eGLImage &eglImage, void *data);\n>   \tvoid createOutputTexture2D(eGLImage &eglImage);\n>   \n>   \tint attachTextureToFBO(eGLImage &eglImage);\n> diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp\n> index 123653b58..6134b05f9 100644\n> --- a/src/libcamera/egl.cpp\n> +++ b/src/libcamera/egl.cpp\n> @@ -345,6 +345,40 @@ bool eGL::isAvailable()\n>   \treturn true;\n>   }\n>   \n> +/**\n> + * \\brief Update a 2D texture already created\n> + * \\param[in,out] eglImage EGL image to associate with the texture\n> + * \\param[data] Data to update the texture with\n> + *\n> + * Updates a 2D texture in VRAM.\n> + */\n> +void eGL::updateInputTexture2D(eGLImage &eglImage, void *data)\n> +{\n> +\tGLenum format;\n> +\tGLenum type = GL_UNSIGNED_BYTE;\n> +\n> +\tASSERT(tid_ == Thread::currentId());\n> +\n> +\tglActiveTexture(eglImage.texture_unit_);\n> +\tglBindTexture(GL_TEXTURE_2D, eglImage.texture_);\nThis one looks like it should get replaced in the next commit but \ndoesn't. Might want to switch those commits around and use \nactivateBindTexture() here.\n> +\n> +\tswitch (eglImage.format_) {\n> +\tcase GL_R16F:\n> +\t\tformat = GL_RED;\n> +\t\ttype = GL_HALF_FLOAT;\nAs mentioned previously I'd kinda prefer to keep the float parts to the \nmult-pass series.\n> +\t\tbreak;\n> +\tcase GL_RG8:\n> +\t\tformat = GL_RG;\n> +\t\tbreak;\n> +\tcase GL_LUMINANCE:\n> +\t\tformat = GL_LUMINANCE;\n> +\t\tbreak;\n> +\t}\n> +\n> +\t// Update an already exsiting texture\n> +\tglTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, eglImage.width_, eglImage.height_, format, type, data);\nYep, that seems to match what Weston and Mutter do AFAICT.\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> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\n> index 0ec2a98cf..cdceacf96 100644\n> --- a/src/libcamera/software_isp/debayer_egl.cpp\n> +++ b/src/libcamera/software_isp/debayer_egl.cpp\n> @@ -536,7 +536,7 @@ int DebayerEGL::debayerGPU(FrameBuffer *input, FrameBuffer *output, const Debaye\n>   \t\t\tLOG(Debayer, Error) << \"mmap-ing buffer(s) failed\";\n>   \t\t\treturn -ENODEV;\n>   \t\t}\n> -\t\tegl_.createTexture2D(*eglImageBayerIn_, inMapped->value().planes()[0].data());\n> +\t\tegl_.createInputTexture2D(*eglImageBayerIn_, inMapped->value().planes()[0].data());\n\nThis looks like it went to the wrong commit.\n\nWith at least this one fixed:\n\nReviewed-by: Robert Mader <robert.mader@collabora.com>\n\n>   \t}\n>   \n>   \t/* Generate the output render framebuffer as render to texture */","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 C7A1EC3306\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 24 Jun 2026 12:14:24 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EE89D658AC;\n\tWed, 24 Jun 2026 14:14:23 +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 B20F365718\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 24 Jun 2026 14:14:21 +0200 (CEST)","by mx.zohomail.com with SMTPS id 1782303257826236.9638246387526;\n\tWed, 24 Jun 2026 05:14:17 -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=\"fJTjn26P\"; \n\tdkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1782303259; cv=none; \n\td=zohomail.com; s=zohoarc; \n\tb=bQnUtNw8GiqX+KZONJxNrRN+y2pcQUMn6RVqk+2J+utmrsoZO2svZFvJu2VyEDvzinvcC7yJZlRODOqIJPV6vjP249Oa/DlDp1TL8Ayw4YGK4eWYBTFIC1G8OeNEDtVl8s0gQkSbwh2439BREXh/u1j6PvvW5Xxf/aBlZCpBhnU=","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; \n\ts=zohoarc; t=1782303259;\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=FtrMHg7BuTeroit/rjMG3/Ngs0rOdNh9kUNhrHhlSg0=; \n\tb=PwiZuv22CzcUw38sH1gaOFZ2Zk/XlRdBnH//qthedb+iXTGYP95ECwyhwGSyos1/HcBqWYtL5c3SDCeiHdi2l28PGeqZ9wAHnn2p8j2thX8nBKGe/FdbBkrZwSUI2hf46AO7fuj9Kno6tlAC06aUuzWxmxKhVHbS+WrIyBNRv8s=","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=1782303259;\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=FtrMHg7BuTeroit/rjMG3/Ngs0rOdNh9kUNhrHhlSg0=;\n\tb=fJTjn26PLmXJRuJSV3J8dd6l5zIrqE1Xa2TSVgjK6rVkn/NuB5uGjWi6ieDmIDb5\n\t7sVWL+wJal6PKk2TLMAZwBt1nWNTtHTwniKT5jtTNxak6AWqytTje9GRD/9tL2R7w2B\n\tBoMDbiBxn+tJ6C13S3q1B/MsnpwoqirKrmiDHemw=","Message-ID":"<9a700746-ddf0-4075-b96d-9d8552607315@collabora.com>","Date":"Wed, 24 Jun 2026 14:14:15 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","To":"libcamera-devel@lists.libcamera.org","References":"<20260624085849.873784-1-bryan.odonoghue@linaro.org>\n\t<20260624085849.873784-7-bryan.odonoghue@linaro.org>","Content-Language":"en-US, de-DE, en-GB","From":"Robert Mader <robert.mader@collabora.com>","In-Reply-To":"<20260624085849.873784-7-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":39420,"web_url":"https://patchwork.libcamera.org/comment/39420/","msgid":"<1065553f-1842-489a-83fa-7ebe7fdf108e@nxsw.ie>","date":"2026-06-25T22:29:12","subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","submitter":{"id":226,"url":"https://patchwork.libcamera.org/api/people/226/","name":"Bryan O'Donoghue","email":"bod.linux@nxsw.ie"},"content":"On 24/06/2026 13:14, Robert Mader wrote:\n>> +void eGL::updateInputTexture2D(eGLImage &eglImage, void *data)\n>> +{\n>> +\tGLenum format;\n>> +\tGLenum type = GL_UNSIGNED_BYTE;\n>> +\n>> +\tASSERT(tid_ == Thread::currentId());\n>> +\n>> +\tglActiveTexture(eglImage.texture_unit_);\n>> +\tglBindTexture(GL_TEXTURE_2D, eglImage.texture_);\n> This one looks like it should get replaced in the next commit but\n> doesn't.\n\nYep. Lazy rebase.\n\n---\nbod","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 54217C3264\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jun 2026 22:29:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6F971658D1;\n\tFri, 26 Jun 2026 00:29:17 +0200 (CEST)","from tor.source.kernel.org (tor.source.kernel.org\n\t[IPv6:2600:3c04:e001:324:0:1991:8:25])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E7EDB623CB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2026 00:29:15 +0200 (CEST)","from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])\n\tby tor.source.kernel.org (Postfix) with ESMTP id B8B0460098\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jun 2026 22:29:14 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 34FF31F000E9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jun 2026 22:29:14 +0000 (UTC)"],"Message-ID":"<1065553f-1842-489a-83fa-7ebe7fdf108e@nxsw.ie>","Date":"Thu, 25 Jun 2026 23:29:12 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","To":"libcamera-devel@lists.libcamera.org","References":"<20260624085849.873784-1-bryan.odonoghue@linaro.org>\n\t<20260624085849.873784-7-bryan.odonoghue@linaro.org>\n\t<PJW-_k5_owQK9wLMAlH8I_vYPmAFbjx2hqdyyK5P5Jl6H1y4AzopZYeG2Mi0FBDQpgUpJT1ftX-jqUD5b2PBwQ==@protonmail.internalid>\n\t<9a700746-ddf0-4075-b96d-9d8552607315@collabora.com>","From":"Bryan O'Donoghue <bod.linux@nxsw.ie>","Content-Language":"en-US","In-Reply-To":"<9a700746-ddf0-4075-b96d-9d8552607315@collabora.com>","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":39447,"web_url":"https://patchwork.libcamera.org/comment/39447/","msgid":"<85ik75lftz.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2026-06-26T11:08:08","subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes:\n\n> The internet box tells me that glTextSubImage2D lets us update a texture's\n> data only, instead of recreating the texture and uploading data.\n>\n> This is a smallish optimisation but we are hunting for every possible cycle\n> and watt so add the routine as precursor to using it in-place of\n> createTexture2D on every upload cycle.\n>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>  include/libcamera/internal/egl.h           |  1 +\n>  src/libcamera/egl.cpp                      | 34 ++++++++++++++++++++++\n>  src/libcamera/software_isp/debayer_egl.cpp |  2 +-\n>  3 files changed, 36 insertions(+), 1 deletion(-)\n>\n> diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h\n> index b992baf25..f1fa75d96 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 createInputTexture2D(eGLImage &eglImage, void *data);\n> +\tvoid updateInputTexture2D(eGLImage &eglImage, void *data);\n>  \tvoid createOutputTexture2D(eGLImage &eglImage);\n>  \n>  \tint attachTextureToFBO(eGLImage &eglImage);\n> diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp\n> index 123653b58..6134b05f9 100644\n> --- a/src/libcamera/egl.cpp\n> +++ b/src/libcamera/egl.cpp\n> @@ -345,6 +345,40 @@ bool eGL::isAvailable()\n>  \treturn true;\n>  }\n>  \n> +/**\n> + * \\brief Update a 2D texture already created\n> + * \\param[in,out] eglImage EGL image to associate with the texture\n> + * \\param[data] Data to update the texture with\n> + *\n> + * Updates a 2D texture in VRAM.\n> + */\n> +void eGL::updateInputTexture2D(eGLImage &eglImage, void *data)\n> +{\n> +\tGLenum format;\n> +\tGLenum type = GL_UNSIGNED_BYTE;\n> +\n> +\tASSERT(tid_ == Thread::currentId());\n> +\n> +\tglActiveTexture(eglImage.texture_unit_);\n> +\tglBindTexture(GL_TEXTURE_2D, eglImage.texture_);\n> +\n> +\tswitch (eglImage.format_) {\n> +\tcase GL_R16F:\n> +\t\tformat = GL_RED;\n> +\t\ttype = GL_HALF_FLOAT;\n> +\t\tbreak;\n> +\tcase GL_RG8:\n> +\t\tformat = GL_RG;\n> +\t\tbreak;\n> +\tcase GL_LUMINANCE:\n> +\t\tformat = GL_LUMINANCE;\n> +\t\tbreak;\n> +\t}\n\nThe duplicate code from eGL::createInputTexture2D should be probably\nmoved to a helper.  Proof: The same bug with uninitialised `format'.\n\n> +\n> +\t// Update an already exsiting texture\n\nC-style comments should be used.\n\ns/exsiting/existing/\n\n> +\tglTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, eglImage.width_, eglImage.height_, format, type, data);\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> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\n> index 0ec2a98cf..cdceacf96 100644\n> --- a/src/libcamera/software_isp/debayer_egl.cpp\n> +++ b/src/libcamera/software_isp/debayer_egl.cpp\n> @@ -536,7 +536,7 @@ int DebayerEGL::debayerGPU(FrameBuffer *input, FrameBuffer *output, const Debaye\n>  \t\t\tLOG(Debayer, Error) << \"mmap-ing buffer(s) failed\";\n>  \t\t\treturn -ENODEV;\n>  \t\t}\n> -\t\tegl_.createTexture2D(*eglImageBayerIn_, inMapped->value().planes()[0].data());\n> +\t\tegl_.createInputTexture2D(*eglImageBayerIn_, inMapped->value().planes()[0].data());\n>  \t}\n>  \n>  \t/* Generate the output render framebuffer as render to texture */","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 83F62C3264\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Jun 2026 11:08:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B02B0658FA;\n\tFri, 26 Jun 2026 13:08:17 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 32B96658ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2026 13:08:16 +0200 (CEST)","from mail-wm1-f70.google.com (mail-wm1-f70.google.com\n\t[209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-460-FCFSG982MVCeRZe9IH9WxQ-1; Fri, 26 Jun 2026 07:08:11 -0400","by mail-wm1-f70.google.com with SMTP id\n\t5b1f17b1804b1-490b4d3d3e6so6331695e9.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2026 04:08:11 -0700 (PDT)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-4.net.vodafone.cz. [77.48.47.4])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-492692d5149sm71410135e9.9.2026.06.26.04.08.09\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 26 Jun 2026 04:08:09 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"ZzPXvFK+\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1782472095;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=aUgkH0t7T6QZkdKoCw+hNnmyhgTheyjFVF957sB1Ppg=;\n\tb=ZzPXvFK+FkV/AkZOohMche4AXJF6f38bFVtyVD2YnZkJToh17VRPKjzAP+efBFNi4qUdNb\n\tXoE63VsqNapgKZUE4ReJIudnhAzk2CzMGcU61T4X27QMCADLNY42RiKZPpWrCNP/YL8wpj\n\tGCwXHiiAHUrl46ynP62yOkZ5Rl2ZayQ=","X-MC-Unique":"FCFSG982MVCeRZe9IH9WxQ-1","X-Mimecast-MFC-AGG-ID":"FCFSG982MVCeRZe9IH9WxQ_1782472090","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1782472090; x=1783076890;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=aUgkH0t7T6QZkdKoCw+hNnmyhgTheyjFVF957sB1Ppg=;\n\tb=g+IWF865KkejibF5AccEW1wqsPvcBrwh0KQ0FJjtF1e7fq9R7NUq40keoTj+R8o3VY\n\tNKuUoHxmiRO2LGBZmC+ILlFw8JIr00wnAVkFyI+275WgXQk+XJ2fqUFR/JzL735uIO59\n\tTDLMu8iJC+e/FiHEik6phVnG6JuUxms7FHmyiwIuYYnX4KOP6ckQBizgAYIDKDtKRaNm\n\tuavS1Vi4dtCMnQLwWrtBoolQeWOl0re2ufxaFQr4iopBtJyvyLSJwbmuwWCQ6CS6a+V7\n\tcnrkRsUdP855zpn2j9nIhQqgys+U6a83q9lYquil0ZQ7VHLhwnQG1GflxB1BdO3UozOu\n\tPJCw==","X-Gm-Message-State":"AOJu0YwJYtZXKLCi1vmRNjDool22MsyXNvItn9CIguQ5O2KhRziykW3l\n\t4bxLCqjAiE6nGMCzV0Zo0PjEPWV0tzN5T6I7BhfYwVFGEYUG7VoUV39q7eQMuP1w6z4aG43RcVJ\n\tDOaGu+7QSjSMR55bGVDO2Rwrb9kQMbIYrsdsoWXNJOvkdSnWqmZCiUOYpswkqU1lo6ITxIpNIV4\n\tY=","X-Gm-Gg":"AfdE7cnXZmynokWpIY/TyGThafnlVXfu8GQ9POiuPTsU4Exr7gnZV+mMkwinhJXkc5E\n\tuJOHj+x5M943I32Hq0YQv8hnk1OqdpgzP4nQcZw6M1MXWIV3zv5sTnX0mfTEyN5h2Ktb1Rfmbt9\n\t3H7V4WkpFmC92TAf/+Uoi0lwDICrEfceUdk+qIlG3kQyFD435XJ9Hw+wyIeC3ZD1X/26UTutXEp\n\tBIw/PUsdemArfufBfdV/sY1/mB+jpOAEhtvnALx5geq+RIucIwWahH0X7XHapoAEVAmtRhNzN0S\n\tmeWceZi6cerp69RI3LswbbXglb/ZOcHWyqLZ46ODaGTdlVjvkjny+5lVYBMVLzNHtf9Amtn6xvw\n\tYN2RzhkcYDgDYuIQRIRMNzdxJpfJXqhqtQUjoFgG85KIBiEUJxn9QI1TPyBC7lqIU","X-Received":["by 2002:a05:600c:4ed1:b0:492:4717:59fb with SMTP id\n\t5b1f17b1804b1-4926fc78e7amr4938905e9.17.1782472090449; \n\tFri, 26 Jun 2026 04:08:10 -0700 (PDT)","by 2002:a05:600c:4ed1:b0:492:4717:59fb with SMTP id\n\t5b1f17b1804b1-4926fc78e7amr4938525e9.17.1782472090050; \n\tFri, 26 Jun 2026 04:08:10 -0700 (PDT)"],"From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org,  pavel@ucw.cz","Subject":"Re: [PATCH 06/10] libcamera: egl: Add updateInputTexture2D","In-Reply-To":"<20260624085849.873784-7-bryan.odonoghue@linaro.org> (Bryan\n\tO'Donoghue's message of \"Wed, 24 Jun 2026 09:58:45 +0100\")","References":"<20260624085849.873784-1-bryan.odonoghue@linaro.org>\n\t<20260624085849.873784-7-bryan.odonoghue@linaro.org>","Date":"Fri, 26 Jun 2026 13:08:08 +0200","Message-ID":"<85ik75lftz.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"bIRn_r14P-0-7afJJolTRSx5cUuUlFSxIOiVFGkgeRc_1782472090","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}}]