I would strongly suggest that you get everything merged upstream first
before adding the patches to oe-core.

Even then, this should go to master first, as we do not want the situation
when honister has these fixes, but master does not.

Backport must be capitalized.

Alex

On Thu, 23 Sept 2021 at 17:17, Pablo Saavedra Rodi?o <psaave...@igalia.com>
wrote:

> freedreno,v3d: YUV formats are supported as external-only dmabuf
> modifiers.
>
> This patch fix red label issues on video for Raspberry 4-64 Mesa VC4
> driver and for iMX53 Adreno A200 GPU using the Mesa Freedreno driver
>
> Issue was originally reported in meta-webkit [1] and later contributed
> in Mesa [2]  where it was already merged in master.
>
> * Commits for VC4 [3] had been nominated for stable 21.1 and already in
>   21.2 (available in honister).
> * Commit for Freedreno [4] also reported (not merged yet).
>
> [1] https://github.com/Igalia/meta-webkit/issues/185
> [2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
> [3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10534
> [4] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12991
>
> Signed-off-by: Pablo Saavedra <psaave...@igalia.com>
> ---
>  ...rmats-are-supported-as-external-only.patch | 34 +++++++++++++++++
>  ...at-is_dmabuf_modifier_supported-are-.patch | 35 ++++++++++++++++++
>  ...at-query_dmabuf_modifiers-are-extern.patch | 34 +++++++++++++++++
>  ...OD_BROADCOM_SAND128-only-available-f.patch | 37 +++++++++++++++++++
>  meta/recipes-graphics/mesa/mesa.inc           |  4 ++
>  5 files changed, 144 insertions(+)
>  create mode 100644
> meta/recipes-graphics/mesa/files/0001-freedreno-YUV-formats-are-supported-as-external-only.patch
>  create mode 100644
> meta/recipes-graphics/mesa/files/0001-v3d-YUV-formats-at-is_dmabuf_modifier_supported-are-.patch
>  create mode 100644
> meta/recipes-graphics/mesa/files/0002-v3d-YUV-formats-at-query_dmabuf_modifiers-are-extern.patch
>  create mode 100644
> meta/recipes-graphics/mesa/files/0003-v3d-DRM_FORMAT_MOD_BROADCOM_SAND128-only-available-f.patch
>
> diff --git
> a/meta/recipes-graphics/mesa/files/0001-freedreno-YUV-formats-are-supported-as-external-only.patch
> b/meta/recipes-graphics/mesa/files/0001-freedreno-YUV-formats-are-supported-as-external-only.patch
> new file mode 100644
> index 0000000000..9688ac1619
> --- /dev/null
> +++
> b/meta/recipes-graphics/mesa/files/0001-freedreno-YUV-formats-are-supported-as-external-only.patch
> @@ -0,0 +1,34 @@
> +From e5b33a4b744a3114ff054ae577ac7802d9221490 Mon Sep 17 00:00:00 2001
> +From: Pablo Saavedra <psaave...@igalia.com>
> +Date: Thu, 23 Sep 2021 10:23:56 +0200
> +Subject: [PATCH] freedreno: YUV formats are supported as external-only
> dmabuf
> + modifiers
> +
> +Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
> +
> +Co-authored-by: Alberto Garcia <be...@igalia.com>
> +Co-authored-by: Jose Maria Casanova Crespo <jmcasan...@igalia.com>
> +Signed-off-by: Pablo Saavedra <psaave...@igalia.com>
> +
> +Upstream-Status: Pending [
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12991]
> +Signed-off-by: Pablo Saavedra <psaave...@igalia.com>
> +---
> + src/gallium/drivers/freedreno/freedreno_screen.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c
> b/src/gallium/drivers/freedreno/freedreno_screen.c
> +index a9cd0e2..dc2b79d 100644
> +--- a/src/gallium/drivers/freedreno/freedreno_screen.c
> ++++ b/src/gallium/drivers/freedreno/freedreno_screen.c
> +@@ -804,7 +804,7 @@ fd_screen_query_dmabuf_modifiers(struct pipe_screen
> *pscreen,
> +                       modifiers[num] = screen->supported_modifiers[i];
> +
> +               if (external_only)
> +-                      external_only[num] = 0;
> ++                      external_only[num] = util_format_is_yuv(format);
> +
> +               num++;
> +       }
> +--
> +2.30.2
> +
> diff --git
> a/meta/recipes-graphics/mesa/files/0001-v3d-YUV-formats-at-is_dmabuf_modifier_supported-are-.patch
> b/meta/recipes-graphics/mesa/files/0001-v3d-YUV-formats-at-is_dmabuf_modifier_supported-are-.patch
> new file mode 100644
> index 0000000000..9e90a07c8e
> --- /dev/null
> +++
> b/meta/recipes-graphics/mesa/files/0001-v3d-YUV-formats-at-is_dmabuf_modifier_supported-are-.patch
> @@ -0,0 +1,35 @@
> +From 389bffa0981bba60f9d081063c150fb17e497c4a Mon Sep 17 00:00:00 2001
> +From: Jose Maria Casanova Crespo <jmcasan...@igalia.com>
> +Date: Thu, 29 Apr 2021 18:15:27 +0200
> +Subject: [PATCH] v3d: YUV formats at is_dmabuf_modifier_supported are
> + external_only
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
> +"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"
> +
> +Fixes: 6ee10ab3de86 "gallium: Add
> pipe_screen::is_dmabuf_modifier_supported"
> +Reviewed-by: Alejandro Piñeiro <apinhe...@igalia.com>
> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
> >
> +
> +Upstream-status: backport [
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524]
> +Signed-off-by: pablo saavedra <psaave...@igalia.com>
> +---
> + src/gallium/drivers/v3d/v3d_screen.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/gallium/drivers/v3d/v3d_screen.c
> b/src/gallium/drivers/v3d/v3d_screen.c
> +index 4f69c20..a5c94db 100644
> +--- a/src/gallium/drivers/v3d/v3d_screen.c
> ++++ b/src/gallium/drivers/v3d/v3d_screen.c
> +@@ -670,7 +670,7 @@ v3d_screen_is_dmabuf_modifier_supported(struct
> pipe_screen *pscreen,
> +         for (i = 0; i < ARRAY_SIZE(v3d_available_modifiers); i++) {
> +                 if (v3d_available_modifiers[i] == modifier) {
> +                         if (external_only)
> +-                                *external_only = false;
> ++                                *external_only =
> util_format_is_yuv(format);
> +
> +                         return true;
> +                 }
> diff --git
> a/meta/recipes-graphics/mesa/files/0002-v3d-YUV-formats-at-query_dmabuf_modifiers-are-extern.patch
> b/meta/recipes-graphics/mesa/files/0002-v3d-YUV-formats-at-query_dmabuf_modifiers-are-extern.patch
> new file mode 100644
> index 0000000000..d1658f9a87
> --- /dev/null
> +++
> b/meta/recipes-graphics/mesa/files/0002-v3d-YUV-formats-at-query_dmabuf_modifiers-are-extern.patch
> @@ -0,0 +1,34 @@
> +From a5f74e140cce671dd9a04d3b3541cd3faf91916b Mon Sep 17 00:00:00 2001
> +From: Jose Maria Casanova Crespo <jmcasan...@igalia.com>
> +Date: Thu, 29 Apr 2021 18:37:25 +0200
> +Subject: [PATCH] v3d: YUV formats at query_dmabuf_modifiers are
> external_only
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
> +"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"
> +
> +Fixes: 95c4f0f91098 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
> +Reviewed-by: Alejandro Piñeiro <apinhe...@igalia.com>
> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
> >
> +
> +Upstream-status: backport [
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524]
> +Signed-off-by: pablo saavedra <psaave...@igalia.com>
> +---
> + src/gallium/drivers/v3d/v3d_screen.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/gallium/drivers/v3d/v3d_screen.c
> b/src/gallium/drivers/v3d/v3d_screen.c
> +index a5c94db..edde17d 100644
> +--- a/src/gallium/drivers/v3d/v3d_screen.c
> ++++ b/src/gallium/drivers/v3d/v3d_screen.c
> +@@ -655,7 +655,7 @@ v3d_screen_query_dmabuf_modifiers(struct pipe_screen
> *pscreen,
> +         for (i = 0; i < *count; i++) {
> +                 modifiers[i] = v3d_available_modifiers[i];
> +                 if (external_only)
> +-                        external_only[i] = false;
> ++                        external_only[i] = util_format_is_yuv(format);
> +        }
> + }
> +
> diff --git
> a/meta/recipes-graphics/mesa/files/0003-v3d-DRM_FORMAT_MOD_BROADCOM_SAND128-only-available-f.patch
> b/meta/recipes-graphics/mesa/files/0003-v3d-DRM_FORMAT_MOD_BROADCOM_SAND128-only-available-f.patch
> new file mode 100644
> index 0000000000..17a612ea7e
> --- /dev/null
> +++
> b/meta/recipes-graphics/mesa/files/0003-v3d-DRM_FORMAT_MOD_BROADCOM_SAND128-only-available-f.patch
> @@ -0,0 +1,37 @@
> +From cd2dce0257608fde2b9dd21429d1d7356e37abe1 Mon Sep 17 00:00:00 2001
> +From: Jose Maria Casanova Crespo <jmcasan...@igalia.com>
> +Date: Thu, 29 Apr 2021 18:47:53 +0200
> +Subject: [PATCH] v3d: DRM_FORMAT_MOD_BROADCOM_SAND128 only available for
> NV12
> + format.
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +We were exposing as available DRM_FORMAT_MOD_BROADCOM_SAND128 for
> +any format.
> +
> +Fixes: 95c4f0f91098 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
> +Reviewed-by: Alejandro Piñeiro <apinhe...@igalia.com>
> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
> >
> +
> +Upstream-status: backport [
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524]
> +Signed-off-by: pablo saavedra <psaave...@igalia.com>
> +---
> + src/gallium/drivers/v3d/v3d_screen.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/src/gallium/drivers/v3d/v3d_screen.c
> b/src/gallium/drivers/v3d/v3d_screen.c
> +index edde17d..684f912 100644
> +--- a/src/gallium/drivers/v3d/v3d_screen.c
> ++++ b/src/gallium/drivers/v3d/v3d_screen.c
> +@@ -646,6 +646,10 @@ v3d_screen_query_dmabuf_modifiers(struct pipe_screen
> *pscreen,
> +         int i;
> +         int num_modifiers = ARRAY_SIZE(v3d_available_modifiers);
> +
> ++        /* Expose DRM_FORMAT_MOD_BROADCOM_SAND128 only for
> PIPE_FORMAT_NV12 */
> ++        if (format != PIPE_FORMAT_NV12)
> ++                num_modifiers--;
> ++
> +         if (!modifiers) {
> +                 *count = num_modifiers;
> +                 return;
> diff --git a/meta/recipes-graphics/mesa/mesa.inc
> b/meta/recipes-graphics/mesa/mesa.inc
> index a85f94c75e..8d8871aa5d 100644
> --- a/meta/recipes-graphics/mesa/mesa.inc
> +++ b/meta/recipes-graphics/mesa/mesa.inc
> @@ -19,6 +19,10 @@ SRC_URI = "
> https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
>             file://0002-meson.build-make-TLS-ELF-optional.patch \
>             file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
> \
>
> file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
> +
>  file://0001-v3d-YUV-formats-at-is_dmabuf_modifier_supported-are-.patch \
> +
>  file://0002-v3d-YUV-formats-at-query_dmabuf_modifiers-are-extern.patch \
> +
>  file://0003-v3d-DRM_FORMAT_MOD_BROADCOM_SAND128-only-available-f.patch \
> +
>  file://0001-freedreno-YUV-formats-are-supported-as-external-only.patch \
>             "
>
>  SRC_URI[sha256sum] =
> "565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b"
> --
> 2.30.2
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156269): 
https://lists.openembedded.org/g/openembedded-core/message/156269
Mute This Topic: https://lists.openembedded.org/mt/85816353/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to