[PATCH] d2d1: Implement D2D1CreateDevice().

Henri Verbeet hverbeet at gmail.com
Tue Jun 16 10:47:11 CDT 2020


On Tue, 16 Jun 2020 at 16:36, Nikolay Sivov <nsivov at codeweavers.com> wrote:
>
> Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
> ---
>  dlls/d2d1/d2d1.spec      |  2 +-
>  dlls/d2d1/d2d1_private.h |  1 +
>  dlls/d2d1/factory.c      | 37 +++++++++++++++++++++++++++++++++++++
>  dlls/d2d1/tests/d2d1.c   | 19 +++++++++++++++++++
>  include/d2d1_1.idl       | 17 +++++++++++++++++
>  5 files changed, 75 insertions(+), 1 deletion(-)
>
Some of these lines are fairly long, please break at 100-120 columns.

> +        if (SUCCEEDED(IDXGIDevice_QueryInterface(dxgi_device, &IID_ID3D10Device, (void **)&d3d10_device)))
> +        {
> +            if (!(ID3D10Device_GetCreationFlags(d3d10_device) & D3D10_CREATE_DEVICE_SINGLETHREADED))
> +                default_properties.threadingMode = D2D1_THREADING_MODE_MULTI_THREADED;
> +            ID3D10Device_Release(d3d10_device);
> +        }
> +        else if (SUCCEEDED(IDXGIDevice_QueryInterface(dxgi_device, &IID_ID3D11Device, (void **)&d3d11_device)))
> +        {
> +            if (!(ID3D11Device_GetCreationFlags(d3d11_device) & D3D11_CREATE_DEVICE_SINGLETHREADED))
> +                default_properties.threadingMode = D2D1_THREADING_MODE_MULTI_THREADED;
> +            ID3D11Device_Release(d3d11_device);
> +        }
Is there ever a reason to query the d3d10 device interface? The d3d10
interface may not be available on a d3d11 device, but the d3d11
interface should always be available.



More information about the wine-devel mailing list