From 59f37556d15e7e75a0be2ba6695bc0c3fdd5df64 Mon Sep 17 00:00:00 2001 From: Veeresh Kadasani Date: Mon, 29 Jul 2019 17:29:20 +0900 Subject: Update waltham-transmitter patches to weston 5.0 & 6.0 Change-Id: Idedada02d63914f247a137d031e44b15bef16134 Signed-off-by: Veeresh Kadasani --- ...mpositor-add-output-type-to-weston_output.patch | 281 --------------------- 1 file changed, 281 deletions(-) delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-add-output-type-to-weston_output.patch (limited to 'meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-add-output-type-to-weston_output.patch') diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-add-output-type-to-weston_output.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-add-output-type-to-weston_output.patch deleted file mode 100644 index 4c46ec4ec..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-add-output-type-to-weston_output.patch +++ /dev/null @@ -1,281 +0,0 @@ -From 99fb36e62d3d0e3bda3d2984f280f534a629f70c Mon Sep 17 00:00:00 2001 -From: Wataru Mizuno -Date: Thu, 12 Oct 2017 14:55:13 +0900 -Subject: [PATCH 1/5] compositor: add output type to weston_output - -This enables weston to use multiple types of backend -Each backends have own output structure for each functions -To avoid invalid member access, type identifier is needed - -Signed-off-by: Wataru Mizuno ---- - libweston/compositor-drm.c | 100 +++++++++++++++++++++++----------------- - libweston/compositor-fbdev.c | 1 + - libweston/compositor-headless.c | 1 + - libweston/compositor-rdp.c | 1 + - libweston/compositor-wayland.c | 1 + - libweston/compositor-x11.c | 1 + - libweston/compositor.h | 12 +++++ - 7 files changed, 74 insertions(+), 43 deletions(-) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 1d38f05..0b5b4c4 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -243,14 +243,16 @@ drm_output_find_by_crtc(struct drm_backend *b, uint32_t crtc_id) - struct drm_output *output; - - wl_list_for_each(output, &b->compositor->output_list, base.link) { -- if (output->crtc_id == crtc_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->crtc_id == crtc_id) -+ return output; - } - - wl_list_for_each(output, &b->compositor->pending_output_list, - base.link) { -- if (output->crtc_id == crtc_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->crtc_id == crtc_id) -+ return output; - } - - return NULL; -@@ -262,14 +264,16 @@ drm_output_find_by_connector(struct drm_backend *b, uint32_t connector_id) - struct drm_output *output; - - wl_list_for_each(output, &b->compositor->output_list, base.link) { -- if (output->connector_id == connector_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->connector_id == connector_id) -+ return output; - } - - wl_list_for_each(output, &b->compositor->pending_output_list, - base.link) { -- if (output->connector_id == connector_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->connector_id == connector_id) -+ return output; - } - - return NULL; -@@ -2433,6 +2437,7 @@ drm_output_enable(struct weston_output *base) - struct weston_mode *m; - - output->dpms_prop = drm_get_prop(b->drm.fd, output->connector, "DPMS"); -+ output->base.output_type = OUTPUT_DRM; - - if (b->use_pixman) { - if (drm_output_init_pixman(output, b) < 0) { -@@ -2797,38 +2802,42 @@ update_outputs(struct drm_backend *b, struct udev_device *drm_device) - - wl_list_for_each_safe(output, next, &b->compositor->output_list, - base.link) { -- bool disconnected = true; -- -- for (i = 0; i < resources->count_connectors; i++) { -- if (connected[i] == output->connector_id) { -- disconnected = false; -- break; -+ if (output->base.output_type == OUTPUT_DRM) { -+ bool disconnected = true; -+ -+ for (i = 0; i < resources->count_connectors; i++) { -+ if (connected[i] == output->connector_id) { -+ disconnected = false; -+ break; -+ } - } -- } - -- if (!disconnected) -- continue; -+ if (!disconnected) -+ continue; - -- weston_log("connector %d disconnected\n", output->connector_id); -- drm_output_destroy(&output->base); -+ weston_log("connector %d disconnected\n", output->connector_id); -+ drm_output_destroy(&output->base); -+ } - } - - wl_list_for_each_safe(output, next, &b->compositor->pending_output_list, - base.link) { -- bool disconnected = true; -- -- for (i = 0; i < resources->count_connectors; i++) { -- if (connected[i] == output->connector_id) { -- disconnected = false; -- break; -+ if (output->base.output_type == OUTPUT_DRM) { -+ bool disconnected = true; -+ -+ for (i = 0; i < resources->count_connectors; i++) { -+ if (connected[i] == output->connector_id) { -+ disconnected = false; -+ break; -+ } - } -- } - -- if (!disconnected) -- continue; -+ if (!disconnected) -+ continue; - -- weston_log("connector %d disconnected\n", output->connector_id); -- drm_output_destroy(&output->base); -+ weston_log("connector %d disconnected\n", output->connector_id); -+ drm_output_destroy(&output->base); -+ } - } - - free(connected); -@@ -2925,18 +2934,21 @@ session_notify(struct wl_listener *listener, void *data) - * pending frame callbacks. */ - - wl_list_for_each(output, &compositor->output_list, base.link) { -- output->base.repaint_needed = 0; -- drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0); -+ if(output->base.output_type == OUTPUT_DRM) { -+ output->base.repaint_needed = 0; -+ drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0); -+ } -+ } -+ if(output->base.output_type == OUTPUT_DRM) { -+ output = container_of(compositor->output_list.next, -+ struct drm_output, base.link); -+ -+ wl_list_for_each(sprite, &b->sprite_list, link) -+ drmModeSetPlane(b->drm.fd, -+ sprite->plane_id, -+ output->crtc_id, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0); - } -- -- output = container_of(compositor->output_list.next, -- struct drm_output, base.link); -- -- wl_list_for_each(sprite, &b->sprite_list, link) -- drmModeSetPlane(b->drm.fd, -- sprite->plane_id, -- output->crtc_id, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0); - }; - } - -@@ -3148,7 +3160,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- pixman_renderer_output_destroy(&output->base); -+ if(output->base.output_type == OUTPUT_DRM) -+ pixman_renderer_output_destroy(&output->base); - - b->compositor->renderer->destroy(b->compositor); - -@@ -3160,7 +3173,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- drm_output_init_egl(output, b); -+ if(output->base.output_type == OUTPUT_DRM) -+ drm_output_init_egl(output, b); - - b->use_pixman = 0; - -diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c -index 44f0cf5..9cb903e 100644 ---- a/libweston/compositor-fbdev.c -+++ b/libweston/compositor-fbdev.c -@@ -433,6 +433,7 @@ fbdev_output_enable(struct weston_output *base) - int fb_fd; - struct wl_event_loop *loop; - -+ output->base.output_type = OUTPUT_FBDEV; - /* Create the frame buffer. */ - fb_fd = fbdev_frame_buffer_open(output, output->device, &output->fb_info); - if (fb_fd < 0) { -diff --git a/libweston/compositor-headless.c b/libweston/compositor-headless.c -index a1aec6d..b0d5afb 100644 ---- a/libweston/compositor-headless.c -+++ b/libweston/compositor-headless.c -@@ -148,6 +148,7 @@ headless_output_enable(struct weston_output *base) - loop = wl_display_get_event_loop(b->compositor->wl_display); - output->finish_frame_timer = - wl_event_loop_add_timer(loop, finish_frame_handler, output); -+ output->base.output_type = OUTPUT_HEADLESS; - - if (b->use_pixman) { - output->image_buf = malloc(output->base.current_mode->width * -diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c -index d9668e8..d525982 100644 ---- a/libweston/compositor-rdp.c -+++ b/libweston/compositor-rdp.c -@@ -519,6 +519,7 @@ rdp_output_enable(struct weston_output *base) - struct rdp_backend *b = to_rdp_backend(base->compositor); - struct wl_event_loop *loop; - -+ output->base.output_type = OUTPUT_RDP; - output->shadow_surface = pixman_image_create_bits(PIXMAN_x8r8g8b8, - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c -index 9d35ef7..66a0dbf 100644 ---- a/libweston/compositor-wayland.c -+++ b/libweston/compositor-wayland.c -@@ -1164,6 +1164,7 @@ wayland_output_enable(struct weston_output *base) - struct wayland_backend *b = to_wayland_backend(base->compositor); - int ret = 0; - -+ output->base.output_type = OUTPUT_WAYLAND; - weston_log("Creating %dx%d wayland output at (%d, %d)\n", - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-x11.c b/libweston/compositor-x11.c -index f9cb461..fcf39e1 100644 ---- a/libweston/compositor-x11.c -+++ b/libweston/compositor-x11.c -@@ -825,6 +825,7 @@ x11_output_enable(struct weston_output *base) - XCB_EVENT_MASK_STRUCTURE_NOTIFY, - 0 - }; -+ output->base.output_type = OUTPUT_X11; - - if (!b->no_input) - values[0] |= -diff --git a/libweston/compositor.h b/libweston/compositor.h -index 08e728a..51157d0 100644 ---- a/libweston/compositor.h -+++ b/libweston/compositor.h -@@ -146,9 +146,21 @@ enum dpms_enum { - WESTON_DPMS_OFF - }; - -+/* bit compatible with drm definitions. */ -+enum output_type { -+ OUTPUT_DRM, -+ OUTPUT_FBDEV, -+ OUTPUT_HEADLESS, -+ OUTPUT_RDP, -+ OUTPUT_WAYLAND, -+ OUTPUT_X11, -+ OUTPUT_WALTHAM -+}; -+ - struct weston_output { - uint32_t id; - char *name; -+ enum output_type output_type; - - void *renderer_state; - --- -2.7.4 - -- cgit 1.2.3-korg