Send transform of window and buffer since wl_surface version 2 73/267973/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 10 Dec 2021 06:48:48 +0000 (15:48 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Tue, 14 Dec 2021 04:43:39 +0000 (13:43 +0900)
wl_surface_set_buffer_transform request is supported since
wl_surface version 2

Change-Id: Iaa9a996853b3e59fb2d325b615e1587d18e6c119

src/tpl_wayland_egl.c
src/tpl_wl_egl_thread.c

index 27509b19107018d2842cb695af6664dadc21edae..16fc9f27549034d83d25d2b704c5487448164224 100755 (executable)
@@ -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,
index 4a53fd58827e4dc60a4023e1432d3ca882b4c37e..f15040aa14a81de1352017341a488b7802291ed3 100755 (executable)
@@ -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) {