[PATCH 2/5] wined3d: Pass a struct wined3d_output pointer to wined3d_device_set_cursor_properties().

Henri Verbeet hverbeet at gmail.com
Tue Mar 24 14:27:19 CDT 2020

On Tue, 24 Mar 2020 at 12:22, Zhiyi Zhang <zzhang at codeweavers.com> wrote:
> ---
>  dlls/d3d8/device.c        | 5 ++++-
>  dlls/d3d9/device.c        | 5 ++++-
>  dlls/wined3d/device.c     | 5 +++--
>  dlls/wined3d/wined3d.spec | 2 +-
>  include/wine/wined3d.h    | 3 ++-
>  5 files changed, 14 insertions(+), 6 deletions(-)
This seems wrong, or at least suspicious. For one, we have
wined3d_swapchain_get_output(), which we could use with the device's
implicit swapchain to get the corresponding output. More importantly,
the check against the display mode what introduced in
a98ccb543d25cfe7047fe65d91609080ca2ede8b with a reference to MSDN, but
no further details, and no tests as far as I'm aware. So just to list
a couple of possibilities:
    - MSDN is lying; we don't need to check this.
    - The check is only supposed to happen in fullscreen mode.
    - The check is supposed to happen against *any* output instead of
the semi-random current one.
    - The check is supposed to happen against *all* outputs.
    - The check is supposed to happen against the
backbuffer/frontbuffer/window dimensions of the implicit swapchain.
    - Like the previous possibility, but against all swapchains.

More information about the wine-devel mailing list