[PATCH] d3d11: Add ID3D11DeviceContext2 stub.

Henri Verbeet hverbeet at gmail.com
Fri Sep 20 07:44:14 CDT 2019


On Tue, 10 Sep 2019 at 18:43, Andrey Gusev <andrey.goosev at gmail.com> wrote:
>
> Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
> ---
>  dlls/d3d11/d3d11_private.h |   2 +-
>  dlls/d3d11/device.c        | 605 +++++++++++++++++++++----------------
>  2 files changed, 349 insertions(+), 258 deletions(-)
>
Is there an application that needs this? We may want to consider
introducing a simple wrapper interface similar to IWineDXGIFactory
simply to make these kinds of updates less of a pain to review;
ID3D11DeviceContext3 and ID3D11DeviceContext4 also exist.

> -static const struct ID3D11DeviceContext1Vtbl d3d11_immediate_context_vtbl =
> +static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_UpdateTileMappings(ID3D11DeviceContext2 *iface,
> +        ID3D11Resource *resource, UINT region_count, const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
> +        const D3D11_TILE_REGION_SIZE *region_sizes, ID3D11Buffer *pool, UINT range_count, const UINT *range_flags,
> +        const UINT *pool_start_offsets, const UINT *range_tile_counts, UINT flags)
> +{
> +    FIXME("iface %p, resource %p, region_count %u, region_start_coordinates %p, region_sizes %p, pool %p, "
> +            "range_count %u, range_flags %p, pool_start_offsets %p, range_tile_counts %p, flags %u stub!\n",
> +            iface, resource, region_count, region_start_coordinates, region_sizes, pool, range_count, range_flags,
> +            pool_start_offsets, range_tile_counts, flags);
%#x for flags, please.

> +static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_CopyTileMappings(ID3D11DeviceContext2 *iface,
> +        ID3D11Resource *dst_resource, const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
> +        ID3D11Resource *src_resource, const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
> +        const D3D11_TILE_REGION_SIZE *region_size, UINT flags)
> +{
> +    FIXME("iface %p, dst_resource %p, dst_start_coordinate %p, src_resource %p, src_start_coordinate %p, "
> +            "region_size %p, flags %u stub!\n", iface, dst_resource, dst_start_coordinate, src_resource,
> +            src_start_coordinate, region_size, flags);
...
> +static void STDMETHODCALLTYPE d3d11_immediate_context_CopyTiles(ID3D11DeviceContext2 *iface,
> +        ID3D11Resource *resource, const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
> +        const D3D11_TILE_REGION_SIZE *size, ID3D11Buffer *buffer, UINT64 start_offset, UINT flags)
> +{
> +    FIXME("iface %p, resource %p, start_coordinate %p, size %p, buffer %p, start_offset %s, flags %u stub!\n",
> +            iface, resource, start_coordinate, size, buffer, wine_dbgstr_longlong(start_offset), flags);
...
> +static void STDMETHODCALLTYPE d3d11_immediate_context_UpdateTiles(ID3D11DeviceContext2 *iface,
> +        ID3D11Resource *dst_resource, const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
> +        const D3D11_TILE_REGION_SIZE *dst_region_size, const void *src_data, UINT flags)
> +{
> +    FIXME("iface %p, dst_resource %p, dst_start_coordinate %p, dst_region_size %p, src_data %p, flags %u stub!\n",
> +            iface, dst_resource, dst_start_coordinate, dst_region_size, src_data, flags);
Likewise.

> +static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_ResizeTilePool(ID3D11DeviceContext2 *iface,
> +        ID3D11Buffer *pool, UINT64 size)
> +{
> +    FIXME("iface %p, pool %p, size %s stub!\n", iface, pool, wine_dbgstr_longlong(size));
I'd prefer having an explicit 0x-prefix for the "size" format.



More information about the wine-devel mailing list