Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/18995/?format=api
{ "id": 18995, "url": "https://patchwork.libcamera.org/api/1.1/covers/18995/?format=api", "web_url": "https://patchwork.libcamera.org/cover/18995/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20230912-gralloc-api-v4-v2-0-e859da63f98c@baylibre.com>", "date": "2023-09-12T14:15:19", "name": "[libcamera-devel,v2,0/4] android: switch over to modern gralloc API via libui", "submitter": { "id": 153, "url": "https://patchwork.libcamera.org/api/1.1/people/153/?format=api", "name": "Mattijs Korpershoek", "email": "mkorpershoek@baylibre.com" }, "mbox": "https://patchwork.libcamera.org/cover/18995/mbox/", "series": [ { "id": 4018, "url": "https://patchwork.libcamera.org/api/1.1/series/4018/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4018", "date": "2023-09-12T14:15:19", "name": "android: switch over to modern gralloc API via libui", "version": 2, "mbox": "https://patchwork.libcamera.org/series/4018/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/18995/comments/", "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 3D7D0BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Sep 2023 14:15:29 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5FD2A628F2;\n\tTue, 12 Sep 2023 16:15:28 +0200 (CEST)", "from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com\n\t[IPv6:2a00:1450:4864:20::32c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E1A5A61DEF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Sep 2023 16:15:26 +0200 (CEST)", "by mail-wm1-x32c.google.com with SMTP id\n\t5b1f17b1804b1-401b3ea0656so60100425e9.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Sep 2023 07:15:26 -0700 (PDT)", "from [192.168.2.39] ([82.66.159.240])\n\tby smtp.gmail.com with ESMTPSA id\n\ty9-20020a7bcd89000000b003fed630f560sm12996380wmj.36.2023.09.12.07.15.25\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 12 Sep 2023 07:15:25 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1694528128;\n\tbh=WeDDjC9Ta/6i57FELiBQHaFTq+PKA0NeCkBz9KXq0FY=;\n\th=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=EnwkxWDO+e2mo6cpeqhXTwWRi1BRQNbZBhhnb9UUaS0UhTzYsI9MZqKohSmjXfL05\n\tClqNWU8tw6dkBbaBRvDzU3XTciYG1q6KApxRO8Fl37aMMlqi90Nr/RP7UVMNWQ91dn\n\tCsbQiuXANWBioVEZivvRS2fBLntRL/JJveA5nKoYSI0NcCguDo298IKrvjgXzB07Eq\n\tV/EWjsoIkIAAkxWJ4QRrDmidDGv/1MvVgSAHg54Bp2+OpD6OdmY5XKevRn/P8BqlCF\n\tWp1c7a51nKqV/5x3+YVk3rZoQdMwQNPdp3He4TBd+pC9TrWLrYrsjCYK60pM9Qkbie\n\tkN1tDm4dNJXuQ==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1694528126;\n\tx=1695132926; darn=lists.libcamera.org; \n\th=cc:to:content-transfer-encoding:mime-version:message-id:date\n\t:subject:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=dAc6/KPU3BKzQueorNnLN0aKP7EgvmuEuApqtgnAFvI=;\n\tb=13dUi/fyCKXx6lcOghm8T+IBhs7YrvJNdZw7vh0hTZ6JcjucvC4xvyMP3ZPtTzc/ca\n\tT1xKyjQfJYsBCHwsoUzA7mMi7adQibh6Z5amI2X/c0PF/VgPp05Xq0IZq1DmDad35Tsq\n\tI1MGdWo5rh+W/5fPwFd87Yxuy9oN5/ivhYVl+l+HQ1I5m5m2E6C7tYTHes4OqipUYgBh\n\t46e6Nwr2cOeZh0+HW0dweefjM/yVysYarQQjtilenKdgGNhMfrdFs2Qw5Oz8lFARV8s7\n\txMR2oWrLo7SD6ZNLlvCKK7QbtMvbTU36jdDaB2n5K3JO9ykOX6SknmlOgl+1ImST8aJF\n\tSc3w==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=baylibre-com.20230601.gappssmtp.com\n\theader.i=@baylibre-com.20230601.gappssmtp.com header.b=\"13dUi/fy\"; \n\tdkim-atps=neutral", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1694528126; x=1695132926;\n\th=cc:to:content-transfer-encoding:mime-version:message-id:date\n\t:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=dAc6/KPU3BKzQueorNnLN0aKP7EgvmuEuApqtgnAFvI=;\n\tb=S3eBoqX+mYNwBjRTLc/pyZBTF/vPQSg8nIPO/eK9inYwn1QXrFTpsGjXX6O2uQNTus\n\t5p/waaEc5qoDZJdu285rHnZxHnttfGrP5085IpmxpgT2te1xrs962CFPgx1kSsjk5Q7A\n\tYsNwK6Zx/eziFiDjXbob9FSH3dsVm/xVzeqIssqdr0SLEW9qqKWRNVNFsV+3o4POhuAn\n\tHfYqGuRGfoFjeq4O1enZhAncz+kUXJHJMKnph9NWb0gksfE9UgZ9LJ9fyIkQU9PhbfmG\n\tm4EdW8bH5UktIg9boBrBquIuGcTKQfmw6tZPrcMVj7XoCp9pPYRZ9Br2h8N0pUIShuBN\n\tZ7Aw==", "X-Gm-Message-State": "AOJu0YzQV5RAVZtba1IdWNGTU3Xt8J+FSO37OSrAVHCEVmJPMwi6jfyK\n\tX0CFwAbnfrLbS61Fvx5mz+PfzsyUpumwpFuioWw=", "X-Google-Smtp-Source": "AGHT+IGaDolJGzenuwsjKrh7j5fLetz6KyyrMi/rsmQCob02hsxlWqRJlZgkD8qNsaWF0VdNr5koNQ==", "X-Received": "by 2002:a05:600c:6028:b0:402:f55e:ac11 with SMTP id\n\taz40-20020a05600c602800b00402f55eac11mr10633928wmb.20.1694528126286; \n\tTue, 12 Sep 2023 07:15:26 -0700 (PDT)", "Date": "Tue, 12 Sep 2023 16:15:19 +0200", "Message-Id": "<20230912-gralloc-api-v4-v2-0-e859da63f98c@baylibre.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-B4-Tracking": "v=1; b=H4sIAHdyAGUC/12NywqDMBBFf6Vk3SkxCTbtqv9RXEziqAO+SCRUx\n\tH9vtLsuz70cziYiBaYonpdNBEoceRozqOtF+A7HloDrzEJJpaVVBtqAfT95wJkhGSCtrW1qXRp\n\tfiiw5jAQu4Oi7QxswLhSOYw7U8OcsvavMHcdlCusZTsWx/hqPQv03UgESZGOlkaq2dMeXw7VnF\n\t+jmp0FU+75/AZ4ATvjIAAAA", "To": "libcamera-devel@lists.libcamera.org", "X-Mailer": "b4 0.12.3", "Subject": "[libcamera-devel] [PATCH v2 0/4] android: switch over to modern\n\tgralloc API via libui", "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>", "From": "Mattijs Korpershoek via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "Mattijs Korpershoek <mkorpershoek@baylibre.com>", "Cc": "Guillaume La Roque <glaroque@baylibre.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "gralloc.h is a very old API that has been deprecated at least since\nAndroid P (9).\n\nDevices are encouraged to switch over to HIDL interface named\nandroid.hardware.graphics.allocator@<VERSION>, where <VERSION> can be\n2.0 ,3.0 or 4.0.\n\nThis is mandatory since Android Q (10) [1]\n\nFortunately, Android provides an abstraction on top of\nandroid.hardware.graphics.allocator which is compatible with each\nversion.\nThis abstraction is implemented in libui, which is available in the\nVNDK.\n\nImport all necessary headers from AOSP and switch over the\ngeneric_frame_buffer_allocator to use GraphicBufferAllocator.\n\nThis series has been build-tested on a linux host and functionally\ntested on an AM62x SK EVM with Android 13. (preview and capture).\n\n[1] https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/compatibility_matrices/compatibility_matrix.4.xml#195\n\nSigned-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>\n---\nChanges in v2:\n- Dropped additional ; in graphic_buffer_allocator_stub.cpp. (Kieran)\n- Surrounded problematic includes with #pragma to avoid clang compile\n errors related to -Wextra-semi. (Kieran)\n- Link to v1: https://lists.libcamera.org/pipermail/libcamera-devel/2023-September/038927.html\n\nTested on linux with:\nCC=clang CXX=clang++ meson setup build -Dandroid=enabled -Dandroid_platform=generic\nninja -C build\nAnd clang version clang++ (clang 16.0.6 \"clang version 16.0.6 (Fedora 16.0.6-2.fc38)\")\n\n---\nMattijs Korpershoek (4):\n android: Import libutils/libui headers from vndk v33\n android: Import GraphicBufferAllocator header from vndk v33\n android: Stub GraphicBufferAllocator for build tests\n android: mm: generic: Use GraphicBufferAllocator instead of gralloc.h\n\n .../libs/ui/include/ui/GraphicBufferAllocator.h | 81 ++++++++\n .../native/libs/ui/include/ui/PixelFormat.h | 75 +++++++\n include/android/meson.build | 2 +\n .../system/core/libutils/include/utils/Compat.h | 94 +++++++++\n .../system/core/libutils/include/utils/Errors.h | 78 ++++++++\n .../system/core/libutils/include/utils/Mutex.h | 219 +++++++++++++++++++++\n .../system/core/libutils/include/utils/Singleton.h | 102 ++++++++++\n .../system/core/libutils/include/utils/Timers.h | 103 ++++++++++\n src/android/mm/generic_frame_buffer_allocator.cpp | 61 ++----\n src/android/mm/graphic_buffer_allocator_stub.cpp | 53 +++++\n src/android/mm/libhardware_stub.c | 17 --\n src/android/mm/meson.build | 9 +-\n 12 files changed, 831 insertions(+), 63 deletions(-)\n---\nbase-commit: 58e501c71c47e57f02afde1bd296a037038cd6d5\nchange-id: 20230824-gralloc-api-v4-e3388fd364c6\n\nBest regards," }