summarylogtreecommitdiffstats
path: root/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
diff options
context:
space:
mode:
Diffstat (limited to '0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch')
-rw-r--r--0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch b/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
new file mode 100644
index 000000000000..7423e1e26b1a
--- /dev/null
+++ b/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
@@ -0,0 +1,39 @@
+From ef60350defbf06da7d37352a31e6a80a2f732ebe Mon Sep 17 00:00:00 2001
+From: Erik Kurzinger <ekurzinger@nvidia.com>
+Date: Fri, 12 Apr 2019 21:31:46 +0000
+Subject: [PATCH 09/10] gl-renderer: Try realizing EGLStream before EGLImage
+ buffer
+X-NVConfidentiality: public
+
+Currently, it is assumed that if querying the EGL_TEXTURE_FORMAT of a
+Wayland buffer succeeds it is an EGLImage. However, this assumption will no
+longer hold on upcoming versions of the NVIDIA EGL Wayland driver which
+will include support for querying this attribute for EGLStream buffers as
+well. Hence, we need to check if buffers are EGLStreams first.
+---
+ libweston/gl-renderer.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
+index 8265a712..c1a88a11 100644
+--- a/libweston/gl-renderer.c
++++ b/libweston/gl-renderer.c
+@@ -2752,13 +2752,14 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer)
+
+ if (shm_buffer)
+ gl_renderer_attach_shm(es, buffer, shm_buffer);
++ else if (gl_renderer_attach_stream_texture(es, buffer));
+ else if (gr->has_bind_display &&
+ gr->query_buffer(gr->egl_display, (void *)buffer->resource,
+ EGL_TEXTURE_FORMAT, &format))
+ gl_renderer_attach_egl(es, buffer, format);
+ else if ((dmabuf = linux_dmabuf_buffer_get(buffer->resource)))
+ gl_renderer_attach_dmabuf(es, buffer, dmabuf);
+- else if (!gl_renderer_attach_stream_texture(es, buffer)) {
++ else {
+ weston_log("unhandled buffer type!\n");
+ if (gr->has_bind_display) {
+ weston_log("eglQueryWaylandBufferWL failed\n");
+--
+2.21.0
+