}
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
"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,