summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-ti-bsp/recipes-graphics/wayland/weston/0001-Revert-require-GL_EXT_unpack_subimage-commit.patch109
-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 @@
1From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001 1From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@konsulko.com> 2From: Ryan Eatmon <reatmon@ti.com>
3Date: Thu, 6 Jul 2023 01:48:41 +0000 3Date: Tue, 24 Mar 2026 10:52:59 -0500
4Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit 4Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit
5 5
6This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d. 6This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d.
@@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX]
13 13
14Signed-off-by: Andrew Davis <afd@ti.com> 14Signed-off-by: Andrew Davis <afd@ti.com>
15Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> 15Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
16 16Signed-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
22diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h 22diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h
23index 5032035..85616c9 100644 23index 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
35diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c 35diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
36index e694418b..2be6d621 100644 36index 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--
872.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