d3d10core: Implement D3D10CoreCreateDevice().
Henri Verbeet
hverbeet at codeweavers.com
Fri Nov 14 06:57:06 CST 2008
---
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 */
--
1.5.6.4
--------------020901010900030007050500--
More information about the wine-patches
mailing list