Module: wine Branch: master Commit: 5f2b9fafce72e36587f20eb43a824a2d1ec6fad1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f2b9fafce72e36587f20eb43a...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Oct 22 17:41:16 2008 +0200
dxgi: Add the IDXGIDevice interface.
---
include/dxgi.idl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/include/dxgi.idl b/include/dxgi.idl index 8e5563e..1f0c25e 100644 --- a/include/dxgi.idl +++ b/include/dxgi.idl @@ -38,6 +38,12 @@ typedef enum DXGI_SWAP_EFFECT { DXGI_SWAP_EFFECT_SEQUENTIAL = 1, } DXGI_SWAP_EFFECT;
+typedef enum DXGI_RESIDENCY { + DXGI_RESIDENCY_FULLY_RESIDENT = 1, + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, + DXGI_RESIDENCY_EVICTED_TO_DISK = 3, +} DXGI_RESIDENCY; + typedef struct DXGI_SURFACE_DESC { UINT Width; UINT Height; @@ -89,6 +95,10 @@ typedef struct DXGI_SWAP_CHAIN_DESC { UINT Flags; } DXGI_SWAP_CHAIN_DESC;
+typedef struct DXGI_SHARED_RESOURCE { + HANDLE Handle; +} DXGI_SHARED_RESOURCE; + [ object, local, @@ -294,3 +304,33 @@ interface IDXGIFactory : IDXGIObject }
[local] HRESULT CreateDXGIFactory(REFIID riid, void **factory); + +[ + object, + local, + uuid(54ec77fa-1377-44e6-8c32-88fd5f44c84c) +] +interface IDXGIDevice : IDXGIObject +{ + HRESULT GetAdapter( + [out] IDXGIAdapter **adapter + ); + HRESULT CreateSurface( + [in] const DXGI_SURFACE_DESC *desc, + [in] UINT surface_count, + [in] DXGI_USAGE usage, + [in] const DXGI_SHARED_RESOURCE *shared_resource, + [out] IDXGISurface **surface + ); + HRESULT QueryResourceResidency( + [in] IUnknown *const *resources, + [out] DXGI_RESIDENCY *residency, + [in] UINT resource_count + ); + HRESULT SetGPUThreadPriority( + [in] INT priority + ); + HRESULT GetGPUThreadPriority( + [out] INT *priority + ); +}