[hwc] adopt COMMIT_PER_VBLANK functionality for each ouptut
[platform/core/uifw/libtdm.git] / src / tdm_monitor_server.c
index e7844a5..07c2487 100644 (file)
@@ -220,23 +220,34 @@ done:
 }
 
 static void
-_tdm_monitor_server_commit_per_vblank(unsigned int pid, char *cwd, int argc, char *argv[], char *reply, int *len, tdm_display *dpy)
+_tdm_monitor_server_choose_commit_per_vblank_mode(unsigned int pid, char *cwd, int argc, char *argv[], char *reply, int *len, tdm_display *dpy)
 {
-       int enable;
+       int output_idx;
+       int mode;
        char *arg;
        char *end;
+       tdm_error err;
 
-       if (argc < 3) {
+       /* TODO: do we have to provide an ability to choose commit_per_vblank mode outside? */
+
+       if (argc < 4) {
                _tdm_monitor_server_usage(argv[0], reply, len);
                return;
        }
 
        arg = argv[2];
-       enable = strtol(arg, &end, 10);
+       output_idx = strtol(arg, &end, 10);
 
-       tdm_display_enable_commit_per_vblank(dpy, enable);
+       arg = argv[3];
+       mode = strtol(arg, &end, 10);
 
-       TDM_SNPRINTF(reply, len, "%s the commit-per-vblank\n", (enable) ? "enable" : "disable");
+       err = tdm_output_choose_commit_per_vblank_mode(tdm_display_get_output(dpy, output_idx, NULL), mode);
+       if (err != TDM_ERROR_NONE) {
+               TDM_SNPRINTF(reply, len, "an error: output_idx or mode is wrong\n");
+               return;
+       }
+
+       TDM_SNPRINTF(reply, len, "the mode's been set\n");
 }
 
 static void
@@ -539,10 +550,10 @@ static struct {
                "console"
        },
        {
-               "commit_per_vblank", _tdm_monitor_server_commit_per_vblank,
-               "enable/disable the commit per vblank",
-               "<enable>",
-               "0 or 1"
+               "choose_commit_per_vblank_mode", _tdm_monitor_server_choose_commit_per_vblank_mode,
+               "choose a commit_per_vblank mode for the output",
+               "<output_idx> <mode>",
+               "0 1 or 1 2 or 2 0"
        },
        {
                "fps", _tdm_monitor_server_fps,