From fdb7ec845fb18e6932e94bf084e8656f4e95ddcd Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Fri, 10 Dec 2021 15:48:48 +0900 Subject: [PATCH] Send transform of window and buffer since wl_surface version 2 wl_surface_set_buffer_transform request is supported since wl_surface version 2 Change-Id: Iaa9a996853b3e59fb2d325b615e1587d18e6c119 --- src/tpl_wayland_egl.c | 16 ++++++++++------ src/tpl_wl_egl_thread.c | 13 ++++++++----- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/tpl_wayland_egl.c b/src/tpl_wayland_egl.c index 27509b1..16fc9f2 100755 --- a/src/tpl_wayland_egl.c +++ b/src/tpl_wayland_egl.c @@ -911,17 +911,21 @@ __tpl_wayland_egl_surface_commit(tpl_surface_t *surface, version = wl_proxy_get_version((struct wl_proxy *)wl_egl_window->surface); if (wayland_egl_buffer->w_rotated == TPL_TRUE) { - wayland_tbm_client_set_buffer_transform( - wayland_egl_display->wl_tbm_client, - (void *)wayland_egl_buffer->wl_proxy, - wayland_egl_buffer->window_transform); + if (version > 1) { + wayland_tbm_client_set_buffer_transform( + wayland_egl_display->wl_tbm_client, + (void *)wayland_egl_buffer->wl_proxy, + wayland_egl_buffer->window_transform); + } wayland_egl_buffer->w_rotated = TPL_FALSE; } if (wayland_egl_surface->latest_transform != wayland_egl_buffer->transform) { wayland_egl_surface->latest_transform = wayland_egl_buffer->transform; - wl_surface_set_buffer_transform(wl_egl_window->surface, - wayland_egl_buffer->transform); + if (version > 1) { + wl_surface_set_buffer_transform(wl_egl_window->surface, + wayland_egl_buffer->transform); + } } wl_surface_attach(wl_egl_window->surface, (void *)wayland_egl_buffer->wl_proxy, diff --git a/src/tpl_wl_egl_thread.c b/src/tpl_wl_egl_thread.c index 4a53fd5..f15040a 100755 --- a/src/tpl_wl_egl_thread.c +++ b/src/tpl_wl_egl_thread.c @@ -3252,16 +3252,19 @@ _thread_wl_surface_commit(tpl_wl_egl_surface_t *wl_egl_surface, #endif if (wl_egl_buffer->w_rotated == TPL_TRUE) { - wayland_tbm_client_set_buffer_transform( - wl_egl_display->wl_tbm_client, - (void *)wl_egl_buffer->wl_buffer, - wl_egl_buffer->w_transform); + if (version > 1) { + wayland_tbm_client_set_buffer_transform( + wl_egl_display->wl_tbm_client, + (void *)wl_egl_buffer->wl_buffer, + wl_egl_buffer->w_transform); + } wl_egl_buffer->w_rotated = TPL_FALSE; } if (wl_egl_surface->latest_transform != wl_egl_buffer->transform) { wl_egl_surface->latest_transform = wl_egl_buffer->transform; - wl_surface_set_buffer_transform(wl_surface, wl_egl_buffer->transform); + if (version > 1) + wl_surface_set_buffer_transform(wl_surface, wl_egl_buffer->transform); } if (wl_egl_window) { -- 2.34.1