Show a patch.

GET /api/patches/25325/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 25325,
    "url": "https://patchwork.libcamera.org/api/patches/25325/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/25325/",
    "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": "<20251202134544.662446-17-bryan.odonoghue@linaro.org>",
    "date": "2025-12-02T13:45:36",
    "name": "[v6,16/24] libcamera: software_isp: debayer_egl: Make gpuisp default softisp mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "b560e9ffd927fa62b2a275b2d80c62a52a1a8cf4",
    "submitter": {
        "id": 175,
        "url": "https://patchwork.libcamera.org/api/people/175/?format=api",
        "name": "Bryan O'Donoghue",
        "email": "bryan.odonoghue@linaro.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/25325/mbox/",
    "series": [
        {
            "id": 5631,
            "url": "https://patchwork.libcamera.org/api/series/5631/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5631",
            "date": "2025-12-02T13:45:20",
            "name": "Add GLES 2.0 GPUISP to libcamera",
            "version": 6,
            "mbox": "https://patchwork.libcamera.org/series/5631/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/25325/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/25325/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 4DB3FC32F4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  2 Dec 2025 13:46:25 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5E4B960F4E;\n\tTue,  2 Dec 2025 14:46:24 +0100 (CET)",
            "from mail-wm1-x330.google.com (mail-wm1-x330.google.com\n\t[IPv6:2a00:1450:4864:20::330])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6254A60D2D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  2 Dec 2025 14:46:16 +0100 (CET)",
            "by mail-wm1-x330.google.com with SMTP id\n\t5b1f17b1804b1-477b198f4bcso40708765e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 02 Dec 2025 05:46:16 -0800 (PST)",
            "from inspiron14p-linux.ht.home (188-141-3-146.dynamic.upc.ie.\n\t[188.141.3.146]) by smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-47926f0ec69sm19383375e9.1.2025.12.02.05.46.14\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 02 Dec 2025 05:46:15 -0800 (PST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"wNw0cItN\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1764683176; x=1765287976;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=TolVqEkHZsRaLOAV12HngkrzaM70wlhXChPq2Fetlso=;\n\tb=wNw0cItNuUCklfEFz/euLUQ21yJPD4ErlX/fgct5PKfyqtdvveYDPsDTIb1xU9S0eH\n\tD4eUBGr3pg0z8V7d2hPLot53xoqS2RCRXZ0VaDOad8OEdzZPcLQSKLGuXVlSyyFW5UmT\n\tYlnIEhh7IJod2hkbEcgOIKpwyctbOCOtZ6fNzgJpC3ABQZtQEviTJznuYZspZ7/U79Hh\n\tbpVIv/sTq4mArTAhFKPhe0hwNQpZ05llxLNcZYBGXkwJaDsXiWwu3lGbvJgCdSDkDZ39\n\twfPUWkAlNOr2/frbrb3nwNTReu4nKd2HNgxGCIzeKMWdFHzOaC1mC+tByq2zuKOeu7Tt\n\tUNfA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1764683176; x=1765287976;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=TolVqEkHZsRaLOAV12HngkrzaM70wlhXChPq2Fetlso=;\n\tb=jjkeLy4GlVwQx74i+W9JHnBQ22p/DDxwnhm0mS0xKt/Wxpyt5lf2ajJcMI0VQAOGFx\n\twCvJ0eIo3APPENhueMAbOZf5fM8LelYgY0+jzfrEXLa9yK0QX09BG4HZj2ADJPNMs5aU\n\tcXKwnLLU8dS746YUel9jKDpu8LwghRcgEgUWju73jU/Ed2UnfEvV27fFrlhuNBXCVw5o\n\tTyXNRAmmdoBma5t1TArY/sRk1lX/hhDfmLy7fw9j8lC19YaqPSjwkRqcZ8y4jpfHJhxA\n\t3cNQ5hs0Wrba6s5ScXckMluTVUYrAmy67nXB+1vuSkqi4TJUk+BayGlzcsVrObUhIruS\n\trAKQ==",
        "X-Gm-Message-State": "AOJu0YxP1hGmadQPy/ZoQk0CMP8OmKaRWBAl4cf2z1C0vo/e8WG6bCI8\n\te7/kdfnmb43GXJ5JJMItT2D1htiyhzkbl7hfHC25Gn13QqeLHEU35He72uEhmlNezXQzsWByslV\n\tsZ59y",
        "X-Gm-Gg": "ASbGncvoDwxGqVOezoGLOEv08EDr1jAYoK/mz1nTevXjDuOks6oemqVRbF4doos2haX\n\t5G2VujCu323tdtuFl2yH5bqgHQn/+97ZIfAYh6gWbJFwoFF5Hynf6ZP5UEwxYgt2C4pmNR8xLVl\n\tR2Y+/7ocNOReZDpmfGzS+HkEzX0lrb/NwflBZtmBbuIuCCjnt3shcXSkdSWz8IMta10N78TQsVb\n\tFNC6NFDO+wq0QZsdJB+ACivce3qwTF69DJR5tRpny3oGxx18bAC9UHTHQT0YDmOfWXkW719TQee\n\t2rZt9S3Sy+Z5N5miHzPeqQWw6p1Q7c1lUJrgNe1160i2NxTgx9SQG9KOFU/hvBwBoijcxuAsHbh\n\t4Si+l82U73zDa5GrPDA8Oa3hVQiC+zvg+N9uRD+u1yGbqfQiLF1qrYwtkbNwHs21jogAZbe+gYs\n\tlw5kpZ+pXhGEQvgRMwNPI0MIoLgkPpPgWi5EvMl1Ova86X2XbE3s8JcWpxaLZQBymM6TOsUYdBE\n\tyXGjg==",
        "X-Google-Smtp-Source": "AGHT+IEzYmiL2FE4oKEpDHtVWmuiqaSNHgfYo1XLBzs9mI8kvpHVFkCO0EyUrpLQX7Mbf/yGGVrT2Q==",
        "X-Received": "by 2002:a05:600c:840f:b0:477:952d:fc00 with SMTP id\n\t5b1f17b1804b1-477c0176752mr478108635e9.12.1764683175693; \n\tTue, 02 Dec 2025 05:46:15 -0800 (PST)",
        "From": "Bryan O'Donoghue <bryan.odonoghue@linaro.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "pavel@ucw.cz,\n\tBryan O'Donoghue <bryan.odonoghue@linaro.org>",
        "Subject": "[PATCH v6 16/24] libcamera: software_isp: debayer_egl: Make gpuisp\n\tdefault softisp mode",
        "Date": "Tue,  2 Dec 2025 13:45:36 +0000",
        "Message-ID": "<20251202134544.662446-17-bryan.odonoghue@linaro.org>",
        "X-Mailer": "git-send-email 2.52.0",
        "In-Reply-To": "<20251202134544.662446-1-bryan.odonoghue@linaro.org>",
        "References": "<20251202134544.662446-1-bryan.odonoghue@linaro.org>",
        "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": "In some cases the GPU can deliver 15x performance in Debayer with the\nCCM on, reference hardware Qualcomm RB5 with IMX512 sensor.\n\nGiven this large performance difference it makes sense to make GPUISP\nthe default for the Software ISP.\n\nIf LIBCAMERA_SOFTISP_MODE is omitted gpu will be the default. If\nlibcamera is compiled without gpuisp support, CPU Debayer will be used.\n\nIt is still possible to select CPU mode with LIBCAMERA_SOFISP_MODE=cpu.\n\nSigned-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n---\n src/libcamera/software_isp/software_isp.cpp | 11 +++++++++--\n 1 file changed, 9 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/src/libcamera/software_isp/software_isp.cpp b/src/libcamera/software_isp/software_isp.cpp\nindex 125a5dd81..fd68dd0c5 100644\n--- a/src/libcamera/software_isp/software_isp.cpp\n+++ b/src/libcamera/software_isp/software_isp.cpp\n@@ -121,10 +121,17 @@ SoftwareIsp::SoftwareIsp(PipelineHandler *pipe, const CameraSensor *sensor,\n \t}\n \tstats->statsReady.connect(this, &SoftwareIsp::statsReady);\n \n-#if HAVE_DEBAYER_EGL\n \tconst char *softISPMode = utils::secure_getenv(\"LIBCAMERA_SOFTISP_MODE\");\n+\tif (softISPMode) {\n+\t\tif (strcmp(softISPMode, \"gpu\") && strcmp(softISPMode, \"cpu\")) {\n+\t\t\tLOG(SoftwareIsp, Error) << \"LIBCAMERA_SOFISP_MODE \" << softISPMode << \" invalid. \"\n+\t\t\t\t\t\t<< \"must be \\\"cpu\\\" or \\\"gpu\\\"\";\n+\t\t\treturn;\n+\t\t}\n+\t}\n \n-\tif (softISPMode && !strcmp(softISPMode, \"gpu\")) {\n+#if HAVE_DEBAYER_EGL\n+\tif (!softISPMode || !strcmp(softISPMode, \"gpu\")) {\n \t\tdebayer_ = std::make_unique<DebayerEGL>(std::move(stats), configuration);\n \t\tif (!debayer_) {\n \t\t\tLOG(SoftwareIsp, Error) << \"Failed to instantiate GPUISP\";\n",
    "prefixes": [
        "v6",
        "16/24"
    ]
}