steamcompmgr: Add FILL upscaler

This commit is contained in:
Joshua Ashton 2022-10-28 02:18:11 +01:00
parent 9b86a797a8
commit f302a23069
2 changed files with 11 additions and 2 deletions

View file

@ -33,6 +33,7 @@ enum class GamescopeUpscaleScaler : uint32_t
AUTO, AUTO,
INTEGER, INTEGER,
FIT, FIT,
FILL,
}; };
extern GamescopeUpscaleFilter g_upscaleFilter; extern GamescopeUpscaleFilter g_upscaleFilter;

View file

@ -901,8 +901,16 @@ void calc_scale_factor(float &out_scale_x, float &out_scale_y, float sourceWidth
float XRatio = (float)g_nNestedWidth / sourceWidth; float XRatio = (float)g_nNestedWidth / sourceWidth;
float YRatio = (float)g_nNestedHeight / sourceHeight; float YRatio = (float)g_nNestedHeight / sourceHeight;
if (g_upscaleScaler != GamescopeUpscaleScaler::FILL)
{
out_scale_x = std::min(XRatio, YRatio); out_scale_x = std::min(XRatio, YRatio);
out_scale_y = std::min(XRatio, YRatio); out_scale_y = std::min(XRatio, YRatio);
}
else
{
out_scale_x = std::max(XRatio, YRatio);
out_scale_y = std::max(XRatio, YRatio);
}
if (g_upscaleScaler == GamescopeUpscaleScaler::AUTO) if (g_upscaleScaler == GamescopeUpscaleScaler::AUTO)
{ {