e_comp_wl: Deprecate pending.buffer_viewport of E_Comp_Wl_Client_Data 43/321343/1
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 14 Mar 2025 07:54:29 +0000 (16:54 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 19 Mar 2025 05:47:24 +0000 (14:47 +0900)
This encapsulates the `buffer_viewport` of the pending state and makes
`pending.buffer_viewport` of `E_Comp_Wl_Client_Data` deprecated, which
is exposed to outer modules.

Change-Id: I29cc549b14c647bca550050720955ea0b02b95f4

src/bin/server/e_comp_wl.c
src/bin/server/e_comp_wl_rsm.c
src/bin/server/e_compositor.c
src/bin/server/e_foreign_shell.c
src/include/e_comp_wl.h

index 5764843718a12094e3f087c39e3be3b60e76a1ce..6c19d562ad2aef292be5edbae00e56731c8c26c2 100644 (file)
@@ -4104,37 +4104,25 @@ e_comp_wl_mapped_get(E_Client *ec)
 E_API void
 e_comp_wl_pending_buffer_viewport_set(E_Client *ec, E_Comp_Wl_Buffer_Viewport *vp)
 {
-   EINA_SAFETY_ON_NULL_RETURN(ec);
-   EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
-
-   ec->comp_data->pending.buffer_viewport = *vp;
+   // Deprecated
 }
 
 E_API void
 e_comp_wl_pending_buffer_viewport_buffer_source_width_set(E_Client *ec, wl_fixed_t width)
 {
-   EINA_SAFETY_ON_NULL_RETURN(ec);
-   EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
-
-   ec->comp_data->pending.buffer_viewport.buffer.src_width = width;
+   // Deprecated
 }
 
 E_API void
 e_comp_wl_pending_buffer_viewport_changed_set(E_Client *ec, Eina_Bool set)
 {
-   EINA_SAFETY_ON_NULL_RETURN(ec);
-   EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
-
-   ec->comp_data->pending.buffer_viewport.changed = set;
+   // Deprecated
 }
 
 E_API void
 e_comp_wl_pending_buffer_viewport_surface_width_set(E_Client *ec, int32_t width)
 {
-   EINA_SAFETY_ON_NULL_RETURN(ec);
-   EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
-
-   ec->comp_data->pending.buffer_viewport.surface.width = width;
+   // Deprecated
 }
 
 E_API E_Client *
index b84608d54290d52ee44f02d17f61ffea9edad34f..46a1def2492837a874931424a3d487649199b7ba 100644 (file)
@@ -1001,7 +1001,7 @@ bind_ec_set:
              remote_surface->bind_ec->comp_data->pending.sy = 0;
              remote_surface->bind_ec->comp_data->pending.new_attach = EINA_TRUE;
 
-             remote_surface->bind_ec->comp_data->pending.buffer_viewport =
+             remote_surface->bind_ec->comp_data->scaler.buffer_viewport =
                remote_surface->provider->common.ec->comp_data->scaler.buffer_viewport;
 
              /* check the base_output resolution */
@@ -3072,7 +3072,7 @@ _e_comp_wl_remote_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *st
                   if (!surface->redirect) continue;
                   if (surface->bind_ec)
                     {
-                       surface->bind_ec->comp_data->pending.buffer_viewport = ec->comp_data->scaler.buffer_viewport;
+                       surface->bind_ec->comp_data->scaler.buffer_viewport = ec->comp_data->scaler.buffer_viewport;
 
                        _e_comp_wl_remote_surface_state_buffer_set(&surface->bind_ec->comp_data->pending, buffer);
                        surface->bind_ec->comp_data->pending.sx = sx;
index 5d8aecba3592926f4cd68e4b0b1c87456f3d0247..7a731583054470142619c96f5af26e60bb97d704 100644 (file)
@@ -55,6 +55,7 @@ typedef struct
 {
    E_Surface_State_Field committed;
    E_Presentation_Time_Container presentation_container;
+   E_Comp_Wl_Buffer_Viewport viewport;
 } E_Surface_State;
 
 struct _E_Surface
@@ -689,17 +690,17 @@ e_surface_viewporter_release(E_Surface_Viewporter *viewporter)
    surface->base.scaler.buffer_viewport.buffer.src_width = wl_fixed_from_int(-1);
    surface->base.scaler.buffer_viewport.surface.width = -1;
    surface->base.scaler.buffer_viewport.changed = 1;
-   surface->base.pending.buffer_viewport.buffer.transform = WL_OUTPUT_TRANSFORM_NORMAL;
-   surface->base.pending.buffer_viewport.buffer.src_width = wl_fixed_from_int(-1);
-   surface->base.pending.buffer_viewport.surface.width = -1;
-   surface->base.pending.buffer_viewport.changed = 1;
+   surface->pending.viewport.buffer.transform = WL_OUTPUT_TRANSFORM_NORMAL;
+   surface->pending.viewport.buffer.src_width = wl_fixed_from_int(-1);
+   surface->pending.viewport.surface.width = -1;
+   surface->pending.viewport.changed = 1;
 }
 
 EINTERN Eina_Bool
 e_surface_viewporter_buffer_transform_set(E_Surface_Viewporter *viewporter, enum wl_output_transform transform)
 {
    E_Surface *surface = wl_container_of(viewporter, surface, viewporter);
-   E_Comp_Wl_Buffer_Viewport *vp = &surface->base.pending.buffer_viewport;
+   E_Comp_Wl_Buffer_Viewport *vp = &surface->pending.viewport;
 
    if (vp->buffer.transform == transform)
      return EINA_FALSE;
@@ -716,7 +717,7 @@ EINTERN Eina_Bool
 e_surface_viewporter_source_box_set(E_Surface_Viewporter *viewporter, Eina_Rectangle *box)
 {
    E_Surface *surface = wl_container_of(viewporter, surface, viewporter);
-   E_Comp_Wl_Buffer_Viewport *vp = &surface->base.pending.buffer_viewport;
+   E_Comp_Wl_Buffer_Viewport *vp = &surface->pending.viewport;
    wl_fixed_t fx, fy, fw, fh;
 
    fx = wl_fixed_from_int(box->x);
@@ -744,7 +745,7 @@ EINTERN Eina_Bool
 e_surface_viewporter_destination_set(E_Surface_Viewporter *viewporter, int32_t width, int32_t height)
 {
    E_Surface *surface = wl_container_of(viewporter, surface, viewporter);
-   E_Comp_Wl_Buffer_Viewport *vp = &surface->base.pending.buffer_viewport;
+   E_Comp_Wl_Buffer_Viewport *vp = &surface->pending.viewport;
 
    if ((vp->surface.width == width) && (vp->surface.height == height))
      return EINA_FALSE;
@@ -763,7 +764,7 @@ EINTERN void
 e_surface_viewporter_commit(E_Surface_Viewporter *viewporter)
 {
    E_Surface *surface = wl_container_of(viewporter, surface, viewporter);
-   E_Comp_Wl_Buffer_Viewport *vp = &surface->base.pending.buffer_viewport;
+   E_Comp_Wl_Buffer_Viewport *vp = &surface->pending.viewport;
 
    ELOGF("SURFACE", "Viewporter(%p): Commit(changed:%d)", surface->ec, viewporter, vp->changed);
 
@@ -945,6 +946,15 @@ _e_compositor_surface_exporter_finalize(E_Compositor *comp)
    wl_list_remove(&comp->new_exported_surface.link);
 }
 
+static void
+_e_surface_buffer_viewport_state_init(E_Comp_Wl_Buffer_Viewport *vp)
+{
+   vp->buffer.transform = WL_OUTPUT_TRANSFORM_NORMAL;
+   vp->buffer.scale = 1;
+   vp->buffer.src_width = wl_fixed_from_int(-1);
+   vp->surface.width = -1;
+}
+
 static E_Surface *
 _e_surface_create(struct ds_surface *ds_surface)
 {
@@ -977,10 +987,8 @@ _e_surface_create(struct ds_surface *ds_surface)
    surface->base.mapped = EINA_FALSE;
 
    /* set initial value of scaler */
-   surface->base.scaler.buffer_viewport.buffer.transform = WL_OUTPUT_TRANSFORM_NORMAL;
-   surface->base.scaler.buffer_viewport.buffer.scale = 1;
-   surface->base.scaler.buffer_viewport.buffer.src_width = wl_fixed_from_int(-1);
-   surface->base.scaler.buffer_viewport.surface.width = -1;
+   _e_surface_buffer_viewport_state_init(&surface->base.scaler.buffer_viewport);
+   _e_surface_buffer_viewport_state_init(&surface->pending.viewport);
 
    e_presentation_time_container_init(&surface->base.presentation_container);
 
index 6c7c2410450dc9537f574d52fc20da8bc0b532c5..706e97067c582f442181ae14542f2268a34fa2a3 100644 (file)
@@ -999,7 +999,6 @@ _e_foreign_shell_viewport_update(E_Foreign_Shell *fs)
    vp->surface.width = w;
    vp->surface.height = h;
    vp->changed = EINA_TRUE;
-   fs->ec->comp_data->pending.buffer_viewport = *vp;
 
    e_util_transform_viewport_set(fs->transform, x, y, w, h);
 }
index 7ae4f820dc21cf5b4384b25dc6efacc449d03db0..eb7bf967d5446175a601967693c958b85548989b 100644 (file)
@@ -186,7 +186,7 @@ struct _E_Comp_Wl_Surface_State
    EINA_DEPRECATED Eina_List *frames;
    EINA_DEPRECATED Eina_Tiler *input;
    EINA_DEPRECATED Eina_Tiler *opaque;
-   E_Comp_Wl_Buffer_Viewport buffer_viewport;
+   E_DEPRECATED E_Comp_Wl_Buffer_Viewport buffer_viewport;
    Eina_Bool new_attach : 1;
    EINA_DEPRECATED Eina_Bool has_data : 1;
 
@@ -581,10 +581,10 @@ E_API E_Comp_Wl_Buffer *e_comp_wl_buffer_ref_buffer_get(E_Client *ec);
 E_API void      e_comp_wl_mapped_set(E_Client *ec, Eina_Bool mapped);
 E_API Eina_Bool e_comp_wl_mapped_get(E_Client *ec);
 
-E_API void e_comp_wl_pending_buffer_viewport_set(E_Client *ec, E_Comp_Wl_Buffer_Viewport *vp);
-E_API void e_comp_wl_pending_buffer_viewport_buffer_source_width_set(E_Client *ec, wl_fixed_t width);
-E_API void e_comp_wl_pending_buffer_viewport_changed_set(E_Client *ec, Eina_Bool set);
-E_API void e_comp_wl_pending_buffer_viewport_surface_width_set(E_Client *ec, int32_t width);
+E_DEPRECATED E_API void e_comp_wl_pending_buffer_viewport_set(E_Client *ec, E_Comp_Wl_Buffer_Viewport *vp);
+E_DEPRECATED E_API void e_comp_wl_pending_buffer_viewport_buffer_source_width_set(E_Client *ec, wl_fixed_t width);
+E_DEPRECATED E_API void e_comp_wl_pending_buffer_viewport_changed_set(E_Client *ec, Eina_Bool set);
+E_DEPRECATED E_API void e_comp_wl_pending_buffer_viewport_surface_width_set(E_Client *ec, int32_t width);
 
 E_API E_Client *e_comp_wl_remote_surface_onscreen_parent_get(E_Client *ec);