Gamescope: Show current scaler filter instead of FSR status

Removed parameter "fsr", added "filter".
pull/1042/head
Fabian Arndt 12 months ago
parent f1b5ba34be
commit ea9994b373

@ -162,8 +162,8 @@ static void msg_read_thread(){
if (!params.no_display || logger->is_active())
update_hud_info_with_frametime(sw_stats, params, vendorID, mangoapp_v1->visible_frametime_ns);
if (msg_size > offsetof(mangoapp_msg_v1, fsrUpscale)){
HUDElements.g_fsrUpscale = mangoapp_v1->fsrUpscale;
if (msg_size > offsetof(mangoapp_msg_v1, scaler_filter)){
HUDElements.g_scaler_filter = mangoapp_v1->scaler_filter;
if (params.fsr_steam_sharpness < 0)
HUDElements.g_fsrSharpness = mangoapp_v1->fsrSharpness;
else

@ -10,7 +10,7 @@ struct mangoapp_msg_v1 {
uint32_t pid;
uint64_t visible_frametime_ns;
uint8_t fsrUpscale;
uint8_t scaler_filter;
uint8_t fsrSharpness;
// For debugging
uint64_t app_frametime_ns;

@ -839,31 +839,28 @@ void HudElements::battery(){
#endif
}
void HudElements::gamescope_fsr(){
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_fsr] && HUDElements.g_fsrUpscale >= 0) {
ImguiNextColumnFirstItem();
string FSR_TEXT;
ImVec4 FSR_COLOR;
if (HUDElements.g_fsrUpscale){
FSR_TEXT = "ON";
FSR_COLOR = HUDElements.colors.fps_value_high;
} else {
FSR_TEXT = "OFF";
FSR_COLOR = HUDElements.colors.fps_value_low;
}
void HudElements::gamescope_scaler_filter(){
static const char* const gamescope_upscale_filter[] = {"LINEAR", "NEAREST", "FSR", "NIS"};
if (HUDElements.g_scaler_filter < 0 || HUDElements.g_scaler_filter > (int)ARRAY_SIZE(gamescope_upscale_filter))
return;
HUDElements.TextColored(HUDElements.colors.engine, "%s", "FSR");
ImguiNextColumnOrNewRow();
right_aligned_text(FSR_COLOR, HUDElements.ralign_width, "%s", FSR_TEXT.c_str());
if (HUDElements.g_fsrUpscale){
if (!HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_hide_fsr_sharpness]) {
ImguiNextColumnOrNewRow();
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%i", HUDElements.g_fsrSharpness);
ImGui::SameLine(0,1.0f);
ImGui::PushFont(HUDElements.sw_stats->font1);
HUDElements.TextColored(HUDElements.colors.text, "Sharp");
ImGui::PopFont();
}
if (!HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_filter])
return;
ImguiNextColumnFirstItem();
HUDElements.TextColored(HUDElements.colors.engine, "%s", "FILTER");
ImguiNextColumnOrNewRow();
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", gamescope_upscale_filter[HUDElements.g_scaler_filter]);
// Additional parameters
if (HUDElements.g_scaler_filter == 2) { // FSR
if (!HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_hide_fsr_sharpness]) {
ImguiNextColumnOrNewRow();
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%i", HUDElements.g_fsrSharpness);
ImGui::SameLine(0,1.0f);
ImGui::PushFont(HUDElements.sw_stats->font1);
HUDElements.TextColored(HUDElements.colors.text, "Sharp");
ImGui::PopFont();
}
}
}
@ -1194,7 +1191,7 @@ void HudElements::sort_elements(const std::pair<std::string, std::string>& optio
exec_list.push_back({int(ordered_functions.size() - 1), value}); }
if (param == "battery") { ordered_functions.push_back({battery, value}); }
if (param == "fps_only") { ordered_functions.push_back({fps_only, value}); }
if (param == "fsr") { ordered_functions.push_back({gamescope_fsr, value}); }
if (param == "filter") { ordered_functions.push_back({gamescope_scaler_filter, value});}
if (param == "debug") { ordered_functions.push_back({gamescope_frame_timing, value}); }
if (param == "gamepad_battery") { ordered_functions.push_back({gamepad_battery, value}); }
if (param == "frame_count") { ordered_functions.push_back({frame_count, value}); }
@ -1240,8 +1237,8 @@ void HudElements::legacy_elements(){
ordered_functions.push_back({battery, value});
if (params->enabled[OVERLAY_PARAM_ENABLED_fan])
ordered_functions.push_back({fan, value});
if (params->enabled[OVERLAY_PARAM_ENABLED_fsr])
ordered_functions.push_back({gamescope_fsr, value});
if (params->enabled[OVERLAY_PARAM_ENABLED_filter])
ordered_functions.push_back({gamescope_scaler_filter, value});
if (params->enabled[OVERLAY_PARAM_ENABLED_throttling_status])
ordered_functions.push_back({throttling_status, value});
if (params->enabled[OVERLAY_PARAM_ENABLED_fps])

@ -22,7 +22,7 @@ class HudElements{
int place;
int text_column = 1;
int table_columns_count = 0;
int g_fsrUpscale = -1;
int g_scaler_filter = -1;
int g_fsrSharpness = -1;
Clock::time_point last_exec;
std::vector<std::pair<std::string, std::string>> options;
@ -65,7 +65,7 @@ class HudElements{
static void _exec();
static void battery();
static void fps_only();
static void gamescope_fsr();
static void gamescope_scaler_filter();
static void gamescope_frame_timing();
static void gamepad_battery();
static void frame_count();

@ -77,7 +77,7 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_BOOL(battery) \
OVERLAY_PARAM_BOOL(battery_icon) \
OVERLAY_PARAM_BOOL(fps_only) \
OVERLAY_PARAM_BOOL(fsr) \
OVERLAY_PARAM_BOOL(filter) \
OVERLAY_PARAM_BOOL(mangoapp_steam) \
OVERLAY_PARAM_BOOL(debug) \
OVERLAY_PARAM_BOOL(gamepad_battery) \

Loading…
Cancel
Save