On Fri, 21 Jun 2019 at 11:35, Conor McCarthy cmccarthy@codeweavers.com wrote:
static HRESULT STDMETHODCALLTYPE d3d11_swapchain_ResizeTarget(IDXGISwapChain1 *iface, const DXGI_MODE_DESC *target_mode_desc) {
- struct d3d11_swapchain *swapchain = d3d11_swapchain_from_IDXGISwapChain1(iface);
- struct wined3d_display_mode mode;
struct DXGI_SWAP_CHAIN_DESC swap_chain_desc;
TRACE("iface %p, target_mode_desc %p.\n", iface, target_mode_desc);
@@ -520,9 +574,9 @@ static HRESULT STDMETHODCALLTYPE d3d11_swapchain_ResizeTarget(IDXGISwapChain1 *i if (target_mode_desc->Scaling) FIXME("Ignoring scaling %#x.\n", target_mode_desc->Scaling);
- wined3d_display_mode_from_dxgi(&mode, target_mode_desc);
- d3d11_swapchain_GetDesc(iface, &swap_chain_desc);
- return wined3d_swapchain_resize_target(swapchain->wined3d_swapchain, &mode);
- return dxgi_resize_target(iface, &swap_chain_desc, target_mode_desc);
}
This is the only user of wined3d_swapchain_resize_target(), so in principle it could now be removed from wined3d. Whether that's a good idea depends to some extent on what we're going to do with the other swapchain functions. For example, wined3d_swapchain_set_fullscreen() is also used by wined3d internally, and has some interactions with the wined3d device, so in some regards it's a more interesting case. I.e., we wouldn't want to use one approach for wined3d_swapchain_resize_target(), and then another for wined3d_swapchain_set_fullscreen(), and perhaps a third for e.g. gamma control.