All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ryan Eatmon <reatmon@ti.com>
To: Andrew Davis <afd@ti.com>, Denys Dmytriyenko <denys@konsulko.com>,
	<meta-ti@lists.yoctoproject.org>
Subject: Re: [meta-ti][scarthgap/master][PATCH] recipes-graphics: Add weston fix for SGX from meta-arago
Date: Mon, 28 Jul 2025 14:55:26 -0500	[thread overview]
Message-ID: <a1e2d959-73c0-4fc6-b6b1-9151cc7ce8fa@ti.com> (raw)
In-Reply-To: <e6253965-dba1-4147-9075-69fc1b97689a@ti.com>



On 7/28/2025 2:46 PM, Andrew Davis wrote:
> On 7/28/25 2:35 PM, Ryan Eatmon wrote:
>>
>> As with the patch from meta-arago... NAK.
>>
>> weston has moved to 14.0 in master.
>>
>> Please submit the proper patch for master on both meta-arago and meta-ti.
>>
>>
> 
> Just noticed that, I'll send a version for master. This version (and the
> one for meta-arago) does apply on scarthgap if you want to just take this
> as the scarthgap-only version.

That was my plan.


> Andrew
> 
>>
>>
>> On 7/28/2025 12:33 PM, Andrew Davis 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_13.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_13.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..ad252030
>>> --- /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
>>> +@@ -160,6 +160,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 ccb41e6..38a0e0c 100644
>>> +--- a/libweston/renderer-gl/gl-renderer.c
>>> ++++ b/libweston/renderer-gl/gl-renderer.c
>>> +@@ -2106,6 +2106,7 @@ gl_renderer_flush_damage(struct weston_surface 
>>> *surface,
>>> + {
>>> +    const struct weston_testsuite_quirks *quirks =
>>> +        &surface->compositor->test_data.test_quirks;
>>> ++    struct gl_renderer *gr = get_renderer(surface->compositor);
>>> +    struct gl_surface_state *gs = get_surface_state(surface);
>>> +    struct gl_buffer_state *gb = gs->buffer;
>>> +    struct weston_paint_node *pnode;
>>> +@@ -2152,6 +2153,24 @@ gl_renderer_flush_damage(struct 
>>> weston_surface *surface,
>>> +
>>> +    glActiveTexture(GL_TEXTURE0);
>>> +
>>> ++    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) {
>>> +        glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0);
>>> +        glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0);
>>> +@@ -4169,11 +4188,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"))
>>> +@@ -4268,6 +4285,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 "wl_shm 10 bpc formats: %s\n",
>>> diff --git 
>>> a/meta-ti-bsp/recipes-graphics/wayland/weston_13.0.%.bbappend 
>>> b/meta-ti-bsp/recipes-graphics/wayland/weston_13.0.%.bbappend
>>> new file mode 100644
>>> index 00000000..cf4f530a
>>> --- /dev/null
>>> +++ b/meta-ti-bsp/recipes-graphics/wayland/weston_13.0.%.bbappend
>>> @@ -0,0 +1,4 @@
>>> +WESTON_TI_VERSION = ""
>>> +WESTON_TI_VERSION:ti-soc = "${BPN}-ti-version.inc"
>>> +
>>> +require ${WESTON_TI_VERSION}
>>
> 

-- 
Ryan Eatmon                reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS


      reply	other threads:[~2025-07-28 19:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-28 17:33 [meta-ti][scarthgap/master][PATCH] recipes-graphics: Add weston fix for SGX from meta-arago Andrew Davis
2025-07-28 19:32 ` Denys Dmytriyenko
2025-07-28 19:36   ` Denys Dmytriyenko
2025-07-28 19:35 ` Ryan Eatmon
2025-07-28 19:46   ` Andrew Davis
2025-07-28 19:55     ` Ryan Eatmon [this message]

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=a1e2d959-73c0-4fc6-b6b1-9151cc7ce8fa@ti.com \
    --to=reatmon@ti.com \
    --cc=afd@ti.com \
    --cc=denys@konsulko.com \
    --cc=meta-ti@lists.yoctoproject.org \
    /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.