All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Schultz <D.Schultz@phytec.de>
To: Andrew Davis <afd@ti.com>, Denys Dmytriyenko <denys@konsulko.com>,
	Ryan Eatmon <reatmon@ti.com>,
	"meta-ti@lists.yoctoproject.org" <meta-ti@lists.yoctoproject.org>
Subject: Re: [meta-ti][master][PATCH] recipes-graphics: Add weston fix for SGX from meta-arago
Date: Tue, 5 Aug 2025 22:32:14 +0000	[thread overview]
Message-ID: <fff6fa4e-7c86-4286-bc10-b19e51dbf5cb@phytec.de> (raw)
In-Reply-To: <3388f320-3f3c-42a4-a760-9388e3d85d98@ti.com>

On 8/5/25 08:20, Andrew Davis wrote:
> On 8/5/25 9:56 AM, Daniel Schultz wrote:
>> Hey,
>>
>> I would like to report following issue with this patch:
>>
>> | DEBUG: Executing shell function BUILDSPEC | error: line 4: Illegal 
>> char '-' (0x2d) in: Release: r0.ti-soc1 | Building target platforms: 
>> aarch64-phytec-linux | Building for target aarch64-phytec-linux | 
>> WARNING: exit code 1 from a shell command. | DEBUG: Python function 
>> do_package_rpm finished | DEBUG: Python function do_package_write_rpm 
>> finished
>>
>
> Thanks for the report, it seems that - is not allowed in RPM 
> version/distro
> tags. "ti-soc1" might be better as "ti_soc1", or maybe that will mess 
> with
> Debian..
>
> How about just "tisoc1", any objections?

tisoc1 sounds like safe solution. Especially if there are uncertainties 
about Debian.

- Daniel

>
> Andrew
>
>> Best regards,
>> Daniel
>>
>> On 7/31/25 11:16, Andrew Davis via lists.yoctoproject.org wrote:
>>> This change is needed due to the SGX driver, any distro, not just 
>>> Arago,
>>> using a TI SoC with SGX will need this fix, so it should go in meta-ti.
>>>
>>> Signed-off-by: Andrew Davis<afd@ti.com>
>>> ---
>>>   .../wayland/weston-ti-version.inc             |  7 ++
>>>   ...equire-GL_EXT_unpack_subimage-commit.patch | 95 
>>> +++++++++++++++++++
>>>   .../wayland/weston_14.0.%.bbappend            |  4 +
>>>   3 files changed, 106 insertions(+)
>>>   create mode 100644 
>>> meta-ti-bsp/recipes-graphics/wayland/weston-ti-version.inc
>>>   create mode 100644 
>>> meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch
>>>   create mode 100644 
>>> meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend
>>>
>>> diff --git 
>>> a/meta-ti-bsp/recipes-graphics/wayland/weston-ti-version.inc 
>>> b/meta-ti-bsp/recipes-graphics/wayland/weston-ti-version.inc
>>> new file mode 100644
>>> index 00000000..fafef724
>>> --- /dev/null
>>> +++ b/meta-ti-bsp/recipes-graphics/wayland/weston-ti-version.inc
>>> @@ -0,0 +1,7 @@
>>> +FILESEXTRAPATHS:prepend := "${THISDIR}/weston:"
>>> +
>>> +PR:append = ".ti-soc1"
>>> +
>>> +SRC_URI += " \
>>> +file://0001-Revert-require-GL_EXT_unpack_subimage-commit.patch \
>>> +"
>>> diff --git 
>>> a/meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch 
>>> b/meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch 
>>>
>>> new file mode 100644
>>> index 00000000..fbe8f2bb
>>> --- /dev/null
>>> +++ 
>>> b/meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch
>>> @@ -0,0 +1,95 @@
>>> +From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001
>>> +From: Denys Dmytriyenko<denys@konsulko.com>
>>> +Date: Thu, 6 Jul 2023 01:48:41 +0000
>>> +Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit
>>> +
>>> +This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d.
>>> +
>>> +That commit removed support for GPU drivers without 
>>> GL_EXT_unpack_subimage
>>> +which SGX does not support. Add back support for GPUs without this
>>> +extension.
>>> +
>>> +Upstream-Status: Inappropriate [specific to TI SGX]
>>> +
>>> +Signed-off-by: Andrew Davis<afd@ti.com>
>>> +Signed-off-by: Denys Dmytriyenko<denys@konsulko.com>
>>> +
>>> +---
>>> + libweston/renderer-gl/gl-renderer-internal.h |  2 ++
>>> + libweston/renderer-gl/gl-renderer.c          | 29 
>>> ++++++++++++++++----
>>> + 2 files changed, 26 insertions(+), 5 deletions(-)
>>> +
>>> +diff --git a/libweston/renderer-gl/gl-renderer-internal.h 
>>> b/libweston/renderer-gl/gl-renderer-internal.h
>>> +index 5032035..85616c9 100644
>>> +--- a/libweston/renderer-gl/gl-renderer-internal.h
>>> ++++ b/libweston/renderer-gl/gl-renderer-internal.h
>>> +@@ -229,6 +229,8 @@ struct gl_renderer {
>>> +    PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC create_platform_window;
>>> +    bool has_platform_base;
>>> +
>>> ++    bool has_unpack_subimage;
>>> ++
>>> +    PFNEGLBINDWAYLANDDISPLAYWL bind_display;
>>> +    PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display;
>>> +    PFNEGLQUERYWAYLANDBUFFERWL query_buffer;
>>> +diff --git a/libweston/renderer-gl/gl-renderer.c 
>>> b/libweston/renderer-gl/gl-renderer.c
>>> +index e694418b..2be6d621 100644
>>> +--- a/libweston/renderer-gl/gl-renderer.c
>>> ++++ b/libweston/renderer-gl/gl-renderer.c
>>> +@@ -2523,6 +2523,7 @@ gl_renderer_flush_damage(struct 
>>> weston_paint_node *pnode)
>>> +    struct weston_surface *surface = pnode->surface;
>>> +    const struct weston_testsuite_quirks *quirks =
>>> + &surface->compositor->test_data.test_quirks;
>>> ++    struct gl_renderer *gr = get_renderer(surface->compositor);
>>> +    struct weston_buffer *buffer = surface->buffer_ref.buffer;
>>> +    struct gl_surface_state *gs = get_surface_state(surface);
>>> +    struct gl_buffer_state *gb = gs->buffer;
>>> +@@ -2550,6 +2551,24 @@ gl_renderer_flush_damage(struct 
>>> weston_paint_node *pnode)
>>> +
>>> +    data = wl_shm_buffer_get_data(buffer->shm_buffer);
>>> +
>>> ++    if (!gr->has_unpack_subimage) {
>>> ++        wl_shm_buffer_begin_access(buffer->shm_buffer);
>>> ++        for (j = 0; j < gs->buffer->num_textures; j++) {
>>> ++            glBindTexture(GL_TEXTURE_2D, gs->buffer->textures[j]);
>>> ++            glTexImage2D(GL_TEXTURE_2D, 0,
>>> ++                     gs->buffer->gl_format[j],
>>> ++                     gs->buffer->pitch / 
>>> pixel_format_hsub(buffer->pixel_format, j),
>>> ++                     buffer->height / 
>>> pixel_format_vsub(buffer->pixel_format, j),
>>> ++                     0,
>>> ++ gl_format_from_internal(gs->buffer->gl_format[j]),
>>> ++                     gs->buffer->gl_pixel_type,
>>> ++                     data + gs->buffer->offset[j]);
>>> ++        }
>>> ++        wl_shm_buffer_end_access(buffer->shm_buffer);
>>> ++
>>> ++        goto done;
>>> ++    }
>>> ++
>>> +    if (gb->needs_full_upload || quirks->gl_force_full_upload) {
>>> +        wl_shm_buffer_begin_access(buffer->shm_buffer);
>>> +
>>> +@@ -4754,11 +4773,9 @@ gl_renderer_setup(struct weston_compositor *ec)
>>> +    else
>>> +        ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888);
>>> +
>>> +-    if (gr->gl_version < gr_gl_version(3, 0) &&
>>> +-        !weston_check_egl_extension(extensions, 
>>> "GL_EXT_unpack_subimage")) {
>>> +-        weston_log("GL_EXT_unpack_subimage not available.\n");
>>> +-        return -1;
>>> +-    }
>>> ++    if (gr->gl_version >= gr_gl_version(3, 0) ||
>>> ++        weston_check_egl_extension(extensions, 
>>> "GL_EXT_unpack_subimage"))
>>> ++        gr->has_unpack_subimage = true;
>>> +
>>> +    if (gr->gl_version >= gr_gl_version(3, 0) ||
>>> +        weston_check_egl_extension(extensions, 
>>> "GL_EXT_texture_type_2_10_10_10_REV"))
>>> +@@ -4880,6 +4897,8 @@ gl_renderer_setup(struct weston_compositor *ec)
>>> +           gr_gl_version_minor(gr->gl_version));
>>> +    weston_log_continue(STAMP_SPACE "read-back format: %s\n",
>>> +                ec->read_format->drm_format_name);
>>> ++    weston_log_continue(STAMP_SPACE "wl_shm sub-image to texture: 
>>> %s\n",
>>> ++                gr->has_unpack_subimage ? "yes" : "no");
>>> +    weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: 
>>> %s\n",
>>> +                yesno(gr->has_pack_reverse));
>>> +    weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n",
>>> diff --git 
>>> a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend 
>>> b/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend
>>> new file mode 100644
>>> index 00000000..cf4f530a
>>> --- /dev/null
>>> +++ b/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend
>>> @@ -0,0 +1,4 @@
>>> +WESTON_TI_VERSION = ""
>>> +WESTON_TI_VERSION:ti-soc = "${BPN}-ti-version.inc"
>>> +
>>> +require ${WESTON_TI_VERSION}
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online 
>>> (#18859):https://lists.yoctoproject.org/g/meta-ti/message/18859
>>> Mute This Topic:https://lists.yoctoproject.org/mt/114471414/4454627
>>> Group Owner:meta-ti+owner@lists.yoctoproject.org
>>> Unsubscribe:https://lists.yoctoproject.org/g/meta-ti/unsub 
>>> [d.schultz@phytec.de]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
>>
>


  reply	other threads:[~2025-08-05 22:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-31 18:16 [meta-ti][master][PATCH] recipes-graphics: Add weston fix for SGX from meta-arago Andrew Davis
2025-07-31 18:47 ` Denys Dmytriyenko
2025-08-05 14:56 ` Daniel Schultz
2025-08-05 15:20   ` Andrew Davis
2025-08-05 22:32     ` Daniel Schultz [this message]
2025-08-06 12:24       ` Ryan Eatmon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fff6fa4e-7c86-4286-bc10-b19e51dbf5cb@phytec.de \
    --to=d.schultz@phytec.de \
    --cc=afd@ti.com \
    --cc=denys@konsulko.com \
    --cc=meta-ti@lists.yoctoproject.org \
    --cc=reatmon@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.