Implement gpu load color change

pull/358/head
Alessandro Toia 4 years ago
parent 144e9a5917
commit d7f04deb56

@ -57,7 +57,10 @@ struct swapchain_stats {
background,
text,
media_player,
wine;
wine,
gpu_load_high,
gpu_load_med,
gpu_load_low;
} colors;
};

@ -324,6 +324,12 @@ parse_font_glyph_ranges(const char *str)
#define parse_text_color(s) parse_color(s)
#define parse_media_player_color(s) parse_color(s)
#define parse_wine_color(s) parse_color(s)
#define parse_gpu_load_high_color(s) parse_color(s)
#define parse_gpu_load_med_color(s) parse_color(s)
#define parse_gpu_load_low_color(s) parse_color(s)
#define parse_gpu_load_high(s) parse_unsigned(s)
#define parse_gpu_load_med(s) parse_unsigned(s)
#define parse_gpu_load_low(s) parse_unsigned(s)
static bool
parse_help(const char *str)
@ -481,6 +487,9 @@ parse_overlay_config(struct overlay_params *params,
params->media_player_name = "";
params->font_scale = 1.0f;
params->wine_color = 0xeb5b5b;
params->gpu_load_high_color=0xb22222;
params->gpu_load_med_color=0xfdfd09;
params->gpu_load_low_color=0x39f900;
params->font_scale_media_player = 0.55f;
params->log_interval = 100;
params->media_player_order = { MP_ORDER_TITLE, MP_ORDER_ARTIST, MP_ORDER_ALBUM };
@ -562,7 +571,7 @@ parse_overlay_config(struct overlay_params *params,
params->font_scale_media_player = 0.55f;
// Convert from 0xRRGGBB to ImGui's format
std::array<unsigned *, 11> colors = {
std::array<unsigned *, 14> colors = {
&params->cpu_color,
&params->gpu_color,
&params->vram_color,
@ -574,6 +583,10 @@ parse_overlay_config(struct overlay_params *params,
&params->text_color,
&params->media_player_color,
&params->wine_color,
&params->gpu_load_high_color,
&params-> gpu_load_med_color,
&params->gpu_load_low_color,
};
for (auto color : colors){

@ -50,6 +50,7 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_BOOL(engine_version) \
OVERLAY_PARAM_BOOL(histogram) \
OVERLAY_PARAM_BOOL(wine) \
OVERLAY_PARAM_BOOL(gpu_load_change) \
OVERLAY_PARAM_CUSTOM(fps_sampling_period) \
OVERLAY_PARAM_CUSTOM(output_folder) \
OVERLAY_PARAM_CUSTOM(output_file) \
@ -90,6 +91,9 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_CUSTOM(io_color) \
OVERLAY_PARAM_CUSTOM(text_color) \
OVERLAY_PARAM_CUSTOM (wine_color) \
OVERLAY_PARAM_CUSTOM(gpu_load_high_color) \
OVERLAY_PARAM_CUSTOM(gpu_load_med_color) \
OVERLAY_PARAM_CUSTOM(gpu_load_low_color) \
OVERLAY_PARAM_CUSTOM(alpha) \
OVERLAY_PARAM_CUSTOM(log_duration) \
OVERLAY_PARAM_CUSTOM(pci_dev) \
@ -102,7 +106,11 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_CUSTOM(permit_upload) \
OVERLAY_PARAM_CUSTOM(render_mango) \
OVERLAY_PARAM_CUSTOM(benchmark_percentiles) \
OVERLAY_PARAM_CUSTOM(help)
OVERLAY_PARAM_CUSTOM(help) \
OVERLAY_PARAM_CUSTOM(gpu_load_high) \
OVERLAY_PARAM_CUSTOM(gpu_load_med) \
OVERLAY_PARAM_CUSTOM(gpu_load_low)
enum overlay_param_position {
LAYER_POSITION_TOP_LEFT,
@ -161,6 +169,8 @@ struct overlay_params {
int gl_vsync;
uint64_t log_duration;
unsigned cpu_color, gpu_color, vram_color, ram_color, engine_color, io_color, frametime_color, background_color, text_color, wine_color;
unsigned gpu_load_high_color,gpu_load_med_color,gpu_load_low_color;
int gpu_load_high,gpu_load_med,gpu_load_low,gpu_load_change;
unsigned media_player_color;
unsigned tableCols;
unsigned render_mango;

@ -1026,9 +1026,28 @@ void render_imgui(swapchain_stats& data, struct overlay_params& params, ImVec2&
gpu_text = params.gpu_text.c_str();
ImGui::TextColored(data.colors.gpu, "%s", gpu_text);
ImGui::TableNextCell();
right_aligned_text(data.colors.text,ralign_width, "%i", gpu_info.load);
ImGui::SameLine(0, 1.0f);
ImGui::Text("%%");
if(params.enabled[OVERLAY_PARAM_ENABLED_gpu_load_change]){
if(gpu_info.load >= params.gpu_load_high){
right_aligned_text(data.colors.gpu_load_high,ralign_width, "%i", gpu_info.load);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(data.colors.gpu_load_high,"%%");
}
else if (gpu_info.load >= params.gpu_load_med && gpu_info.load < params.gpu_load_high && gpu_info.load > params.gpu_load_low) {
right_aligned_text(data.colors.gpu_load_med,ralign_width, "%i", gpu_info.load);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(data.colors.gpu_load_med,"%%");
}
else {
right_aligned_text(data.colors.gpu_load_low,ralign_width, "%i", gpu_info.load);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(data.colors.gpu_load_low,"%%");
}
}
else {
right_aligned_text(data.colors.text,ralign_width, "%i", gpu_info.load);
ImGui::SameLine(0, 1.0f);
ImGui::Text("%%");
}
// ImGui::SameLine(150);
// ImGui::Text("%s", "%");
if (params.enabled[OVERLAY_PARAM_ENABLED_gpu_temp]){
@ -2096,6 +2115,9 @@ void convert_colors(bool do_conv, struct swapchain_stats& sw_stats, struct overl
sw_stats.colors.text = convert(params.text_color);
sw_stats.colors.media_player = convert(params.media_player_color);
sw_stats.colors.wine = convert(params.wine_color);
sw_stats.colors.gpu_load_high = convert(params.gpu_load_high_color);
sw_stats.colors.gpu_load_med = convert(params.gpu_load_med_color);
sw_stats.colors.gpu_load_low = convert(params.gpu_load_low_color);
ImGuiStyle& style = ImGui::GetStyle();
style.Colors[ImGuiCol_PlotLines] = convert(params.frametime_color);

Loading…
Cancel
Save