e_info: added '-trace serial' to print tbm serial updates
authorJuyeon Lee <juyeonne.lee@samsung.com>
Wed, 21 Nov 2018 09:43:40 +0000 (18:43 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Tue, 27 Nov 2018 10:57:31 +0000 (19:57 +0900)
Change-Id: I5f94e220250f00988bf0194af62f06ad832ad1a9

src/bin/e_comp_wl.c
src/bin/e_comp_wl.h
src/bin/e_info_client.c
src/bin/e_info_server.c
src/bin/e_info_shared_types.h

index cd32936cf93ad3336327fa19b5edde94e5bb902a..110da8a9e00390d42a9e3866f228d972ee68cd4f 100644 (file)
@@ -71,6 +71,8 @@ static Eina_Inlist *_e_comp_wl_hooks[] =
 
 static Eina_List *hooks = NULL;
 
+static Eina_Bool serial_trace_debug = 0;
+
 /* local functions */
 static void
 _e_comp_wl_hooks_clean(void)
@@ -6261,6 +6263,14 @@ e_comp_wl_output_find(E_Client *ec)
 // --------------------------------------------------------
 // tizen_move_resize
 // --------------------------------------------------------
+EINTERN void
+e_comp_wl_trace_serial_debug(Eina_Bool on)
+{
+   if (on == serial_trace_debug) return;
+   serial_trace_debug = on;
+   INF("POSSIZE |\t\tserial trace_debug %s", on?"ON":"OFF");
+}
+
 static void
 _e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Surface_State *state)
 {
@@ -6276,7 +6286,9 @@ _e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Surface_State *st
 
    serial = wayland_tbm_server_buffer_get_buffer_serial(buffer->resource);
    ec->surface_sync.serial = serial;
-   DBG("POSSIZE |win:0x%08x|ec:0x%08x|Update serial(%u) wl_buffer&%u", (unsigned int)(e_client_util_win_get(ec)), (unsigned int)ec, ec->surface_sync.serial, wl_resource_get_id(buffer->resource));
+
+   if (serial_trace_debug)
+     INF("POSSIZE |win:0x%08x|ec:0x%08x|Update serial(%u) wl_buffer(%u)", (unsigned int)(e_client_util_win_get(ec)), (unsigned int)ec, serial, wl_resource_get_id(buffer->resource));
 }
 
 EINTERN Eina_Bool
index b4e6653bbb32e0fb033629c79b8c026e0a56e6a9..8de69f01c40579c15e5a559445e5406f339e3ef0 100644 (file)
@@ -575,6 +575,7 @@ E_API void e_comp_wl_subsurface_stack_update(E_Client *ec);
 E_API extern int E_EVENT_WAYLAND_GLOBAL_ADD;
 
 EINTERN Eina_Bool e_comp_wl_commit_sync_client_geometry_add(E_Client *ec, E_Client_Demand_Geometry mode, uint32_t serial, int32_t x, int32_t y, int32_t w, int32_t h);
+EINTERN void e_comp_wl_trace_serial_debug(Eina_Bool on);
 EINTERN Eina_Bool e_comp_wl_commit_sync_configure(E_Client *ec);
 # endif
 #endif
index b40393684295f48386fb4996fff731b558085bc1..9fd80af8d95d28d84821b2aad0c4ea2f3ff7dc75 100644 (file)
@@ -2978,6 +2978,14 @@ _e_info_client_proc_trace(int argc, char **argv)
                }
              return;
           }
+        else if (eina_streq(argv[2], "serial"))
+          {
+             if (!_e_info_client_eldbus_message_with_args("trace_message_serial", NULL, "i", onoff))
+               {
+                  printf("_e_info_client_eldbus_message_with_args error");
+               }
+             return;
+          }
      }
 
 arg_err:
@@ -4840,7 +4848,7 @@ static ProcInfo procs_to_tracelogs[] =
 #endif
    {
       "trace",
-      "[hwc] [off: 0, on: 1]",
+      "[hwc | serial] [off: 0, on: 1]",
       "Show the trace log in detail",
       _e_info_client_proc_trace
    },
index 9b7e88da14aea6b1701826146da9a06ff362a45f..4793f8a8aac1ddf263ced7bbd3257217670f4a14 100644 (file)
@@ -4165,6 +4165,24 @@ e_info_server_cb_hwc_trace_message(const Eldbus_Service_Interface *iface EINA_UN
    return reply;
 }
 
+static Eldbus_Message *
+e_info_server_cb_serial_trace_message(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+   Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+   uint32_t on;
+
+   if (!eldbus_message_arguments_get(msg, "i", &on))
+     {
+        ERR("Error getting arguments.");
+        return reply;
+     }
+
+   if (on == 0 || on == 1)
+     e_comp_wl_trace_serial_debug(on);
+
+   return reply;
+}
+
 static Eldbus_Message *
 e_info_server_cb_hwc(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
 {
@@ -5715,6 +5733,7 @@ static const Eldbus_Method methods[] = {
    { "dump_screen", ELDBUS_ARGS({"s", "dump_screen"}), NULL, _e_info_server_cb_screen_dump, 0 },
    { "output_mode", ELDBUS_ARGS({SIGNATURE_OUTPUT_MODE_CLIENT, "output mode"}), ELDBUS_ARGS({"a("SIGNATURE_OUTPUT_MODE_SERVER")", "array of ec"}), _e_info_server_cb_output_mode, 0 },
    { "trace_message_hwc", ELDBUS_ARGS({"i", "trace_message_hwc"}), NULL, e_info_server_cb_hwc_trace_message, 0},
+   { "trace_message_serial", ELDBUS_ARGS({"i", "trace_message_serial"}), NULL, e_info_server_cb_serial_trace_message, 0},
    { "hwc", ELDBUS_ARGS({"i", "hwc"}), NULL, e_info_server_cb_hwc, 0},
    { "show_plane_state", NULL, NULL, e_info_server_cb_show_plane_state, 0},
    { "show_pending_commit", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_PENDING_COMMIT")", "array of pending commit"}), e_info_server_cb_show_pending_commit, 0},
index 6f605c0044c1a03b70b768deb1752334b822a07e..75c0838fd072a9a1e66375209b8d82c139aa5e5a 100644 (file)
@@ -229,9 +229,11 @@ typedef enum
 /* TRACE                                                                      */
 /* -------------------------------------------------------------------------- */
 #define USAGE_TRACE                                                  \
-   "[hwc] [off: 0, on: 1]\n"                                \
+   "[hwc | serial] [off: 0, on: 1]\n"                                \
    "Example:\n"                                                      \
    "\tenlightenment_info -trace hwc 1\n"                             \
-   "\tenlightenment_info -trace hwc 0\n"
+   "\tenlightenment_info -trace hwc 0\n"                             \
+   "\tenlightenment_info -trace serial 1\n"                          \
+   "\tenlightenment_info -trace serial 0\n"
 
 #endif /* end of _E_INFO_SHARED_TYPES_ */