dxgi: Add the IDXGIAdapter interface.
diff --git a/include/dxgi.idl b/include/dxgi.idl
index abfd299..8cba615 100644
--- a/include/dxgi.idl
+++ b/include/dxgi.idl
@@ -20,6 +20,10 @@
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 @@
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;
@@ -183,6 +199,26 @@
[
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,
uuid(310d36a0-d2e7-4c0a-aa04-6a9d23b8886a)
]
interface IDXGISwapChain : IDXGIDeviceSubObject