From 1ddf4eb114c6a8073abb831e6314d9de715cdf65 Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Mon, 6 Jul 2020 18:59:21 +0900 Subject: [PATCH] e_info: add -trace exsync option trace enable e_explicit_sync Change-Id: I9b42a37590258f9ab5786a26bb78f02698e2685b --- src/bin/e_info_client.c | 10 +++++++++- src/bin/e_info_server.c | 19 +++++++++++++++++++ src/bin/e_info_shared_types.h | 4 +++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/bin/e_info_client.c b/src/bin/e_info_client.c index 3324874f18..523f43ce69 100644 --- a/src/bin/e_info_client.c +++ b/src/bin/e_info_client.c @@ -3369,6 +3369,14 @@ _e_info_client_proc_trace(int argc, char **argv) } return; } + else if (eina_streq(argv[2], "exsync")) + { + if (!_e_info_client_eldbus_message_with_args("trace_message_exsync", NULL, "i", onoff)) + { + printf("_e_info_client_eldbus_message_with_args error"); + } + return; + } } arg_err: @@ -6165,7 +6173,7 @@ static ProcInfo procs_to_tracelogs[] = #endif { "trace", - "[hwc | serial] [off: 0, on: 1]", + "[hwc | serial | exsync] [off: 0, on: 1]", "Show the trace log in detail", _e_info_client_proc_trace }, diff --git a/src/bin/e_info_server.c b/src/bin/e_info_server.c index c986d233a7..82ddb35942 100644 --- a/src/bin/e_info_server.c +++ b/src/bin/e_info_server.c @@ -4872,6 +4872,24 @@ e_info_server_cb_hwc(const Eldbus_Service_Interface *iface EINA_UNUSED, const El return reply; } +static Eldbus_Message * +e_info_server_cb_exsync_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_explicit_sync_trace_debug(on); + + return reply; +} + static Eldbus_Message * e_info_server_cb_show_plane_state(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg) { @@ -6864,6 +6882,7 @@ static const Eldbus_Method methods[] = { { "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}, { "trace_message_prstt", ELDBUS_ARGS({"i", "trace_message_presentation_time"}), NULL, e_info_server_cb_prstt_trace_message, 0}, + { "trace_message_exsync", ELDBUS_ARGS({"i", "trace_message_ex_sync"}), NULL, e_info_server_cb_exsync_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}, diff --git a/src/bin/e_info_shared_types.h b/src/bin/e_info_shared_types.h index ad8309a19d..5aca494005 100644 --- a/src/bin/e_info_shared_types.h +++ b/src/bin/e_info_shared_types.h @@ -240,7 +240,9 @@ typedef enum "\tenlightenment_info -trace serial 1\n" \ "\tenlightenment_info -trace serial 0\n" \ "\tenlightenment_info -trace prstt 1\n" \ - "\tenlightenment_info -trace prstt 0\n" + "\tenlightenment_info -trace prstt 0\n" \ + "\tenlightenment_info -trace exsync 1\n" \ + "\tenlightenment_info -trace exsync 0\n" /* -------------------------------------------------------------------------- */ /* HWC WINS */ -- 2.34.1