dxgi: Add a separate function for dxgi_adapter initialization.

This commit is contained in:
Henri Verbeet 2009-09-10 16:57:19 +02:00 committed by Alexandre Julliard
parent fa07d93730
commit 7170a20239
3 changed files with 12 additions and 6 deletions

View File

@ -142,7 +142,7 @@ static UINT STDMETHODCALLTYPE dxgi_adapter_get_ordinal(IWineDXGIAdapter *iface)
return This->ordinal;
}
const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl =
static const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl =
{
/* IUnknown methods */
dxgi_adapter_QueryInterface,
@ -160,3 +160,11 @@ const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl =
/* IWineDXGIAdapter methods */
dxgi_adapter_get_ordinal,
};
void dxgi_adapter_init(struct dxgi_adapter *adapter, IDXGIFactory *parent, UINT ordinal)
{
adapter->vtbl = &dxgi_adapter_vtbl;
adapter->parent = parent;
adapter->refcount = 1;
adapter->ordinal = ordinal;
}

View File

@ -129,10 +129,7 @@ HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory)
goto fail;
}
adapter->vtbl = &dxgi_adapter_vtbl;
adapter->refcount = 1;
adapter->ordinal = i;
adapter->parent = (IDXGIFactory *)object;
dxgi_adapter_init(adapter, (IDXGIFactory *)object, i);
object->adapters[i] = (IDXGIAdapter *)adapter;
}

View File

@ -64,7 +64,6 @@ struct dxgi_device
};
/* IDXGIAdapter */
extern const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl;
struct dxgi_adapter
{
const struct IWineDXGIAdapterVtbl *vtbl;
@ -73,6 +72,8 @@ struct dxgi_adapter
UINT ordinal;
};
void dxgi_adapter_init(struct dxgi_adapter *adapter, IDXGIFactory *parent, UINT ordinal);
/* IDXGISwapChain */
extern const struct IDXGISwapChainVtbl dxgi_swapchain_vtbl;
struct dxgi_swapchain