e_comp_wl_buffer: Deprecate 'debug_info' field 88/303188/2
authorSeunghun Lee <shiin.lee@samsung.com>
Tue, 19 Dec 2023 09:12:03 +0000 (18:12 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 21 Dec 2023 05:00:12 +0000 (05:00 +0000)
The 'debug_info' field in E_Comp_Wl_Buffer is no longer used nor useful.
This patch deprecates it, and its actual removal will be carried out in
the future along with other deprecated fields.

Change-Id: Ia90103ee783053d69d06f9c24d44610fda9a6c0d

src/bin/e_comp_wl.h
src/bin/e_comp_wl_buffer.c
src/bin/e_comp_wl_buffer.h
src/bin/e_compositor.c

index 927d11f..f4fd95a 100644 (file)
@@ -122,7 +122,7 @@ struct _E_Comp_Wl_Buffer
    {
       Eina_Stringshare *owner_name;
       void *owner_ptr;
-   } debug_info;
+   } debug_info; // deprecated
    int32_t w, h;
    int format;
    int transform; // the value of wl_tbm.set_buffer_transform
index 48abeab..3179915 100644 (file)
@@ -15,7 +15,7 @@ static void _e_comp_wl_buffer_ref(E_Comp_Wl_Buffer *buffer);
 static void _e_comp_wl_buffer_unref(E_Comp_Wl_Buffer *buffer);
 static void _e_comp_wl_buffer_reference_cb_destroy(struct wl_listener *listener, void *data);
 
-static E_Buffer *_e_buffer_create(struct ds_buffer *ds_buffer, E_Client *ec);
+static E_Buffer *_e_buffer_create(struct ds_buffer *ds_buffer);
 static E_Buffer *_e_buffer_from_base(E_Comp_Wl_Buffer *base);
 static E_Buffer *_e_buffer_from_buffer(struct ds_buffer *ds_buffer);
 static void _e_buffer_cb_resource_destroy(struct wl_listener *listener, void *data);
@@ -45,7 +45,7 @@ e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer)
 }
 
 EINTERN E_Comp_Wl_Buffer *
-e_comp_wl_buffer_get(struct ds_buffer *ds_buffer, E_Client *ec)
+e_comp_wl_buffer_get(struct ds_buffer *ds_buffer)
 {
    E_Buffer *buffer;
 
@@ -53,7 +53,7 @@ e_comp_wl_buffer_get(struct ds_buffer *ds_buffer, E_Client *ec)
    if (buffer)
      goto done;
 
-   buffer = _e_buffer_create(ds_buffer, ec);
+   buffer = _e_buffer_create(ds_buffer);
    if (!buffer)
      {
         ERR("Failed to create E_Comp_Wl_Buffer");
@@ -146,45 +146,25 @@ _e_comp_wl_buffer_reference_cb_destroy(struct wl_listener *listener, void *data)
 }
 
 static Eina_Bool
-_e_comp_wl_buffer_tbm_type_get(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer,
-                               E_Client *ec)
+_e_comp_wl_buffer_tbm_type_get(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer)
 {
    tbm_surface_h tsurface;
 
-   if (!base || !ds_buffer || !ec) return EINA_FALSE;
-
    tsurface = e_tbm_gbm_server_tbm_surface_get_from_buffer(ds_buffer);
    if (!tsurface)
      return EINA_FALSE;
 
-   if (ec->comp_data->video_client)
-     {
-        base->type = E_COMP_WL_BUFFER_TYPE_VIDEO;
-        base->w = base->h = 1;
-        base->format = 0;
-     }
-   else if (e_client_video_hw_composition_check(ec))
-     {
-        base->type = E_COMP_WL_BUFFER_TYPE_VIDEO;
-        base->w = tbm_surface_get_width(tsurface);
-        base->h = tbm_surface_get_height(tsurface);
-        base->format = tbm_surface_get_format(tsurface);
-     }
-   else
-     {
-        base->type = E_COMP_WL_BUFFER_TYPE_TBM;
-        base->w = tbm_surface_get_width(tsurface);
-        base->h = tbm_surface_get_height(tsurface);
-        base->format = tbm_surface_get_format(tsurface);
-     }
-
+   base->type = E_COMP_WL_BUFFER_TYPE_TBM;
+   base->w = tbm_surface_get_width(tsurface);
+   base->h = tbm_surface_get_height(tsurface);
+   base->format = tbm_surface_get_format(tsurface);
    base->tbm_surface = tsurface;
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-_e_comp_wl_buffer_init(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer, E_Client *ec)
+_e_comp_wl_buffer_init(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer)
 {
    struct wl_shm_buffer *shmbuff;
    struct wl_resource *resource;
@@ -206,7 +186,7 @@ _e_comp_wl_buffer_init(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer, E_Cl
         base->h = 1;
         base->format = WL_SHM_FORMAT_ARGB8888;
      }
-   else if (!_e_comp_wl_buffer_tbm_type_get(base, ds_buffer, ec))
+   else if (!_e_comp_wl_buffer_tbm_type_get(base, ds_buffer))
      {
         ERR("Invalid resource:%u", wl_resource_get_id(resource));
         return EINA_FALSE;
@@ -219,14 +199,7 @@ _e_comp_wl_buffer_init(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer, E_Cl
 
    wl_signal_init(&base->destroy_signal);
 
-   if (ec)
-     {
-        base->debug_info.owner_ptr = (void *)ec;
-        base->debug_info.owner_name = eina_stringshare_add(ec->icccm.name?:"");
-     }
-
-   DBG("Wl Buffer Create: b %p owner '%s'(%p)",
-       base, base->debug_info.owner_name, base->debug_info.owner_ptr);
+   DBG("E_Comp_Wl_Buffer Create: b %p", base);
 
    return EINA_TRUE;
 }
@@ -248,7 +221,7 @@ _e_comp_wl_buffer_finish(E_Comp_Wl_Buffer *base)
 }
 
 static E_Buffer *
-_e_buffer_create(struct ds_buffer *ds_buffer, E_Client *ec)
+_e_buffer_create(struct ds_buffer *ds_buffer)
 {
    E_Buffer *buffer;
 
@@ -258,7 +231,7 @@ _e_buffer_create(struct ds_buffer *ds_buffer, E_Client *ec)
 
    buffer->ds_buffer = ds_buffer;
 
-   if (!_e_comp_wl_buffer_init(&buffer->base, ds_buffer, ec))
+   if (!_e_comp_wl_buffer_init(&buffer->base, ds_buffer))
      {
         free(buffer);
         return NULL;
index 0c0feda..30ee74e 100644 (file)
@@ -4,7 +4,7 @@
 #include <libds/types/ds_buffer.h>
 #include "e_comp_wl.h"
 
-EINTERN E_Comp_Wl_Buffer *e_comp_wl_buffer_get(struct ds_buffer *ds_buffer, E_Client *ec);
+EINTERN E_Comp_Wl_Buffer *e_comp_wl_buffer_get(struct ds_buffer *ds_buffer);
 EINTERN void *e_comp_wl_buffer_single_pixel_buffer_data_get(E_Comp_Wl_Buffer *buffer);
 
 #endif
index fc7f995..c9dc749 100644 (file)
@@ -618,6 +618,23 @@ _e_surface_root_surface_get(E_Surface *surface)
 }
 
 static void
+_e_surface_buffer_video_content_type_check_and_set(E_Surface *surface, E_Comp_Wl_Buffer *buffer)
+{
+   E_Client *ec = surface->ec;
+
+   if (ec->comp_data->video_client)
+     {
+        buffer->type = E_COMP_WL_BUFFER_TYPE_VIDEO;
+        buffer->w = buffer->h = 1;
+        buffer->format = 0;
+     }
+   else if (e_client_video_hw_composition_check(ec))
+     {
+        buffer->type = E_COMP_WL_BUFFER_TYPE_VIDEO;
+     }
+}
+
+static void
 _e_surface_pending_buffer_update(E_Surface *surface)
 {
    struct ds_surface *ds_surface = surface->ds_surface;
@@ -625,7 +642,11 @@ _e_surface_pending_buffer_update(E_Surface *surface)
    E_Comp_Wl_Buffer *buffer = NULL;
 
    if (ds_surface->buffer)
-     buffer = e_comp_wl_buffer_get(ds_surface->buffer, ec);
+     {
+        buffer = e_comp_wl_buffer_get(ds_surface->buffer);
+        if (buffer)
+          _e_surface_buffer_video_content_type_check_and_set(surface, buffer);
+     }
 
    e_comp_wl_client_surface_pending_buffer_set(ec, buffer,
                                                ds_surface->current.dx,