mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-12-23 06:11:46 +00:00
[client] egl: display FSR equivalent quality mode
This also displays a tooltip to explain that quality can be changed by altering guest resolution and also show the resolutions needed to achieve each quality mode.
This commit is contained in:
parent
c4c60fd330
commit
fe823b6172
1 changed files with 65 additions and 0 deletions
|
@ -187,6 +187,71 @@ static bool egl_filterFFXFSR1ImguiConfig(EGL_Filter * filter)
|
||||||
redraw = true;
|
redraw = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->active)
|
||||||
|
{
|
||||||
|
double dimScale = (double) this->width / this->inWidth;
|
||||||
|
const char * name;
|
||||||
|
if (dimScale < 1.29)
|
||||||
|
name = "better than Ultra Quality";
|
||||||
|
else if (dimScale < 1.31)
|
||||||
|
name = "Ultra Quality";
|
||||||
|
else if (dimScale < 1.4)
|
||||||
|
name = "slightly worse than Ultra Quality";
|
||||||
|
else if (dimScale < 1.49)
|
||||||
|
name = "slightly better than Quality";
|
||||||
|
else if (dimScale < 1.51)
|
||||||
|
name = "Quality";
|
||||||
|
else if (dimScale < 1.6)
|
||||||
|
name = "slightly worse than Quality";
|
||||||
|
else if (dimScale < 1.69)
|
||||||
|
name = "slightly better than Balanced";
|
||||||
|
else if (dimScale < 1.71)
|
||||||
|
name = "Balanced";
|
||||||
|
else if (dimScale < 1.85)
|
||||||
|
name = "slightly worse than Balanced";
|
||||||
|
else if (dimScale < 1.99)
|
||||||
|
name = "slightly better than Performance";
|
||||||
|
else if (dimScale < 2.01)
|
||||||
|
name = "Performance";
|
||||||
|
else
|
||||||
|
name = "worse than Performance";
|
||||||
|
igText("Equivalent quality mode: %s", name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
igText("Equivalent quality mode: not upscaling, inactive");
|
||||||
|
|
||||||
|
if (igIsItemHovered(ImGuiHoveredFlags_None))
|
||||||
|
{
|
||||||
|
igBeginTooltip();
|
||||||
|
igText(
|
||||||
|
"Equivalent quality mode is decided by the resolution in the guest VM or the output\n"
|
||||||
|
"of the previous filter in the chain.\n\n"
|
||||||
|
"Here are the input resolutions needed for each quality mode at current window size:\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (igBeginTable("Resolutions", 2, 0, (ImVec2) { 0.0f, 0.0f }, 0.0f))
|
||||||
|
{
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("Ultra Quality");
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("%.0fx%.0f", this->width / 1.3, this->height / 1.3);
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("Quality");
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("%.0fx%.0f", this->width / 1.5, this->height / 1.5);
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("Balanced");
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("%.0fx%.0f", this->width / 1.7, this->height / 1.7);
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("Performance");
|
||||||
|
igTableNextColumn();
|
||||||
|
igText("%.0fx%.0f", this->width / 2.0, this->height / 2.0);
|
||||||
|
igEndTable();
|
||||||
|
}
|
||||||
|
igEndTooltip();
|
||||||
|
}
|
||||||
|
|
||||||
igText("Sharpness:");
|
igText("Sharpness:");
|
||||||
igSameLine(0.0f, -1.0f);
|
igSameLine(0.0f, -1.0f);
|
||||||
igPushItemWidth(igGetWindowWidth() - igGetCursorPosX() -
|
igPushItemWidth(igGetWindowWidth() - igGetCursorPosX() -
|
||||||
|
|
Loading…
Reference in a new issue