diff --git a/include/dxgi.idl b/include/dxgi.idl index abfd299e222..8cba6156cb8 100644 --- a/include/dxgi.idl +++ b/include/dxgi.idl @@ -20,6 +20,10 @@ import "dxgitype.idl"; cpp_quote("#if 0") typedef HANDLE HMONITOR; +typedef struct _LUID { + DWORD LowPart; + LONG HighPart; +} LUID, *PLUID; cpp_quote("#endif") typedef UINT DXGI_USAGE; @@ -62,6 +66,18 @@ typedef struct DXGI_FRAME_STATISTICS { LARGE_INTEGER SyncGPUTime; } DXGI_FRAME_STATISTICS; +typedef struct DXGI_ADAPTER_DESC { + WCHAR Description[128]; + UINT VendorId; + UINT DeviceId; + UINT SubSysId; + UINT Revision; + SIZE_T DedicatedVideoMemory; + SIZE_T DedicatedSystemMemory; + SIZE_T SharedSystemMemory; + LUID AdapterLuid; +} DXGI_ADAPTER_DESC; + typedef struct DXGI_SWAP_CHAIN_DESC { DXGI_MODE_DESC BufferDesc; DXGI_SAMPLE_DESC SampleDesc; @@ -180,6 +196,26 @@ interface IDXGIOutput : IDXGIObject ); } +[ + object, + local, + uuid(2411e7e1-12ac-4ccf-bd14-9798e8534dc0) +] +interface IDXGIAdapter : IDXGIObject +{ + HRESULT EnumOutputs( + [in] UINT output_idx, + [in, out] IDXGIOutput **output + ); + HRESULT GetDesc( + [out] DXGI_ADAPTER_DESC *desc + ); + HRESULT CheckInterfaceSupport( + [in] REFGUID guid, + [out] LARGE_INTEGER umd_version + ); +} + [ object, local,