[{"id":34448,"web_url":"https://patchwork.libcamera.org/comment/34448/","msgid":"<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org>","date":"2025-06-11T12:54:52","subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"content":"On 11/06/2025 02:32, Bryan O'Donoghue wrote:\n> From: Milan Zamazal <mzamazal@redhat.com>\n> \n> The GPU processing supports 8-bit sensor formats and 10/12-bit packed\n> formats.  Support for 10/12-bit unpacked formats is missing, let's add\n> it.\n> \n> 10/12-bit unpacked formats use two adjacent bytes to store the value.\n> This means the 8-bit shaders can be used if we can modify them for\n> additional support of 16-bit addressing.  This requires the following\n> modifications:\n> \n> - Using GL_RG (two bytes per pixel) instead of GL_LUMINANCE (one byte\n>    per pixel) as the texture format for the given input formats.\n> \n> - Setting the texture width to the number of pixels rather than the\n>    number of bytes.\n> \n> - Making the definition of `fetch' macro variable, according to the\n>    pixel format.\n> \n> - Using only `fetch' for accessing the texture.\n> \n> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>   .../libcamera/internal/shaders/bayer_8.frag   | 10 +++-\n>   src/libcamera/software_isp/debayer_egl.cpp    | 46 +++++++++++++------\n>   src/libcamera/software_isp/debayer_egl.h      |  2 +\n>   3 files changed, 44 insertions(+), 14 deletions(-)\n> \n> diff --git a/include/libcamera/internal/shaders/bayer_8.frag b/include/libcamera/internal/shaders/bayer_8.frag\n> index 74ce1509..78c2609c 100644\n> --- a/include/libcamera/internal/shaders/bayer_8.frag\n> +++ b/include/libcamera/internal/shaders/bayer_8.frag\n> @@ -32,9 +32,17 @@ uniform mat3\t\tccm;\n>   void main(void) {\n>       vec3 rgb;\n>   \n> +    #if defined(RAW10P)\n> +    #define pixel(p) p.r / 4.0 + p.g * 64.0\n> +    #define fetch(x, y) pixel(texture2D(tex_y, vec2(x, y)))\n> +    #elif defined(RAW12P)\n> +    #define pixel(p) p.r / 16.0 + p.g * 16.0\n> +    #define fetch(x, y) pixel(texture2D(tex_y, vec2(x, y)))\n> +    #else\n>       #define fetch(x, y) texture2D(tex_y, vec2(x, y)).r\n> +    #endif\n>   \n> -    float C = texture2D(tex_y, center.xy).r; // ( 0, 0)\n> +    float C = fetch(center.x, center.y); // ( 0, 0)\n>       const vec4 kC = vec4( 4.0,  6.0,  5.0,  5.0) / 8.0;\n\nSame feedback I gave to myself\n\n\"The fragment shader changes and CPU side class changes should be in \nindividual patches, one patch for the shader, one patch for the CPU.\"\n\n>   \n>       // Determine which of four types of pixels we are on.\n> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\n> index b30d2107..71742d84 100644\n> --- a/src/libcamera/software_isp/debayer_egl.cpp\n> +++ b/src/libcamera/software_isp/debayer_egl.cpp\n> @@ -151,6 +151,8 @@ int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm\n>   \t}\n>   \n>   \t// Pixel location parameters\n> +\tglFormat_ = GL_LUMINANCE;\n> +\tbytesPerPixel_ = 1;\n>   \tswitch (inputFormat) {\n>   \tcase libcamera::formats::SBGGR8:\n>   \tcase libcamera::formats::SBGGR10_CSI2P:\n> @@ -197,20 +199,38 @@ int DebayerEGL::initBayerShaders(PixelFormat inputFormat, PixelFormat outputForm\n>   \tcase libcamera::formats::SGRBG10_CSI2P:\n>   \tcase libcamera::formats::SRGGB10_CSI2P:\n>   \t\tegl_.pushEnv(shaderEnv, \"#define RAW10P\");\n> -\t\tfragmentShaderData = bayer_1x_packed_frag;\n> -\t\tfragmentShaderDataLen = bayer_1x_packed_frag_len;\n> -\t\tvertexShaderData = identity_vert;\n> -\t\tvertexShaderDataLen = identity_vert_len;\n> +\t\tif (BayerFormat::fromPixelFormat(inputFormat).packing == BayerFormat::Packing::None) {\n> +\t\t\tfragmentShaderData = bayer_8_frag;\n> +\t\t\tfragmentShaderDataLen = bayer_8_frag_len;\n> +\t\t\tvertexShaderData = bayer_8_vert;\n> +\t\t\tvertexShaderDataLen = bayer_8_vert_len;\n> +\t\t\tglFormat_ = GL_RG;\n> +\t\t\tbytesPerPixel_ = 2;\n> +\t\t} else {\n> +\t\t\tfragmentShaderData = bayer_1x_packed_frag;\n> +\t\t\tfragmentShaderDataLen = bayer_1x_packed_frag_len;\n> +\t\t\tvertexShaderData = identity_vert;\n> +\t\t\tvertexShaderDataLen = identity_vert_len;\n> +\t\t}\n\nAh I see the 8bpp stuff should be unaffected by your change now.\n\nGood stuff.\n\nReviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\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 2EB02BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Jun 2025 12:54:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2059368DBC;\n\tWed, 11 Jun 2025 14:54:56 +0200 (CEST)","from mail-wm1-x332.google.com (mail-wm1-x332.google.com\n\t[IPv6:2a00:1450:4864:20::332])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 58E6761552\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Jun 2025 14:54:54 +0200 (CEST)","by mail-wm1-x332.google.com with SMTP id\n\t5b1f17b1804b1-441ab63a415so69471695e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Jun 2025 05:54:54 -0700 (PDT)","from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-3a53229e014sm15183951f8f.3.2025.06.11.05.54.52\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tWed, 11 Jun 2025 05:54:52 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"fF/YXdg8\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1749646493; x=1750251293;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:cc:to:subject:user-agent:mime-version:date:message-id\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=ERo8RjA5r87go72ZMmcU8e6cXs1xp94HfGraBvRdQLc=;\n\tb=fF/YXdg8kZQGyFMuK/39g5g+2ckDZL5by7ISrODRbzh5nvFeDo7Pyhi6zUsEQkqymt\n\tjedC3QvfMRzrlPu6mId/THcGBKyHoyuy/Xmkt+jcNEH6Z6uX5rA/aAxnoSDY67e61DU/\n\tYg0oNZgJvWrrGYTVsqgdoUAMz6y0oQtnPe8+PCILv2IdGJ8IZgt/sK+cYzTVljEZfmz9\n\t4R8eWlyr6VERB6M03Sj0rw/i9uGsivymWHzpa6Wu1EcMnflz+id5W33MESweotwZweHP\n\tjLOaFdVVLO6H0bTAehZ8jsCfAXcWxDeBDaF0/r1uCZ2YNX/ciqwwcjXM11DNU1ceFXoV\n\tNpaA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1749646493; x=1750251293;\n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:cc:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=ERo8RjA5r87go72ZMmcU8e6cXs1xp94HfGraBvRdQLc=;\n\tb=YpTA/b03nYYofFQ37QxpLP2lbdYIvZGFbcIvDLSSwftpX4soyxnDlyG31gOLW97/dT\n\tpCGXrmMeGWJqEwfS6sTOFxhoyFkgjtCDweRURZRrp3Mq208oZkLMoftSnDuxAEANIpcA\n\twZOmPCNhBRdONraJYA2o/dSKx8jEPPfrI5iQkiMGs1JejlNDEtJ+jS468KgxxoyfI4bQ\n\toD1z3o1ec9HGgjhR2Ncu/KaNzyPaILPakWtylWmIgbJnZ6bWwSdRGyT0xPznqdc4vNG8\n\tIkz07nHIOuNNKa2CrKvT/lOTX43MIBg4AcKgMFuPsT87oPbKlKvZc5lzTudXiRbyPwta\n\tbJGA==","X-Gm-Message-State":"AOJu0YyraYrVpQiA5qRkra3utuLJ4SMrpIIL9TkRUyhJY+ShAs6zASvH\n\tF0pGo97AHFTvUKKTHYBPJNqZVpUgrNbBieAciVwl7AGF00lDDnFzUoV5GLR5u+EbkJ7F9XVMeaf\n\tH9kWHLAU=","X-Gm-Gg":"ASbGncvOzxqKPDQFHgixMqAmiidDqko9gZhG5uuGxznhB4tRqZYD6FkqlgunG5ZZGyZ\n\tK8j/FSfccRYSLKfEOuESAt4jysTL3K3pi1E26u4MAmPBeLEjcDKpV6frgEih2c+ktZ/0epPNlf4\n\ti0n96MBzAvVO79gDbACMLS55lPt9KOqTKEYycMfivcJFF/xKVrPzsy8tw6/SZGZfalFgxcYaxbs\n\tB4WFN0ImKu6jtJa21V9INAD+fgQzUPydPhrUKt3m28bMZWVXGzMfo5LXJpFS3cg2bmol7a+VK9l\n\tK9DZF/mU99I+7MDoDgEJ+suFqJcjsFGlCsnlI8K35JuyTiOETaXac13vzoAPb2Dqc0gN4ABqEMW\n\tAMvdwQeJhGyTEXAzbd7Qrl0GU2dc=","X-Google-Smtp-Source":"AGHT+IFlRIEmMunSNLnLa79ZZKQyW/IUIchyJN7FWSDP1MaoaWxc5EjFGk1QkwW5BmElgkRxMVmM+A==","X-Received":"by 2002:a05:6000:2285:b0:3a4:d6ed:8e07 with SMTP id\n\tffacd0b85a97d-3a558a27717mr2420387f8f.32.1749646493465; \n\tWed, 11 Jun 2025 05:54:53 -0700 (PDT)","Message-ID":"<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org>","Date":"Wed, 11 Jun 2025 13:54:52 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>","References":"<20250611013245.133785-1-bryan.odonoghue@linaro.org>\n\t<20250611013245.133785-34-bryan.odonoghue@linaro.org>","Content-Language":"en-US","From":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","In-Reply-To":"<20250611013245.133785-34-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":34547,"web_url":"https://patchwork.libcamera.org/comment/34547/","msgid":"<85plf1xlx9.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-06-18T12:40:34","subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","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 fragment shader changes and CPU side class changes should be in individual patches, one patch for the shader, one patch for\n> the CPU.\"\n\nAny special reason for this?  I generally prefer to keep closely related\nchanges together although I don't mind much in these cases of \"set\nenvironment for the shader\" + \"honour it in the shader\".","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 6F4DAC3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Jun 2025 12:40:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 99EA268DCE;\n\tWed, 18 Jun 2025 14:40:42 +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 2B98D68DC1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 14:40:40 +0200 (CEST)","from mail-ed1-f69.google.com (mail-ed1-f69.google.com\n\t[209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-606-vNUpBzrbNlC955eV-SR2LQ-1; Wed, 18 Jun 2025 08:40:38 -0400","by mail-ed1-f69.google.com with SMTP id\n\t4fb4d7f45d1cf-6077dea380eso6064836a12.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 05:40:38 -0700 (PDT)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\t4fb4d7f45d1cf-608b48a95b2sm9556560a12.1.2025.06.18.05.40.35\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 18 Jun 2025 05:40:35 -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=\"HODKqLoF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1750250439;\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=P4ort0DmlC2qdk9R/DDjvPnXA/HMSb2ctt8CxEIanAo=;\n\tb=HODKqLoFBbIljsAkCp30dt/a1Vfuli4w84pjZXi0DNS7vC4xkMJcsaBE7JCUdZX++uwT54\n\t7cyb1579UYvNGYYyfWDEv1c8Y5iapwoG6Xm+i5svErvV4PlrHKYLolAimrXhBIRzxWlJUt\n\t/Yn44B2psrSOGwg6R9B4pz8Pscr6idU=","X-MC-Unique":"vNUpBzrbNlC955eV-SR2LQ-1","X-Mimecast-MFC-AGG-ID":"vNUpBzrbNlC955eV-SR2LQ_1750250437","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1750250436; x=1750855236;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=P4ort0DmlC2qdk9R/DDjvPnXA/HMSb2ctt8CxEIanAo=;\n\tb=OfaR8sMO5QRdx8O5hCzYWZLw+yYb37tivBML2dK9zrFFvmWPgxGFHQl6kA6VB/tkzF\n\tkQlAxP1fY7Jfy5682NAOj5SShvFSgPpSvMXFiTWbjsimadwu13bvC+EvVxTJL4aZ1mIB\n\tpDqB8ESwgCndyIkABZpuiUcBlUaqYLTy2Q0XIWmi+BMHbGKFaakqAVUsSw9sYjcPM3IG\n\tQhOMJxCWwHR71m5SR3DnrPKxfo/19x4sS/8fJp2hUSkVHCUf7yFSTr5nqmrv8xpU0yTx\n\twULQwvRJuzq8JWXDlqMR5sZ4BehzbDKDoHiEAzeY///yWV0++AmF/6lOWKH+odTyV4sl\n\toqIA==","X-Gm-Message-State":"AOJu0YzFKMPqyQLbOJZ8TK4sWC6tvq34cuHnve9AOJychxAvUJmIHRBq\n\tDhjIK7ZohJW6SSi2GnzjgqpS+R6GDi8vD+7TqAcYzsTWkXhl8Bmu7ZRCzapD0uRzzpGrS3YOJRe\n\tmr54NPyxVln0dNPjvJING+7gmCcVW/chZIhc8wGPG7EaduqbcFDyddTolmCPric3Kgu1uAJOrlN\n\twSjIGH2rNMZbflCMxa89yGAZD1drS8VdTNYq6L1WyoHeH5k5TwbGwFL2iFxjk=","X-Gm-Gg":"ASbGncvkDRV4LCPa5HTSvDg8TurEPUGJMYLvzm/A11e4v7JYoT3L0UwcqRZxlXgimGU\n\tEigkLCdqUnU0aZj60gwwcX02XUcMgLVps0Gyx0gVteQf0E83rl09GpYYb8UFo87TLNFZCaBdmiJ\n\tJjRmxPDRINnP26pvFhk6sMPjcCwVOztqcxNtczrVxuGC9bstl5FK6Y1UNHgYFuFpNYhmycpeBiu\n\tTkmxcLVrpa5HFfzdA5CE3xOdnA7vdI9aV5sGhYt4p7v/uyzxM+aGYg7XqKzycwU2jyRg96N+ji+\n\txO096QsF9VmAbAgKSlAdiKpG/cA03qJfwNMZxjVFALnwOShk3oer61SWFYfJYzheoZSBGUTvDKI\n\t=","X-Received":["by 2002:a05:6402:50c6:b0:607:5987:5ba1 with SMTP id\n\t4fb4d7f45d1cf-608d0961af6mr16240918a12.20.1750250436687; \n\tWed, 18 Jun 2025 05:40:36 -0700 (PDT)","by 2002:a05:6402:50c6:b0:607:5987:5ba1 with SMTP id\n\t4fb4d7f45d1cf-608d0961af6mr16240871a12.20.1750250435914; \n\tWed, 18 Jun 2025 05:40:35 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IH03J/TTHiX/uVMushMJVIV1NLHJRdKPthuG4/1iESnFQiH3CZwwhy38zOhgGpoIEU2r5ukTw==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","In-Reply-To":"<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org> (Bryan\n\tO'Donoghue's message of \"Wed, 11 Jun 2025 13:54:52 +0100\")","References":"<20250611013245.133785-1-bryan.odonoghue@linaro.org>\n\t<20250611013245.133785-34-bryan.odonoghue@linaro.org>\n\t<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org>","Date":"Wed, 18 Jun 2025 14:40:34 +0200","Message-ID":"<85plf1xlx9.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":"0lZXM54eqHnMFltprBCsRict5IKn8djc5DPK_YKffBs_1750250437","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>"}},{"id":34551,"web_url":"https://patchwork.libcamera.org/comment/34551/","msgid":"<e376bb79-3c2a-4ebf-a7c8-15af81cc0726@linaro.org>","date":"2025-06-18T19:58:33","subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"content":"On 18/06/2025 13:40, Milan Zamazal wrote:\n> Bryan O'Donoghue<bryan.odonoghue@linaro.org> writes:\n> \n>> \"The fragment shader changes and CPU side class changes should be in individual patches, one patch for the shader, one patch for\n>> the CPU.\"\n> Any special reason for this?  I generally prefer to keep closely related\n> changes together although I don't mind much in these cases of \"set\n> environment for the shader\" + \"honour it in the shader\".\n> \n\nTo have a shader specific log and a shader specific patch to revert/bisect.\n\nI think its cleaner so I've been stacking my shader changes that way.\n\nFor that reason, I think we should keep the modus operandi consistent \nwithin the series.\n\nIf there's no objection from you, I can break this commit into shader \nand cpp changes for v2.\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 2FB27C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Jun 2025 19:58:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 328B168DCC;\n\tWed, 18 Jun 2025 21:58:38 +0200 (CEST)","from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com\n\t[IPv6:2a00:1450:4864:20::42a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2446168DC1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 21:58:36 +0200 (CEST)","by mail-wr1-x42a.google.com with SMTP id\n\tffacd0b85a97d-3a4fd1ba177so16627f8f.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 12:58:36 -0700 (PDT)","from [192.168.0.34] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-4535e982dd5sm6517175e9.12.2025.06.18.12.58.34\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tWed, 18 Jun 2025 12:58:35 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"Bsbfn3A/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1750276715; x=1750881515;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:cc:to:subject:user-agent:mime-version:date:message-id\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=MqgmH3ypAbCvpufM7/Z/Oku3pTgCbeXiQ4Q8G+hgx3I=;\n\tb=Bsbfn3A/8vJchwc/j/7fDf3ib+AuT8XH7JF8kwVX6cXIw5x6alTEq4eeE2Vo9VT3u3\n\t3hNAELCfMYnKqJHyw/IxgEUoFLaxToBvOx49pFRsJwyHsBTqUnvKiOPxcjvJwtYSBA5e\n\tb5BHjhdfVI29faYmjnppOS9ilpjiL6cqjuw4Vm9c3k4SHyHBWNOdgwT1GnO7Htfl1EzN\n\tvg0iHt4LpnIKRXfVpsr98r+nllMhBZg8p60SA2wsfIagONOIE87u+LpQPZ1NhOphFQQt\n\tVzYSE2Y9eootWF2XuF5DzAbKD03fdWRrYt+cb+y90ry1waFDyRe+OQHbbl1xvG8U1HLu\n\tnyEQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1750276715; x=1750881515;\n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:cc:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=MqgmH3ypAbCvpufM7/Z/Oku3pTgCbeXiQ4Q8G+hgx3I=;\n\tb=SQ6p30UorTqt7bJW3zUP6cBneKAOpMZmBzYWjYIfRASxoo/9a8ToXp3dBNu56fQhmo\n\tgzNvFPZdzmVoGV+JH5ZlBQItnryBdfhDa+3ne5/Dn4BeHIDMBbPDsnMj3UqH/5Bau1xA\n\tg59lydWgZQLXCyBxxnPkcsCpxzx9ZHc+ttKe8bKG4//wlMSG3OMt3hguRerzqi7Z24l5\n\tfUIfPdeWiOV8O6uCnhCmR2/9/BmN3uAJI2bbTAOACINidyVyq+JxEpYth4uFJoSjHALL\n\tEqmKEBSp4AvU2MOy6QKm+mDr3tWqRvxeKex6K6cb4gf2OJ5lgMqSSmy1MTDqJ0DjFK8x\n\tCnTA==","X-Gm-Message-State":"AOJu0YzMAfGzLDCWJ+jqRUUC/NZrTf5XQC0p/OQXTLnSDX7Un+XHmVFI\n\tXMm5ET1W9Ra1GEubB9dhACzPBKkv+SmUe37jkiBK6i4K0367qcQrqI8mDQifCBE2PIM=","X-Gm-Gg":"ASbGncvRURkRSDthqTc+iEdhQ6ZlLqEzc7frXGV6BWQru3cs2yaaX1Ta2bvAIBL0Nc8\n\tlaH2VkhthlLAGWTMQt/zTSw9/D6JDSOUWyKlkrrRogYKIvRTiahEFeXR+R/mvCGgPW5sAU06ysL\n\t2hFurAku4abx5P7NIlD1p32ztfiVQVpztMISeI/8ychQrGPq/p/ktKqerEM27IqZis3Bmi2Edl8\n\tBJEVhmB/Ghj1R5sW7ADj15WbtAZtQw/7OjmRtOHkdNXMydY9c4R9pOeJIAzyzMrFWYCI1xttxDr\n\tqezgDXxYVXKHcmz0k0pb19566GezPFgrizIf0o3KkjdRSYpd7YTcsZ/dZ+ziCKgAGr6uHgi/bC1\n\tnN/oFGsdjjKF2YBdR62/0RY+ytIQ=","X-Google-Smtp-Source":"AGHT+IEyoon+59i7T8mo63O9D0olWsmeuic26PFVbGDsFuMclyKXDnuKsJFgcVQDNx+HinzAH37qig==","X-Received":"by 2002:a05:6000:4185:b0:3a5:270e:7d3 with SMTP id\n\tffacd0b85a97d-3a6c971cea7mr644902f8f.13.1750276715507; \n\tWed, 18 Jun 2025 12:58:35 -0700 (PDT)","Message-ID":"<e376bb79-3c2a-4ebf-a7c8-15af81cc0726@linaro.org>","Date":"Wed, 18 Jun 2025 20:58:33 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","To":"Milan Zamazal <mzamazal@redhat.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20250611013245.133785-1-bryan.odonoghue@linaro.org>\n\t<20250611013245.133785-34-bryan.odonoghue@linaro.org>\n\t<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org>\n\t<85plf1xlx9.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","Content-Language":"en-US","From":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","In-Reply-To":"<85plf1xlx9.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","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":34552,"web_url":"https://patchwork.libcamera.org/comment/34552/","msgid":"<85v7osdawe.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-06-18T20:58:57","subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","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> If there's no objection from you, I can break this commit into shader and cpp changes for v2.\n\nNo problem, feel free to do so.","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 95CFABDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Jun 2025 20:59:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 73B2768DCC;\n\tWed, 18 Jun 2025 22:59:05 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CED3B68DC1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 22:59:02 +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-629-pyOqcScSNUC9rVBscKuRuQ-1; Wed, 18 Jun 2025 16:59:00 -0400","by mail-wm1-f70.google.com with SMTP id\n\t5b1f17b1804b1-451d3f03b74so294245e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Jun 2025 13:59:00 -0700 (PDT)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-4535e97abdfsm7921395e9.4.2025.06.18.13.58.57\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 18 Jun 2025 13:58:58 -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=\"MkzoyPw6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1750280341;\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=k/W8PuSogWcfckkT7rxR/Mcbb1oSvEq2wCSxOj5M+6o=;\n\tb=MkzoyPw63r3Bey324X2KbvX+1UdfPfMx6SDIl4/CxSwzJLo0hTPyMzQdm2UT3pc5WzVQyW\n\t4lCFw677XAz3nFesVxdQr8vYU0c/7M9lmVeHlSgnC2IMZckMbMOQFvk83NAh+HMGBFRlI8\n\tsC9y9oQpvtDHgz8cGkwkM9rAI7ogAmY=","X-MC-Unique":"pyOqcScSNUC9rVBscKuRuQ-1","X-Mimecast-MFC-AGG-ID":"pyOqcScSNUC9rVBscKuRuQ_1750280339","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1750280339; x=1750885139;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=k/W8PuSogWcfckkT7rxR/Mcbb1oSvEq2wCSxOj5M+6o=;\n\tb=QYAEt14yr5t0w/FnZxg5jksqLQdKXfSjqy9CqqAimwoMY2xXYHWrAymG5D5Y5zBBgK\n\t/sEr1ZKB6phY1kQ4ztDdrzOnxbnNibDSGVMc0FMrmSJBmayYL3Q3xRInF7h7YYAiVGx2\n\tO/398boXNcTrJjlyEhnQgo0hBK3nhcKW+pQ/P4rf7/B2TCyC1gBq+Zqv8aNim3w7QAfq\n\tvYSTTclGUm6d6HD9+zNarB95LKwDXi3UZibaBJrPBVFL9gQ0Pu/8MhDrtBd8QgbW5pPM\n\tIk0U8jkmlbUM06e2brAF9PFj0Gw/sfZ1/b9aNSYOW13mb3XU/G3xGnLBYe5Pc8fL3nwh\n\tW2xw==","X-Gm-Message-State":"AOJu0YzZc0P34R5wu3hYnJgUllM05CvYvEYUqzP41Ssp0KwZGJ2VFdjt\n\tJ76tTdy+eRknZVqhYs2QV3QLxgnYkCsLzXq2qmz3x7bzmKUzfhp5PfxNF+JACORKncbrTKGqyFr\n\toUiNEFDPr3+xtpa33Bz4bVssZkkjfhWNtgOIEHauwksnZSM7qok9omHMTMMoYEPvuri677dGZCn\n\tw4OH8uNynR3H+Dwf+EVfttrKKIzQYPa8UQeAMoygyY4FIPkyoLtiQwhnvUiHM=","X-Gm-Gg":"ASbGncu+N3bBJIKV6ANGAj0nyxdzshi8vHxhJggkcxVQBoFymO3SnxatEpA4Jxttoxp\n\tYE+aMUeud4Yjn7rCoCq/34XYSrJcMXnGC2tqZ1MqhNJFaFmAM0owGCteKfkG8mEjQHOyG2AFCX7\n\tuwGU7ytly+EERIeD2t6NVFrPe5fjfrf2eILBM9kvTA5YlVeFqpSv+fXgP7iQYwtadxQsk6b/Xmj\n\tvhnvbKj00+w0GEXpTAnKX0QOWgWizVftdFzXzrWDDeJ1Rz/LBlR4M4rYi/7HTo73t0IE3jljb5V\n\thS+gEr3LOrGHqdkonYLES4dezlU0lYq+Pw/aEVcqOhKj+N4QRr8rueK1pScA9akL+qy7W8pa2U0\n\t=","X-Received":["by 2002:a05:600c:8b62:b0:442:e03b:58a9 with SMTP id\n\t5b1f17b1804b1-4533cab85fbmr152065885e9.25.1750280338915; \n\tWed, 18 Jun 2025 13:58:58 -0700 (PDT)","by 2002:a05:600c:8b62:b0:442:e03b:58a9 with SMTP id\n\t5b1f17b1804b1-4533cab85fbmr152065765e9.25.1750280338491; \n\tWed, 18 Jun 2025 13:58:58 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IF5MjWnsZ3/VWtT0BkUccYagCFrl+T0+mjgtC9k4/Kp4HuKeXepz7p9122gM83S2kpXI3Rt7g==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 33/35] libcamera: software_isp: GPU support for unpacked\n\t10/12-bit formats","In-Reply-To":"<e376bb79-3c2a-4ebf-a7c8-15af81cc0726@linaro.org> (Bryan\n\tO'Donoghue's message of \"Wed, 18 Jun 2025 20:58:33 +0100\")","References":"<20250611013245.133785-1-bryan.odonoghue@linaro.org>\n\t<20250611013245.133785-34-bryan.odonoghue@linaro.org>\n\t<e95ead19-973a-41ae-b573-93db5a534ecc@linaro.org>\n\t<85plf1xlx9.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>\n\t<e376bb79-3c2a-4ebf-a7c8-15af81cc0726@linaro.org>","Date":"Wed, 18 Jun 2025 22:58:57 +0200","Message-ID":"<85v7osdawe.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":"gUmTr5_FtyM98SiTEpCISWzAkTDcwZw3s_HA1p6MGjk_1750280339","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>"}}]