summarylogtreecommitdiffstats
path: root/0006-compositor-Process-stream-attach-requests-with-wl_eg.patch
diff options
context:
space:
mode:
Diffstat (limited to '0006-compositor-Process-stream-attach-requests-with-wl_eg.patch')
-rw-r--r--0006-compositor-Process-stream-attach-requests-with-wl_eg.patch48
1 files changed, 23 insertions, 25 deletions
diff --git a/0006-compositor-Process-stream-attach-requests-with-wl_eg.patch b/0006-compositor-Process-stream-attach-requests-with-wl_eg.patch
index c453f46e84c..ade33455905 100644
--- a/0006-compositor-Process-stream-attach-requests-with-wl_eg.patch
+++ b/0006-compositor-Process-stream-attach-requests-with-wl_eg.patch
@@ -1,9 +1,8 @@
-From 7b4d70dc7f5024e80656d9facdb0bc834d91adb9 Mon Sep 17 00:00:00 2001
+From e4f2e3aa56b3f8801dc056f9e015a7ec7e347113 Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Thu, 18 May 2017 14:35:36 -0700
-Subject: [PATCH 6/8] compositor: Process stream attach requests with
+Subject: [PATCH 6/6] compositor: Process stream attach requests with
wl_eglstream_controller
-X-NVConfidentiality: public
So far, the EGLStream implementation of the Wayland client-side driver
has been using wl_surface_attach + commit in order to make the server
@@ -35,12 +34,12 @@ Signed-off-by: Miguel A Vico Moya <mvicomoya@nvidia.com>
compositor/meson.build | 1 +
include/libweston/libweston.h | 4 +
libweston/compositor.c | 78 +++++++++++++++
- libweston/renderer-gl/gl-renderer.c | 147 ++++++++++++++++++----------
+ libweston/renderer-gl/gl-renderer.c | 146 ++++++++++++++++++----------
protocol/meson.build | 7 ++
- 5 files changed, 183 insertions(+), 54 deletions(-)
+ 5 files changed, 182 insertions(+), 54 deletions(-)
diff --git a/compositor/meson.build b/compositor/meson.build
-index 61860a7a..f11d55e8 100644
+index e1334d6a..5fffeda8 100644
--- a/compositor/meson.build
+++ b/compositor/meson.build
@@ -9,6 +9,7 @@ srcs_weston = [
@@ -52,10 +51,10 @@ index 61860a7a..f11d55e8 100644
deps_weston = [
dep_libshared,
diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h
-index 5be8ef05..178bb071 100644
+index dc54b170..3b3ffb41 100644
--- a/include/libweston/libweston.h
+++ b/include/libweston/libweston.h
-@@ -917,6 +917,10 @@ struct weston_renderer {
+@@ -912,6 +912,10 @@ struct weston_renderer {
void (*query_dmabuf_modifiers)(struct weston_compositor *ec,
int format, uint64_t **modifiers,
int *num_modifiers);
@@ -67,7 +66,7 @@ index 5be8ef05..178bb071 100644
enum weston_capability {
diff --git a/libweston/compositor.c b/libweston/compositor.c
-index 85327159..0a6a56e2 100644
+index dbc64927..f316902b 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -3,6 +3,7 @@
@@ -86,7 +85,7 @@ index 85327159..0a6a56e2 100644
#include "weston-log-internal.h"
-@@ -6850,6 +6852,80 @@ bind_presentation(struct wl_client *client,
+@@ -6911,6 +6913,80 @@ bind_presentation(struct wl_client *client,
wp_presentation_send_clock_id(resource, compositor->presentation_clock);
}
@@ -167,7 +166,7 @@ index 85327159..0a6a56e2 100644
static void
compositor_bind(struct wl_client *client,
void *data, uint32_t version, uint32_t id)
-@@ -7230,6 +7306,8 @@ weston_compositor_create(struct wl_display *display,
+@@ -7278,6 +7354,8 @@ weston_compositor_create(struct wl_display *display,
ec, bind_presentation))
goto fail;
@@ -177,20 +176,20 @@ index 85327159..0a6a56e2 100644
goto fail;
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
-index 22a64f81..b4a88da3 100644
+index c081d1e5..4430bc4b 100644
--- a/libweston/renderer-gl/gl-renderer.c
+++ b/libweston/renderer-gl/gl-renderer.c
@@ -1,7 +1,7 @@
/*
* Copyright © 2012 Intel Corporation
- * Copyright © 2015 Collabora, Ltd.
+ * Copyright © 2015,2019 Collabora, Ltd.
- * Copyright © 2016 NVIDIA Corporation
-+ * Copyright © 2016-2017 NVIDIA Corporation
++ * Copyright © 2016,2017 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
-@@ -2626,18 +2626,9 @@ gl_renderer_attach_dmabuf(struct weston_surface *surface,
- surface->is_opaque = dmabuf_is_opaque(dmabuf);
+@@ -2547,18 +2547,9 @@ gl_renderer_attach_dmabuf(struct weston_surface *surface,
+ gs->shader = image->shader;
}
-/*
@@ -211,7 +210,7 @@ index 22a64f81..b4a88da3 100644
{
#ifdef EGL_NV_stream_attrib
struct weston_compositor *ec = es->compositor;
-@@ -2646,65 +2637,111 @@ gl_renderer_attach_stream_texture(struct weston_surface *es,
+@@ -2567,65 +2558,110 @@ gl_renderer_attach_stream_texture(struct weston_surface *es,
EGLStreamKHR stream = EGL_NO_STREAM_KHR;
EGLAttrib stream_attribs[] = {
#ifdef EGL_WL_wayland_eglstream
@@ -261,8 +260,7 @@ index 22a64f81..b4a88da3 100644
- * does not corresponds to a stream */
- return false;
+ weston_log("failed to set stream consumer\n");
-+ weston_log("EGL error state: %s (0x%04lx)\n",
-+ egl_error_string(err), (long)err);
++ weston_log("EGL error: 0x%04lx\n", (long)err);
- case EGL_BAD_STREAM_KHR:
- /* EGL_BAD_STREAM_KHR is generated whenever
@@ -364,17 +362,17 @@ index 22a64f81..b4a88da3 100644
}
/* At this point we should have a valid stream handle */
-@@ -4138,6 +4175,8 @@ gl_renderer_display_create(struct weston_compositor *ec, EGLenum platform,
- gr->base.surface_get_content_size =
+@@ -3796,6 +3832,8 @@ gl_renderer_display_create(struct weston_compositor *ec,
gl_renderer_surface_get_content_size;
gr->base.surface_copy_content = gl_renderer_surface_copy_content;
+ gr->platform = platform;
+ gr->base.attach_eglstream_consumer =
+ gl_renderer_attach_eglstream_consumer;
gr->egl_display = NULL;
/* extension_suffix is supported */
diff --git a/protocol/meson.build b/protocol/meson.build
-index 1228d15b..e47d0a6c 100644
+index 25cea5a8..1a42ee64 100644
--- a/protocol/meson.build
+++ b/protocol/meson.build
@@ -4,6 +4,9 @@ prog_scanner = find_program(dep_scanner.get_pkgconfig_variable('wayland_scanner'
@@ -387,7 +385,7 @@ index 1228d15b..e47d0a6c 100644
install_data(
[
'weston-debug.xml',
-@@ -35,6 +38,7 @@ generated_protocols = [
+@@ -37,6 +40,7 @@ generated_protocols = [
[ 'xdg-output', 'v1' ],
[ 'xdg-shell', 'v6' ],
[ 'xdg-shell', 'stable' ],
@@ -395,7 +393,7 @@ index 1228d15b..e47d0a6c 100644
]
foreach proto: generated_protocols
-@@ -42,6 +46,9 @@ foreach proto: generated_protocols
+@@ -44,6 +48,9 @@ foreach proto: generated_protocols
if proto[1] == 'internal'
base_file = proto_name
xml_path = '@0@.xml'.format(proto_name)
@@ -406,5 +404,5 @@ index 1228d15b..e47d0a6c 100644
base_file = proto_name
xml_path = '@0@/stable/@1@/@1@.xml'.format(dir_wp_base, base_file)
--
-2.21.0
+2.20.1