From 56692e9c5d0a63458cb5551535fab5bcd6674ce9 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 12 Nov 2008 15:43:46 +0100 Subject: [PATCH] dxgi: Add a stub for DXGID3D10RegisterLayers. --- dlls/dxgi/dxgi.spec | 1 + dlls/dxgi/dxgi_main.c | 7 +++++++ dlls/dxgi/dxgi_private.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/dlls/dxgi/dxgi.spec b/dlls/dxgi/dxgi.spec index 1c5069d5ddc..974b830a22b 100644 --- a/dlls/dxgi/dxgi.spec +++ b/dlls/dxgi/dxgi.spec @@ -1 +1,2 @@ @ stdcall CreateDXGIFactory(ptr ptr) +@ stdcall DXGID3D10RegisterLayers(ptr long) diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c index 44b4eeec36a..62e6f929af6 100644 --- a/dlls/dxgi/dxgi_main.c +++ b/dlls/dxgi/dxgi_main.c @@ -62,3 +62,10 @@ HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory) return hr; } + +HRESULT WINAPI DXGID3D10RegisterLayers(const struct dxgi_device_layer *layers, UINT layer_count) +{ + FIXME("layers %p, layer_count %u stub!\n", layers, layer_count); + + return E_NOTIMPL; +} diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h index 2c828e3b3cd..051cd87b23f 100644 --- a/dlls/dxgi/dxgi_private.h +++ b/dlls/dxgi/dxgi_private.h @@ -63,4 +63,36 @@ struct dxgi_swapchain LONG refcount; }; +/* Layered device */ +enum dxgi_device_layer_id +{ + DXGI_DEVICE_LAYER_DEBUG1 = 0x8, + DXGI_DEVICE_LAYER_THREAD_SAFE = 0x10, + DXGI_DEVICE_LAYER_DEBUG2 = 0x20, + DXGI_DEVICE_LAYER_SWITCH_TO_REF = 0x30, + DXGI_DEVICE_LAYER_D3D10_DEVICE = 0xffffffff, +}; + +struct layer_get_size_args +{ + DWORD unknown0; + DWORD unknown1; + DWORD *unknown2; + DWORD *unknown3; + IDXGIAdapter *adapter; + WORD interface_major; + WORD interface_minor; + WORD version_build; + WORD version_revision; +}; + +struct dxgi_device_layer +{ + enum dxgi_device_layer_id id; + HRESULT (WINAPI *init)(enum dxgi_device_layer_id id, DWORD *count, DWORD *values); + UINT (WINAPI *get_size)(enum dxgi_device_layer_id id, struct layer_get_size_args *args, DWORD unknown0); + HRESULT (WINAPI *create)(enum dxgi_device_layer_id id, void **layer_base, DWORD unknown0, + void *device_object, REFIID riid, void **device_layer); +}; + #endif /* __WINE_DXGI_PRIVATE_H */