diff options
Diffstat (limited to '0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch')
-rw-r--r-- | 0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch | 39 |
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 + |