Signed-off-by: Józef Kucia jkucia@codeweavers.com --- dlls/d3d11/device.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 5873be680dc8..f65c9947cb1a 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4252,10 +4252,23 @@ static void STDMETHODCALLTYPE d3d10_device_ResolveSubresource(ID3D10Device1 *ifa ID3D10Resource *dst_resource, UINT dst_subresource_idx, ID3D10Resource *src_resource, UINT src_subresource_idx, DXGI_FORMAT format) { - FIXME("iface %p, dst_resource %p, dst_subresource_idx %u, " - "src_resource %p, src_subresource_idx %u, format %s stub!\n", + struct wined3d_resource *wined3d_dst_resource, *wined3d_src_resource; + struct d3d_device *device = impl_from_ID3D10Device(iface); + enum wined3d_format_id wined3d_format; + + TRACE("iface %p, dst_resource %p, dst_subresource_idx %u, " + "src_resource %p, src_subresource_idx %u, format %s.\n", iface, dst_resource, dst_subresource_idx, src_resource, src_subresource_idx, debug_dxgi_format(format)); + + wined3d_dst_resource = wined3d_resource_from_d3d10_resource(dst_resource); + wined3d_src_resource = wined3d_resource_from_d3d10_resource(src_resource); + wined3d_format = wined3dformat_from_dxgi_format(format); + wined3d_mutex_lock(); + wined3d_device_resolve_sub_resource(device->wined3d_device, + wined3d_dst_resource, dst_subresource_idx, + wined3d_src_resource, src_subresource_idx, wined3d_format); + wined3d_mutex_unlock(); }
static void STDMETHODCALLTYPE d3d10_device_VSGetConstantBuffers(ID3D10Device1 *iface,