Module: wine Branch: master Commit: e72db8de9568bc9dfd38f92fe9fd0737b37edefb URL: https://source.winehq.org/git/wine.git/?a=commit;h=e72db8de9568bc9dfd38f92fe...
Author: Józef Kucia jkucia@codeweavers.com Date: Fri Jan 19 13:30:17 2018 +0100
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
---
dlls/dxgi/dxgi.spec | 1 + dlls/dxgi/dxgi_main.c | 22 ++++++++++++++++------ include/dxgi1_3.idl | 6 ++++++ 3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/dlls/dxgi/dxgi.spec b/dlls/dxgi/dxgi.spec index 3270a53..801e6a4 100644 --- a/dlls/dxgi/dxgi.spec +++ b/dlls/dxgi/dxgi.spec @@ -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) diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c index 60ff3c1..36cf73b 100644 --- a/dlls/dxgi/dxgi_main.c +++ b/dlls/dxgi/dxgi_main.c @@ -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 CreateDXGIFactory1(REFIID iid, void **factory) +{ + TRACE("iid %s, factory %p.\n", debugstr_guid(iid), factory); + + return dxgi_factory_create(iid, factory, TRUE); }
-HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory) +HRESULT WINAPI CreateDXGIFactory(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, FALSE); }
static BOOL get_layer(enum dxgi_device_layer_id id, struct dxgi_device_layer *layer) diff --git a/include/dxgi1_3.idl b/include/dxgi1_3.idl index 5ea20dd..b43ca23 100644 --- a/include/dxgi1_3.idl +++ b/include/dxgi1_3.idl @@ -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);