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 -Date: Thu, 6 Jul 2023 01:48:41 +0000 +From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 +From: Ryan Eatmon +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 Signed-off-by: Denys Dmytriyenko - +Signed-off-by: Ryan Eatmon --- 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