static Eina_List *hooks = NULL;
+static Eina_Bool serial_trace_debug = 0;
+
/* local functions */
static void
_e_comp_wl_hooks_clean(void)
// --------------------------------------------------------
// 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)
{
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
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
}
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:
#endif
{
"trace",
- "[hwc] [off: 0, on: 1]",
+ "[hwc | serial] [off: 0, on: 1]",
"Show the trace log in detail",
_e_info_client_proc_trace
},
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)
{
{ "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},
/* 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_ */