dxgi: Implement CreateDXGIFactory2().

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2018-01-19 13:30:17 +01:00 committed by Alexandre Julliard
parent f2d8491ed9
commit e72db8de95
3 changed files with 23 additions and 6 deletions

View File

@ -1,4 +1,5 @@
@ stdcall CreateDXGIFactory(ptr ptr)
@ stdcall CreateDXGIFactory1(ptr ptr)
@ stdcall CreateDXGIFactory2(long ptr ptr)
@ stdcall DXGID3D10CreateDevice(ptr ptr ptr long ptr long ptr)
@ stdcall DXGID3D10RegisterLayers(ptr long)

View File

@ -56,18 +56,28 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, void *reserved)
return TRUE;
}
HRESULT WINAPI CreateDXGIFactory1(REFIID riid, void **factory)
HRESULT WINAPI CreateDXGIFactory2(UINT flags, REFIID iid, void **factory)
{
TRACE("riid %s, factory %p\n", debugstr_guid(riid), factory);
TRACE("flags %#x, iid %s, factory %p.\n", flags, debugstr_guid(iid), factory);
return dxgi_factory_create(riid, factory, TRUE);
if (flags)
FIXME("Ignoring flags %#x.\n", flags);
return dxgi_factory_create(iid, factory, TRUE);
}
HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory)
HRESULT WINAPI CreateDXGIFactory1(REFIID iid, void **factory)
{
TRACE("riid %s, factory %p\n", debugstr_guid(riid), factory);
TRACE("iid %s, factory %p.\n", debugstr_guid(iid), factory);
return dxgi_factory_create(riid, factory, FALSE);
return dxgi_factory_create(iid, factory, TRUE);
}
HRESULT WINAPI CreateDXGIFactory(REFIID iid, void **factory)
{
TRACE("iid %s, factory %p.\n", debugstr_guid(iid), factory);
return dxgi_factory_create(iid, factory, FALSE);
}
static BOOL get_layer(enum dxgi_device_layer_id id, struct dxgi_device_layer *layer)

View File

@ -223,3 +223,9 @@ interface IDXGIOutput3 : IDXGIOutput2
[out] UINT *flags
);
}
const UINT DXGI_CREATE_FACTORY_DEBUG = 0x1;
[local] HRESULT __stdcall CreateDXGIFactory2(UINT flags, REFIID iid, void **factory);
[local] HRESULT __stdcall DXGIGetDebugInterface1(UINT flags, REFIID iid, void **debug);