| Message ID | 20260324162004.3215160-1-reatmon@ti.com |
|---|---|
| State | New |
| Headers | show |
| Series | [meta-ti,master] weston: Update to 15.0.0 | expand |
meta-ti / na / 20260324162004.3215160-1-reatmon PRC Results: PASS ========================================================= check-yocto-patches: PASS ========================================================= Patches ---------------------------------------- All patches passed ========================================================= apply-yocto-patch: PASS ========================================================= master ===================== Summary: - Patch Series: [meta-ti][master][PATCH] weston: Update to 15.0.0 - Submitter: From: Ryan Eatmon <reatmon@ti.com> -From: Denys Dmytriyenko <denys@konsulko.com> +From: Ryan Eatmon <reatmon@ti.com> - Date: Date: Tue, 24 Mar 2026 11:20:04 -0500 -Date: Thu, 6 Jul 2023 01:48:41 +0000 +Date: Tue, 24 Mar 2026 10:52:59 -0500 - Num Patches: 1 - Mailing List (public inbox) Commit SHA: e5685196a6ed6b6fd5001069a13fc708f28a813c Applied to: - Repository: lcpd-prc-meta-ti - Base Branch: master-next - Commit Author: LCPD Automation Script <lcpdbld@list.ti.com> - Commit Subject: CI/CD Auto-Merger: cicd.master.202603240400 - Commit SHA: eebc625a4404f1fa628174d558d296abe1cf382a Patches ---------------------------------------- All patches applied ========================================================= check-yocto-repo: PASS ========================================================= master ===================== PASS ========================================================= yocto-check-layers: PASS ========================================================= master - PASS ===================== All checks passed
On Tue, Mar 24, 2026 at 11:20:04AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: > oe-core has bumped the version to 15.0.0 [1]. > We need to adjust the bbappend version to % to better match future version > changes. You shouldn't be doing this rename. > Additionally, the patch needs to be updated to match the weston code > changes. The bbappend is version-specific on purpose exactly due to the fact that the patch won't apply against different versions - it has to be massaged every time there's a major version bump, we've done it many times before. > [1] https://git.openembedded.org/openembedded-core/commit/?id=a1ed6fddd99171536e23d63a5d5b180019d672ad > > Signed-off-by: Ryan Eatmon <reatmon@ti.com> > --- > ...equire-GL_EXT_unpack_subimage-commit.patch | 109 ++++++++---------- > ...ston_14.0.%.bbappend => weston_%.bbappend} | 0 > 2 files changed, 51 insertions(+), 58 deletions(-) > rename meta-ti-bsp/recipes-graphics/wayland/{weston_14.0.%.bbappend => weston_%.bbappend} (100%) > > 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 > index fbe8f2bb..4b3b4a1f 100644 > --- 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 > @@ -1,6 +1,6 @@ > -From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 > -From: Denys Dmytriyenko <denys@konsulko.com> > -Date: Thu, 6 Jul 2023 01:48:41 +0000 > +From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 > +From: Ryan Eatmon <reatmon@ti.com> > +Date: Tue, 24 Mar 2026 10:52:59 -0500 > Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit > > This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. > @@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX] > > Signed-off-by: Andrew Davis <afd@ti.com> > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > - > +Signed-off-by: Ryan Eatmon <reatmon@ti.com> > --- > libweston/renderer-gl/gl-renderer-internal.h | 2 ++ > - libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++---- > - 2 files changed, 26 insertions(+), 5 deletions(-) > + libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++---- > + 2 files changed, 23 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 > +index 1afffbda..dbf7b1c3 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; > +@@ -526,6 +526,8 @@ struct gl_renderer { > + struct weston_log_scope *shader_scope; > + > + struct dmabuf_allocator *allocator; > + > - PFNEGLBINDWAYLANDDISPLAYWL bind_display; > - PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display; > - PFNEGLQUERYWAYLANDBUFFERWL query_buffer; > ++ bool has_unpack_subimage; > + }; > + > + static inline uint32_t > diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c > -index e694418b..2be6d621 100644 > +index 45a2a148..8b238208 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); > - > +@@ -3021,6 +3021,22 @@ 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]); > ++ for (j = 0; j < gb->num_textures; j++) { > ++ glBindTexture(GL_TEXTURE_2D, gb->textures[j]); > ++ gl_texture_2d_store(gr, 0, 0, 0, > ++ gb->pitch / pixel_format_hsub(buffer->pixel_format, j), > ++ buffer->height / pixel_format_vsub(buffer->pixel_format, j), > ++ gb->texture_format[j].external, > ++ gb->texture_format[j].type, > ++ data + gb->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")) { > + if (gb->needs_full_upload || quirks->force_full_upload) { > + wl_shm_buffer_begin_access(buffer->shm_buffer); > + > +@@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec) > + else > + ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); > + > +- if (gr->gl_version < gl_version(3, 0) && > +- !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) { > - weston_log("GL_EXT_unpack_subimage not available.\n"); > - return -1; > - } > -+ if (gr->gl_version >= gr_gl_version(3, 0) || > ++ if (gr->gl_version >= 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); > + > + if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER)) > + GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES"); > +@@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec) > + 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", > + weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", > + yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER))); > + weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", > +-- > +2.43.0 > + > diff --git a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend > similarity index 100% > rename from meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend > rename to meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend > -- > 2.43.0
On 3/24/2026 11:44 AM, Denys Dmytriyenko wrote: > On Tue, Mar 24, 2026 at 11:20:04AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: >> oe-core has bumped the version to 15.0.0 [1]. > > >> We need to adjust the bbappend version to % to better match future version >> changes. > > You shouldn't be doing this rename. > > >> Additionally, the patch needs to be updated to match the weston code >> changes. > > The bbappend is version-specific on purpose exactly due to the fact that the > patch won't apply against different versions - it has to be massaged every > time there's a major version bump, we've done it many times before. But... if the patch won't apply then the build will fail. But it fails in a manner that is more obvious then just an upfront error about the bbappend not applying to a recipe. Either way, with the new bbappend logic they put in, the build will not go through. So what does it really matter if the bbappend if version specific or not? > >> [1] https://git.openembedded.org/openembedded-core/commit/?id=a1ed6fddd99171536e23d63a5d5b180019d672ad >> >> Signed-off-by: Ryan Eatmon <reatmon@ti.com> >> --- >> ...equire-GL_EXT_unpack_subimage-commit.patch | 109 ++++++++---------- >> ...ston_14.0.%.bbappend => weston_%.bbappend} | 0 >> 2 files changed, 51 insertions(+), 58 deletions(-) >> rename meta-ti-bsp/recipes-graphics/wayland/{weston_14.0.%.bbappend => weston_%.bbappend} (100%) >> >> 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 >> index fbe8f2bb..4b3b4a1f 100644 >> --- 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 >> @@ -1,6 +1,6 @@ >> -From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 >> -From: Denys Dmytriyenko <denys@konsulko.com> >> -Date: Thu, 6 Jul 2023 01:48:41 +0000 >> +From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 >> +From: Ryan Eatmon <reatmon@ti.com> >> +Date: Tue, 24 Mar 2026 10:52:59 -0500 >> Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit >> >> This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. >> @@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX] >> >> Signed-off-by: Andrew Davis <afd@ti.com> >> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> >> - >> +Signed-off-by: Ryan Eatmon <reatmon@ti.com> >> --- >> libweston/renderer-gl/gl-renderer-internal.h | 2 ++ >> - libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++---- >> - 2 files changed, 26 insertions(+), 5 deletions(-) >> + libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++---- >> + 2 files changed, 23 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 >> +index 1afffbda..dbf7b1c3 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; >> +@@ -526,6 +526,8 @@ struct gl_renderer { >> + struct weston_log_scope *shader_scope; >> + >> + struct dmabuf_allocator *allocator; >> + >> - PFNEGLBINDWAYLANDDISPLAYWL bind_display; >> - PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display; >> - PFNEGLQUERYWAYLANDBUFFERWL query_buffer; >> ++ bool has_unpack_subimage; >> + }; >> + >> + static inline uint32_t >> diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c >> -index e694418b..2be6d621 100644 >> +index 45a2a148..8b238208 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); >> - >> +@@ -3021,6 +3021,22 @@ 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]); >> ++ for (j = 0; j < gb->num_textures; j++) { >> ++ glBindTexture(GL_TEXTURE_2D, gb->textures[j]); >> ++ gl_texture_2d_store(gr, 0, 0, 0, >> ++ gb->pitch / pixel_format_hsub(buffer->pixel_format, j), >> ++ buffer->height / pixel_format_vsub(buffer->pixel_format, j), >> ++ gb->texture_format[j].external, >> ++ gb->texture_format[j].type, >> ++ data + gb->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")) { >> + if (gb->needs_full_upload || quirks->force_full_upload) { >> + wl_shm_buffer_begin_access(buffer->shm_buffer); >> + >> +@@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec) >> + else >> + ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); >> + >> +- if (gr->gl_version < gl_version(3, 0) && >> +- !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) { >> - weston_log("GL_EXT_unpack_subimage not available.\n"); >> - return -1; >> - } >> -+ if (gr->gl_version >= gr_gl_version(3, 0) || >> ++ if (gr->gl_version >= 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); >> + >> + if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER)) >> + GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES"); >> +@@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec) >> + 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", >> + weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", >> + yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER))); >> + weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", >> +-- >> +2.43.0 >> + >> diff --git a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend >> similarity index 100% >> rename from meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend >> rename to meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend >> -- >> 2.43.0
On Tue, Mar 24, 2026 at 01:18:32PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: > > > On 3/24/2026 11:44 AM, Denys Dmytriyenko wrote: > >On Tue, Mar 24, 2026 at 11:20:04AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: > >>oe-core has bumped the version to 15.0.0 [1]. > > > > > >>We need to adjust the bbappend version to % to better match future version > >>changes. > > > >You shouldn't be doing this rename. > > > > > >>Additionally, the patch needs to be updated to match the weston code > >>changes. > > > >The bbappend is version-specific on purpose exactly due to the fact that the > >patch won't apply against different versions - it has to be massaged every > >time there's a major version bump, we've done it many times before. > > But... if the patch won't apply then the build will fail. But it > fails in a manner that is more obvious then just an upfront error > about the bbappend not applying to a recipe. > > Either way, with the new bbappend logic they put in, the build will > not go through. So what does it really matter if the bbappend if > version specific or not? Yes, the build will fail in both cases now. I guess from my perspective, getting a patch failing to apply all of a sudden is less clear indication that a major version update just happened upstream. Versus an error message saying no recipe is available for this versioned bbappend. Moreover, do_patch() error happens much further down the build process, vs. a dangling bbappend error comes very early during parsing... On the other hand, with your way, if the patch happens to apply cleanly to the next major version, no intervention will be required. So, pros and cons for both ways - I'll be fine with either... > >>[1] https://git.openembedded.org/openembedded-core/commit/?id=a1ed6fddd99171536e23d63a5d5b180019d672ad > >> > >>Signed-off-by: Ryan Eatmon <reatmon@ti.com> > >>--- > >> ...equire-GL_EXT_unpack_subimage-commit.patch | 109 ++++++++---------- > >> ...ston_14.0.%.bbappend => weston_%.bbappend} | 0 > >> 2 files changed, 51 insertions(+), 58 deletions(-) > >> rename meta-ti-bsp/recipes-graphics/wayland/{weston_14.0.%.bbappend => weston_%.bbappend} (100%) > >> > >>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 > >>index fbe8f2bb..4b3b4a1f 100644 > >>--- 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 > >>@@ -1,6 +1,6 @@ > >>-From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 > >>-From: Denys Dmytriyenko <denys@konsulko.com> > >>-Date: Thu, 6 Jul 2023 01:48:41 +0000 > >>+From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 > >>+From: Ryan Eatmon <reatmon@ti.com> > >>+Date: Tue, 24 Mar 2026 10:52:59 -0500 > >> Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit > >> This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. > >>@@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX] > >> Signed-off-by: Andrew Davis <afd@ti.com> > >> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > >>- > >>+Signed-off-by: Ryan Eatmon <reatmon@ti.com> > >> --- > >> libweston/renderer-gl/gl-renderer-internal.h | 2 ++ > >>- libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++---- > >>- 2 files changed, 26 insertions(+), 5 deletions(-) > >>+ libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++---- > >>+ 2 files changed, 23 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 > >>+index 1afffbda..dbf7b1c3 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; > >>+@@ -526,6 +526,8 @@ struct gl_renderer { > >>+ struct weston_log_scope *shader_scope; > >>+ > >>+ struct dmabuf_allocator *allocator; > >> + > >>- PFNEGLBINDWAYLANDDISPLAYWL bind_display; > >>- PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display; > >>- PFNEGLQUERYWAYLANDBUFFERWL query_buffer; > >>++ bool has_unpack_subimage; > >>+ }; > >>+ > >>+ static inline uint32_t > >> diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c > >>-index e694418b..2be6d621 100644 > >>+index 45a2a148..8b238208 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); > >>- > >>+@@ -3021,6 +3021,22 @@ 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]); > >>++ for (j = 0; j < gb->num_textures; j++) { > >>++ glBindTexture(GL_TEXTURE_2D, gb->textures[j]); > >>++ gl_texture_2d_store(gr, 0, 0, 0, > >>++ gb->pitch / pixel_format_hsub(buffer->pixel_format, j), > >>++ buffer->height / pixel_format_vsub(buffer->pixel_format, j), > >>++ gb->texture_format[j].external, > >>++ gb->texture_format[j].type, > >>++ data + gb->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")) { > >>+ if (gb->needs_full_upload || quirks->force_full_upload) { > >>+ wl_shm_buffer_begin_access(buffer->shm_buffer); > >>+ > >>+@@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec) > >>+ else > >>+ ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); > >>+ > >>+- if (gr->gl_version < gl_version(3, 0) && > >>+- !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) { > >> - weston_log("GL_EXT_unpack_subimage not available.\n"); > >> - return -1; > >> - } > >>-+ if (gr->gl_version >= gr_gl_version(3, 0) || > >>++ if (gr->gl_version >= 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); > >>+ > >>+ if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER)) > >>+ GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES"); > >>+@@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec) > >>+ 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", > >>+ weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", > >>+ yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER))); > >>+ weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", > >>+-- > >>+2.43.0 > >>+ > >>diff --git a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend > >>similarity index 100% > >>rename from meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend > >>rename to meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend > >>-- > >>2.43.0
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 index fbe8f2bb..4b3b4a1f 100644 --- 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 @@ -1,6 +1,6 @@ -From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 -From: Denys Dmytriyenko <denys@konsulko.com> -Date: Thu, 6 Jul 2023 01:48:41 +0000 +From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 +From: Ryan Eatmon <reatmon@ti.com> +Date: Tue, 24 Mar 2026 10:52:59 -0500 Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. @@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX] Signed-off-by: Andrew Davis <afd@ti.com> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> - +Signed-off-by: Ryan Eatmon <reatmon@ti.com> --- libweston/renderer-gl/gl-renderer-internal.h | 2 ++ - libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++---- - 2 files changed, 26 insertions(+), 5 deletions(-) + libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++---- + 2 files changed, 23 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 +index 1afffbda..dbf7b1c3 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; +@@ -526,6 +526,8 @@ struct gl_renderer { + struct weston_log_scope *shader_scope; + + struct dmabuf_allocator *allocator; + - PFNEGLBINDWAYLANDDISPLAYWL bind_display; - PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display; - PFNEGLQUERYWAYLANDBUFFERWL query_buffer; ++ bool has_unpack_subimage; + }; + + static inline uint32_t diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c -index e694418b..2be6d621 100644 +index 45a2a148..8b238208 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); - +@@ -3021,6 +3021,22 @@ 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]); ++ for (j = 0; j < gb->num_textures; j++) { ++ glBindTexture(GL_TEXTURE_2D, gb->textures[j]); ++ gl_texture_2d_store(gr, 0, 0, 0, ++ gb->pitch / pixel_format_hsub(buffer->pixel_format, j), ++ buffer->height / pixel_format_vsub(buffer->pixel_format, j), ++ gb->texture_format[j].external, ++ gb->texture_format[j].type, ++ data + gb->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")) { + if (gb->needs_full_upload || quirks->force_full_upload) { + wl_shm_buffer_begin_access(buffer->shm_buffer); + +@@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec) + else + ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); + +- if (gr->gl_version < gl_version(3, 0) && +- !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) { - weston_log("GL_EXT_unpack_subimage not available.\n"); - return -1; - } -+ if (gr->gl_version >= gr_gl_version(3, 0) || ++ if (gr->gl_version >= 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); + + if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER)) + GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES"); +@@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec) + 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", + weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", + yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER))); + weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", +-- +2.43.0 + diff --git a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend similarity index 100% rename from meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend rename to meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend
oe-core has bumped the version to 15.0.0 [1]. We need to adjust the bbappend version to % to better match future version changes. Additionally, the patch needs to be updated to match the weston code changes. [1] https://git.openembedded.org/openembedded-core/commit/?id=a1ed6fddd99171536e23d63a5d5b180019d672ad Signed-off-by: Ryan Eatmon <reatmon@ti.com> --- ...equire-GL_EXT_unpack_subimage-commit.patch | 109 ++++++++---------- ...ston_14.0.%.bbappend => weston_%.bbappend} | 0 2 files changed, 51 insertions(+), 58 deletions(-) rename meta-ti-bsp/recipes-graphics/wayland/{weston_14.0.%.bbappend => weston_%.bbappend} (100%)