diff options
| -rw-r--r-- | meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch | 109 | ||||
| -rw-r--r-- | meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend (renamed from meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend) | 0 |
2 files changed, 51 insertions, 58 deletions
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 @@ | |||
| 1 | From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 | 1 | From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001 |
| 2 | From: Denys Dmytriyenko <denys@konsulko.com> | 2 | From: Ryan Eatmon <reatmon@ti.com> |
| 3 | Date: Thu, 6 Jul 2023 01:48:41 +0000 | 3 | Date: Tue, 24 Mar 2026 10:52:59 -0500 |
| 4 | Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit | 4 | Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit |
| 5 | 5 | ||
| 6 | This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. | 6 | This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. |
| @@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX] | |||
| 13 | 13 | ||
| 14 | Signed-off-by: Andrew Davis <afd@ti.com> | 14 | Signed-off-by: Andrew Davis <afd@ti.com> |
| 15 | Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> | 15 | Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> |
| 16 | 16 | Signed-off-by: Ryan Eatmon <reatmon@ti.com> | |
| 17 | --- | 17 | --- |
| 18 | libweston/renderer-gl/gl-renderer-internal.h | 2 ++ | 18 | libweston/renderer-gl/gl-renderer-internal.h | 2 ++ |
| 19 | libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++---- | 19 | libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++---- |
| 20 | 2 files changed, 26 insertions(+), 5 deletions(-) | 20 | 2 files changed, 23 insertions(+), 5 deletions(-) |
| 21 | 21 | ||
| 22 | diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h | 22 | diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h |
| 23 | index 5032035..85616c9 100644 | 23 | index 1afffbda..dbf7b1c3 100644 |
| 24 | --- a/libweston/renderer-gl/gl-renderer-internal.h | 24 | --- a/libweston/renderer-gl/gl-renderer-internal.h |
| 25 | +++ b/libweston/renderer-gl/gl-renderer-internal.h | 25 | +++ b/libweston/renderer-gl/gl-renderer-internal.h |
| 26 | @@ -229,6 +229,8 @@ struct gl_renderer { | 26 | @@ -526,6 +526,8 @@ struct gl_renderer { |
| 27 | PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC create_platform_window; | 27 | struct weston_log_scope *shader_scope; |
| 28 | bool has_platform_base; | 28 | |
| 29 | 29 | struct dmabuf_allocator *allocator; | |
| 30 | + bool has_unpack_subimage; | ||
| 31 | + | 30 | + |
| 32 | PFNEGLBINDWAYLANDDISPLAYWL bind_display; | 31 | + bool has_unpack_subimage; |
| 33 | PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display; | 32 | }; |
| 34 | PFNEGLQUERYWAYLANDBUFFERWL query_buffer; | 33 | |
| 34 | static inline uint32_t | ||
| 35 | diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c | 35 | diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c |
| 36 | index e694418b..2be6d621 100644 | 36 | index 45a2a148..8b238208 100644 |
| 37 | --- a/libweston/renderer-gl/gl-renderer.c | 37 | --- a/libweston/renderer-gl/gl-renderer.c |
| 38 | +++ b/libweston/renderer-gl/gl-renderer.c | 38 | +++ b/libweston/renderer-gl/gl-renderer.c |
| 39 | @@ -2523,6 +2523,7 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode) | 39 | @@ -3021,6 +3021,22 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode) |
| 40 | struct weston_surface *surface = pnode->surface; | 40 | |
| 41 | const struct weston_testsuite_quirks *quirks = | 41 | data = wl_shm_buffer_get_data(buffer->shm_buffer); |
| 42 | &surface->compositor->test_data.test_quirks; | 42 | |
| 43 | + struct gl_renderer *gr = get_renderer(surface->compositor); | ||
| 44 | struct weston_buffer *buffer = surface->buffer_ref.buffer; | ||
| 45 | struct gl_surface_state *gs = get_surface_state(surface); | ||
| 46 | struct gl_buffer_state *gb = gs->buffer; | ||
| 47 | @@ -2550,6 +2551,24 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode) | ||
| 48 | |||
| 49 | data = wl_shm_buffer_get_data(buffer->shm_buffer); | ||
| 50 | |||
| 51 | + if (!gr->has_unpack_subimage) { | 43 | + if (!gr->has_unpack_subimage) { |
| 52 | + wl_shm_buffer_begin_access(buffer->shm_buffer); | 44 | + wl_shm_buffer_begin_access(buffer->shm_buffer); |
| 53 | + for (j = 0; j < gs->buffer->num_textures; j++) { | 45 | + for (j = 0; j < gb->num_textures; j++) { |
| 54 | + glBindTexture(GL_TEXTURE_2D, gs->buffer->textures[j]); | 46 | + glBindTexture(GL_TEXTURE_2D, gb->textures[j]); |
| 55 | + glTexImage2D(GL_TEXTURE_2D, 0, | 47 | + gl_texture_2d_store(gr, 0, 0, 0, |
| 56 | + gs->buffer->gl_format[j], | 48 | + gb->pitch / pixel_format_hsub(buffer->pixel_format, j), |
| 57 | + gs->buffer->pitch / pixel_format_hsub(buffer->pixel_format, j), | 49 | + buffer->height / pixel_format_vsub(buffer->pixel_format, j), |
| 58 | + buffer->height / pixel_format_vsub(buffer->pixel_format, j), | 50 | + gb->texture_format[j].external, |
| 59 | + 0, | 51 | + gb->texture_format[j].type, |
| 60 | + gl_format_from_internal(gs->buffer->gl_format[j]), | 52 | + data + gb->offset[j]); |
| 61 | + gs->buffer->gl_pixel_type, | ||
| 62 | + data + gs->buffer->offset[j]); | ||
| 63 | + } | 53 | + } |
| 64 | + wl_shm_buffer_end_access(buffer->shm_buffer); | 54 | + wl_shm_buffer_end_access(buffer->shm_buffer); |
| 65 | + | 55 | + |
| 66 | + goto done; | 56 | + goto done; |
| 67 | + } | 57 | + } |
| 68 | + | 58 | + |
| 69 | if (gb->needs_full_upload || quirks->gl_force_full_upload) { | 59 | if (gb->needs_full_upload || quirks->force_full_upload) { |
| 70 | wl_shm_buffer_begin_access(buffer->shm_buffer); | 60 | wl_shm_buffer_begin_access(buffer->shm_buffer); |
| 71 | 61 | ||
| 72 | @@ -4754,11 +4773,9 @@ gl_renderer_setup(struct weston_compositor *ec) | 62 | @@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec) |
| 73 | else | 63 | else |
| 74 | ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); | 64 | ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888); |
| 75 | 65 | ||
| 76 | - if (gr->gl_version < gr_gl_version(3, 0) && | 66 | - if (gr->gl_version < gl_version(3, 0) && |
| 77 | - !weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) { | 67 | - !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) { |
| 78 | - weston_log("GL_EXT_unpack_subimage not available.\n"); | 68 | - weston_log("GL_EXT_unpack_subimage not available.\n"); |
| 79 | - return -1; | 69 | - return -1; |
| 80 | - } | 70 | - } |
| 81 | + if (gr->gl_version >= gr_gl_version(3, 0) || | 71 | + if (gr->gl_version >= gl_version(3, 0) || |
| 82 | + weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) | 72 | + weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) |
| 83 | + gr->has_unpack_subimage = true; | 73 | + gr->has_unpack_subimage = true; |
| 84 | 74 | ||
| 85 | if (gr->gl_version >= gr_gl_version(3, 0) || | 75 | if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER)) |
| 86 | weston_check_egl_extension(extensions, "GL_EXT_texture_type_2_10_10_10_REV")) | 76 | GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES"); |
| 87 | @@ -4880,6 +4897,8 @@ gl_renderer_setup(struct weston_compositor *ec) | 77 | @@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec) |
| 88 | gr_gl_version_minor(gr->gl_version)); | 78 | gl_version_minor(gr->gl_version)); |
| 89 | weston_log_continue(STAMP_SPACE "read-back format: %s\n", | 79 | weston_log_continue(STAMP_SPACE "read-back format: %s\n", |
| 90 | ec->read_format->drm_format_name); | 80 | ec->read_format->drm_format_name); |
| 91 | + weston_log_continue(STAMP_SPACE "wl_shm sub-image to texture: %s\n", | 81 | + weston_log_continue(STAMP_SPACE "wl_shm sub-image to texture: %s\n", |
| 92 | + gr->has_unpack_subimage ? "yes" : "no"); | 82 | + gr->has_unpack_subimage ? "yes" : "no"); |
| 93 | weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", | 83 | weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n", |
| 94 | yesno(gr->has_pack_reverse)); | 84 | yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER))); |
| 95 | weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", | 85 | weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n", |
| 86 | -- | ||
| 87 | 2.43.0 | ||
| 88 | |||
diff --git a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend index cf4f530a..cf4f530a 100644 --- a/meta-ti-bsp/recipes-graphics/wayland/weston_14.0.%.bbappend +++ b/meta-ti-bsp/recipes-graphics/wayland/weston_%.bbappend | |||
