Module: wine Branch: master Commit: 3505b5cf17c402dc8e6f9c2455f287c53ccfce81 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3505b5cf17c402dc8e6f9c2455...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Nov 14 13:57:06 2008 +0100
d3d10core: Implement D3D10CoreCreateDevice().
---
dlls/d3d10core/d3d10core.spec | 1 + dlls/d3d10core/d3d10core_main.c | 21 +++++++++++++++++++++ dlls/d3d10core/d3d10core_private.h | 2 ++ 3 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d10core/d3d10core.spec b/dlls/d3d10core/d3d10core.spec index 26c4ab3..9bf25b5 100644 --- a/dlls/d3d10core/d3d10core.spec +++ b/dlls/d3d10core/d3d10core.spec @@ -1 +1,2 @@ +@ stdcall D3D10CoreCreateDevice(ptr ptr long long ptr) @ stdcall D3D10CoreRegisterLayers() diff --git a/dlls/d3d10core/d3d10core_main.c b/dlls/d3d10core/d3d10core_main.c index e0b1eb6..6bc14c6 100644 --- a/dlls/d3d10core/d3d10core_main.c +++ b/dlls/d3d10core/d3d10core_main.c @@ -104,3 +104,24 @@ HRESULT WINAPI D3D10CoreRegisterLayers(void)
return S_OK; } + +HRESULT WINAPI D3D10CoreCreateDevice(IDXGIFactory *factory, IDXGIAdapter *adapter, + UINT flags, DWORD unknown0, ID3D10Device **device) +{ + IUnknown *dxgi_device; + HMODULE d3d10core; + HRESULT hr; + + d3d10core = GetModuleHandleA("d3d10core.dll"); + hr = DXGID3D10CreateDevice(d3d10core, factory, adapter, flags, unknown0, (void **)&dxgi_device); + if (FAILED(hr)) + { + WARN("Failed to create device, returning %#x\n", hr); + return hr; + } + + hr = IUnknown_QueryInterface(dxgi_device, &IID_ID3D10Device, (void **)device); + IUnknown_Release(dxgi_device); + + return hr; +} diff --git a/dlls/d3d10core/d3d10core_private.h b/dlls/d3d10core/d3d10core_private.h index 16a4e71..b33845c 100644 --- a/dlls/d3d10core/d3d10core_private.h +++ b/dlls/d3d10core/d3d10core_private.h @@ -75,6 +75,8 @@ struct dxgi_device_layer void *device_object, REFIID riid, void **device_layer); };
+HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, IDXGIAdapter *adapter, + UINT flags, DWORD unknown0, void **device); HRESULT WINAPI DXGID3D10RegisterLayers(const struct dxgi_device_layer *layers, UINT layer_count);
#endif /* __WINE_D3D10CORE_PRIVATE_H */