X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fvulkan%2Foverlay-layer%2Foverlay_params.c;h=afc17ec07a92451b4a9d23eff9741ce51815d180;hb=HEAD;hp=2028bccbdc0eeeab458d4683b04a386b00ce03b7;hpb=81fd6ba7cc6a519c9e612eeb5dbf3fa1fbf9c431;p=mesa.git diff --git a/src/vulkan/overlay-layer/overlay_params.c b/src/vulkan/overlay-layer/overlay_params.c index 2028bccbdc0..afc17ec07a9 100644 --- a/src/vulkan/overlay-layer/overlay_params.c +++ b/src/vulkan/overlay-layer/overlay_params.c @@ -24,9 +24,13 @@ #include #include #include +#include +#include #include "overlay_params.h" +#include "util/os_socket.h" + static enum overlay_param_position parse_position(const char *str) { @@ -47,6 +51,21 @@ parse_output_file(const char *str) return fopen(str, "w+"); } +static int +parse_control(const char *str) +{ + int ret = os_socket_listen_abstract(str, 1); + if (ret < 0) { + fprintf(stderr, "ERROR: Couldn't create socket pipe at '%s'\n", str); + fprintf(stderr, "ERROR: '%s'\n", strerror(errno)); + return ret; + } + + os_socket_block(ret, false); + + return ret; +} + static uint32_t parse_fps_sampling_period(const char *str) { @@ -59,6 +78,15 @@ parse_no_display(const char *str) return strtol(str, NULL, 0) != 0; } +static unsigned +parse_unsigned(const char *str) +{ + return strtol(str, NULL, 0); +} + +#define parse_width(s) parse_unsigned(s) +#define parse_height(s) parse_unsigned(s) + static bool parse_help(const char *str) { @@ -73,6 +101,8 @@ parse_help(const char *str) fprintf(stderr, "\tfps_sampling_period=number-of-milliseconds\n"); fprintf(stderr, "\tno_display=0|1\n"); fprintf(stderr, "\toutput_file=/path/to/output.txt\n"); + fprintf(stderr, "\twidth=width-in-pixels\n"); + fprintf(stderr, "\theight=height-in-pixels\n"); return true; } @@ -136,6 +166,8 @@ parse_overlay_env(struct overlay_params *params, params->enabled[OVERLAY_PARAM_ENABLED_fps] = true; params->enabled[OVERLAY_PARAM_ENABLED_frame_timing] = true; params->fps_sampling_period = 500000; /* 500ms */ + params->width = params->height = 300; + params->control = -1; if (!env) return;