steamcompmgr: Fix integer scaling when supersampling

This commit is contained in:
Joshua Ashton 2022-02-25 08:02:18 +00:00
parent e190d55f65
commit 8597753b75

View file

@ -1185,7 +1185,7 @@ void MouseCursor::paint(win *window, win *fit, struct Composite_t *pComposite,
currentScaleRatio = (XRatio < YRatio) ? XRatio : YRatio; currentScaleRatio = (XRatio < YRatio) ? XRatio : YRatio;
currentScaleRatio = std::min(g_flMaxWindowScale, currentScaleRatio); currentScaleRatio = std::min(g_flMaxWindowScale, currentScaleRatio);
currentScaleRatio *= outputScaleRatio; currentScaleRatio *= outputScaleRatio;
if (g_bIntegerScale) if (g_bIntegerScale && currentScaleRatio > 1.0f)
currentScaleRatio = floor(currentScaleRatio); currentScaleRatio = floor(currentScaleRatio);
cursorOffsetX = (currentOutputWidth - sourceWidth * currentScaleRatio * globalScaleRatio) / 2.0f; cursorOffsetX = (currentOutputWidth - sourceWidth * currentScaleRatio * globalScaleRatio) / 2.0f;
@ -1360,7 +1360,7 @@ paint_window(win *w, win *scaleW, struct Composite_t *pComposite,
currentScaleRatio = (XRatio < YRatio) ? XRatio : YRatio; currentScaleRatio = (XRatio < YRatio) ? XRatio : YRatio;
currentScaleRatio = std::min(g_flMaxWindowScale, currentScaleRatio); currentScaleRatio = std::min(g_flMaxWindowScale, currentScaleRatio);
currentScaleRatio *= outputScaleRatio; currentScaleRatio *= outputScaleRatio;
if (g_bIntegerScale) if (g_bIntegerScale && currentScaleRatio > 1.0f)
currentScaleRatio = floor(currentScaleRatio); currentScaleRatio = floor(currentScaleRatio);
currentScaleRatio *= globalScaleRatio; currentScaleRatio *= globalScaleRatio;