Henri Verbeet : d3d10core: Implement D3D10CoreCreateDevice().
Alexandre Julliard
julliard at winehq.org
Fri Nov 14 07:55:12 CST 2008
Module: wine
Branch: master
Commit: 3505b5cf17c402dc8e6f9c2455f287c53ccfce81
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3505b5cf17c402dc8e6f9c2455f287c53ccfce81
Author: Henri Verbeet <hverbeet at 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 */
More information about the wine-cvs
mailing list