https://bugs.winehq.org/show_bug.cgi?id=57312
--- Comment #7 from next_ghost doucha@swarmtech.cz --- Hmm, I've tried running Rebuild 3 with WINDEBUG=+d3d and it looks like WINE uses incorrect draw buffer size in HiDPI mode. The is WINE 9.18 with DPI=96:
0024:trace:d3d:wined3d_output_get_display_mode Returning 1280x960@60 WINED3DFMT_B8G8R8X8_UNORM 0x1. 0024:trace:d3d:wined3d_swapchain_state_init Client rect (0,0)-(1280,960). 0024:trace:d3d:wined3d_swapchain_init Creating front buffer. 0024:trace:d3d:wined3d_texture_create device 0121FA88, desc 0031D530, layer_count 1, level_count 1, flags 0, data 00000000, parent 00000000, parent_ops 1F036164, texture 0123F218. 0024:trace:d3d:adapter_gl_create_texture device 0121FA88, desc 0031D530, layer_count 1, level_count 1, flags 0, parent 00000000, parent_ops 1F036164, texture 0123F218. 0024:trace:d3d:wined3d_texture_gl_init texture_gl 0124E308, device 0121FA88, desc 0031D530, layer_count 1, level_count 1, flags 0, parent 00000000, parent_ops 1F036164. 0024:trace:d3d:wined3d_texture_init texture 0124E308, resource_type WINED3D_RTYPE_TEXTURE_2D, format WINED3DFMT_B8G8R8X8_UNORM, multisample_type 0, multisample_quality 0, usage 0, bind_flags 0, access WINED3D_RESOURCE_ACCESS_GPU, width 1280, height 960, depth 1, layer_count 1, level_count 1, flags 0, device 0121FA88, parent 00000000, parent_ops 1F036164, sub_resources 0124E4DC, texture_ops 1F057D60.
And this is with DPI=120: 0024:trace:d3d:wined3d_output_get_display_mode Returning 1280x960@60 WINED3DFMT_B8G8R8X8_UNORM 0x1. 0024:trace:d3d:wined3d_swapchain_state_init Client rect (0,0)-(1136,640). 0024:trace:d3d:wined3d_swapchain_init Creating front buffer. 0024:trace:d3d:wined3d_texture_create device 0121FA88, desc 0031CF50, layer_count 1, level_count 1, flags 0, data 00000000, parent 00000000, parent_ops 1F036164, texture 0123F218. 0024:trace:d3d:adapter_gl_create_texture device 0121FA88, desc 0031CF50, layer_count 1, level_count 1, flags 0, parent 00000000, parent_ops 1F036164, texture 0123F218. 0024:trace:d3d:wined3d_texture_gl_init texture_gl 0123DBE8, device 0121FA88, desc 0031CF50, layer_count 1, level_count 1, flags 0, parent 00000000, parent_ops 1F036164. 0024:trace:d3d:wined3d_texture_init texture 0123DBE8, resource_type WINED3D_RTYPE_TEXTURE_2D, format WINED3DFMT_B8G8R8X8_UNORM, multisample_type 0, multisample_quality 0, usage 0, bind_flags 0, access WINED3D_RESOURCE_ACCESS_GPU, width 1136, height 640, depth 1, layer_count 1, level_count 1, flags 0, device 0121FA88, parent 00000000, parent_ops 1F036164, sub_resources 0123DDBC, texture_ops 1F057D60.
While wined3d_output_get_display_mode correctly returns 1280x960 in both cases, the swapchain buffer is created with different sizes: - 96 DPI: swapchain buffer size is 1280x960 (correct) - 120 DPI: swapchain buffer size is 1136x640