Rémi Bernon (@rbernon) commented about dlls/win32u/window.c:
if (rect) {
window_rect = map_dpi_rect( *rect, dpi, get_dpi_for_window( hwnd ) );
if ((win_dpi = get_dpi_for_window( hwnd )) != dpi)
{
window_rect = map_dpi_rect( *rect, dpi, win_dpi ); InflateRect( &window_rect, 1, 1 ); /* compensate rounding errors */ }
else window_rect = *rect;
The inflation was mostly only necessary because of the DPI scaled window surface which was partially redrawn and which sometimes showed artifact on the boundaries of the exposed region because of rounding errors. If we're not triggering redraw when there's a surface, I think this also becomes mostly unnecessary.
We don't have DPI scaling without window surface upstream anyway, and I'm not sure it's worth spending time upstreaming DPI scaled server-side DC rendering when we would need some more generic implementation ultimately anyway (ie: always use surfaces, and proper compositing).