diff options
author | Erik Kurzinger | 2020-09-28 07:34:59 -0700 |
---|---|---|
committer | Erik Kurzinger | 2020-09-28 07:34:59 -0700 |
commit | b65492a27ccc509b1b7ca277e22839dafd40b402 (patch) | |
tree | dfc183bd007ffc6df6a8192d1641a7a2b888740d /0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch | |
parent | 7bf23c83fd36017c7a8870baedd5a5ca1d422c38 (diff) | |
download | aur-weston-eglstream.tar.gz |
Update to Weston 9.0.0
Diffstat (limited to '0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch')
-rw-r--r-- | 0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch b/0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch index 7d70902ca7c6..5f02a285a2c1 100644 --- a/0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch +++ b/0003-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch @@ -1,4 +1,4 @@ -From ac135245b43c99dfbad084b52393da9d5ba76f2a Mon Sep 17 00:00:00 2001 +From a7fc52ddd8d7f6c212caeb29dc1df5b4b8b74bd3 Mon Sep 17 00:00:00 2001 From: "Miguel A. Vico" <mvicomoya@nvidia.com> Date: Thu, 29 Mar 2018 00:15:49 -0700 Subject: [PATCH 3/6] gl-renderer: Add EGL client support for EGLStream frame @@ -27,17 +27,17 @@ Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com> Reviewed-by: Adam Cheney <acheney@nvidia.com> Reviewed-by: James Jones <jajones@nvidia.com> --- - libweston/renderer-gl/egl-glue.c | 11 ++ + libweston/renderer-gl/egl-glue.c | 5 + libweston/renderer-gl/gl-renderer-internal.h | 6 + libweston/renderer-gl/gl-renderer.c | 167 +++++++++++++++++++ shared/weston-egl-ext.h | 5 + - 4 files changed, 189 insertions(+) + 4 files changed, 183 insertions(+) diff --git a/libweston/renderer-gl/egl-glue.c b/libweston/renderer-gl/egl-glue.c -index 24d647b8..90575d29 100644 +index 60cebd8f..abe10b46 100644 --- a/libweston/renderer-gl/egl-glue.c +++ b/libweston/renderer-gl/egl-glue.c -@@ -509,14 +509,19 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) +@@ -607,14 +607,19 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) (void *) eglGetProcAddress("eglQueryOutputLayerAttribEXT"); gr->create_stream = (void *) eglGetProcAddress("eglCreateStreamKHR"); gr->destroy_stream = (void *) eglGetProcAddress("eglDestroyStreamKHR"); @@ -57,24 +57,11 @@ index 24d647b8..90575d29 100644 extensions = (const char *) eglQueryString(gr->egl_display, EGL_EXTENSIONS); -@@ -630,6 +635,12 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) - if (weston_check_egl_extension(extensions, "EGL_EXT_stream_acquire_mode")) - gr->has_egl_stream_acquire_mode = true; - -+ if (weston_check_egl_extension(extensions, "EGL_KHR_stream_consumer_gltexture")) -+ gr->has_egl_stream_consumer_gltexture = true; -+ -+ if (weston_check_egl_extension(extensions, "EGL_WL_wayland_eglstream")) -+ gr->has_egl_wayland_eglstream = true; -+ - renderer_setup_egl_client_extensions(gr); - - return 0; diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h -index b7c374a2..0827500e 100644 +index e122f64a..5b0bd4b5 100644 --- a/libweston/renderer-gl/gl-renderer-internal.h +++ b/libweston/renderer-gl/gl-renderer-internal.h -@@ -95,6 +95,7 @@ struct gl_renderer { +@@ -99,6 +99,7 @@ struct gl_renderer { PFNEGLCREATESTREAMKHRPROC create_stream; PFNEGLDESTROYSTREAMKHRPROC destroy_stream; @@ -82,7 +69,7 @@ index b7c374a2..0827500e 100644 bool has_egl_stream; PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC create_stream_producer_surface; -@@ -104,11 +105,16 @@ struct gl_renderer { +@@ -108,11 +109,16 @@ struct gl_renderer { bool has_egl_stream_consumer_egloutput; #ifdef EGL_NV_stream_attrib @@ -100,10 +87,10 @@ index b7c374a2..0827500e 100644 struct gl_shader texture_shader_rgba; diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c -index fe4f1087..1b6a219b 100644 +index 6fc469ba..f834a7cb 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c -@@ -187,6 +187,9 @@ struct gl_surface_state { +@@ -196,6 +196,9 @@ struct gl_surface_state { int hsub[3]; /* horizontal subsampling per plane */ int vsub[3]; /* vertical subsampling per plane */ @@ -113,7 +100,7 @@ index fe4f1087..1b6a219b 100644 struct weston_surface *surface; /* Whether this surface was used in the current output repaint. -@@ -2544,6 +2547,145 @@ gl_renderer_attach_dmabuf(struct weston_surface *surface, +@@ -2636,6 +2639,145 @@ gl_renderer_attach_dmabuf(struct weston_surface *surface, gs->shader = image->shader; } @@ -259,7 +246,7 @@ index fe4f1087..1b6a219b 100644 static void gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer) { -@@ -2571,6 +2713,12 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer) +@@ -2663,6 +2805,12 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer) gs->y_inverted = true; gs->direct_display = false; es->is_opaque = false; @@ -272,7 +259,7 @@ index fe4f1087..1b6a219b 100644 return; } -@@ -2578,6 +2726,9 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer) +@@ -2670,6 +2818,9 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer) if (shm_buffer) gl_renderer_attach_shm(es, buffer, shm_buffer); @@ -282,7 +269,7 @@ index fe4f1087..1b6a219b 100644 else if (gr->has_bind_display && gr->query_buffer(gr->egl_display, (void *)buffer->resource, EGL_TEXTURE_FORMAT, &format)) -@@ -2781,6 +2932,10 @@ surface_state_destroy(struct gl_surface_state *gs, struct gl_renderer *gr) +@@ -2873,6 +3024,10 @@ surface_state_destroy(struct gl_surface_state *gs, struct gl_renderer *gr) weston_buffer_reference(&gs->buffer_ref, NULL); weston_buffer_release_reference(&gs->buffer_release_ref, NULL); pixman_region32_fini(&gs->texture_damage); @@ -293,7 +280,7 @@ index fe4f1087..1b6a219b 100644 free(gs); } -@@ -2832,6 +2987,8 @@ gl_renderer_create_surface(struct weston_surface *surface) +@@ -2924,6 +3079,8 @@ gl_renderer_create_surface(struct weston_surface *surface) gs->surface = surface; @@ -302,7 +289,7 @@ index fe4f1087..1b6a219b 100644 pixman_region32_init(&gs->texture_damage); surface->renderer_state = gs; -@@ -3730,6 +3887,16 @@ gl_renderer_display_create(struct weston_compositor *ec, +@@ -3704,6 +3861,16 @@ gl_renderer_display_create(struct weston_compositor *ec, goto fail_terminate; } @@ -336,5 +323,5 @@ index dc07c04a..d348a5c0 100644 /* EGL platform definition are keept to allow compositor-xx.c to build */ -- -2.20.1 +2.25.1 |