[PATCH 4/4] include: Add dxgi1_6.idl

Ihsan Akmal ihsanapps at gmail.com
Tue Sep 19 10:56:45 CDT 2017


Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
---
 include/Makefile.in |  1 +
 include/dxgi1_6.idl | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)
 create mode 100644 include/dxgi1_6.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index 747f27a..e541a51 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -71,6 +71,7 @@ IDL_SRCS = \
 	dxgi1_3.idl \
 	dxgi1_4.idl \
 	dxgi1_5.idl \
+	dxgi1_6.idl \
 	dxva2api.idl \
 	dyngraph.idl \
 	endpointvolume.idl \
diff --git a/include/dxgi1_6.idl b/include/dxgi1_6.idl
new file mode 100644
index 0000000..4be31b1
--- /dev/null
+++ b/include/dxgi1_6.idl
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2017 Ihsan Akmal
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "dxgi1_5.idl";
+
+typedef enum DXGI_ADAPTER_FLAG3
+{
+    DXGI_ADAPTER_FLAG3_NONE = 0,
+    DXGI_ADAPTER_FLAG3_REMOTE = 1,
+    DXGI_ADAPTER_FLAG3_SOFTWARE = 2,
+    DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 4,
+    DXGI_ADAPTER_FLAG3_FORCE_DWORD = 0xFFFFFFFF,
+} DXGI_ADAPTER_FLAG3;
+
+typedef struct DXGI_ADAPTER_DESC3
+{
+    WCHAR Description[128];
+    UINT VendorId;
+    UINT DeviceId;
+    UINT SubSysId;
+    UINT Revision;
+    SIZE_T DedicatedVideoMemory;
+    SIZE_T DedicatedSystemMemory;
+    SIZE_T SharedSystemMemory;
+    LUID AdapterLuid;
+    DXGI_ADAPTER_FLAG3 Flags;
+    DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity;
+    DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity;
+} DXGI_ADAPTER_DESC3;
+
+typedef struct DXGI_OUTPUT_DESC1
+{
+    WCHAR DeviceName[32];
+    RECT DesktopCoordinates;
+    BOOL AttachedToDesktop;
+    DXGI_MODE_ROTATION Rotation;
+    HMONITOR Monitor;
+    UINT BitsPerColor;
+    DXGI_COLOR_SPACE_TYPE ColorSpace;
+    FLOAT RedPrimary[2];
+    FLOAT GreenPrimary[2];
+    FLOAT BluePrimary[2];
+    FLOAT WhitePoint[2];
+    FLOAT MinLuminance;
+    FLOAT MaxLuminance;
+    FLOAT MaxFullFrameLuminance;
+} DXGI_OUTPUT_DESC1;
+
+typedef enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS
+{
+    DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN = 1,
+    DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED = 2,
+    DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED = 4,
+} DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS;
+
+[
+    object,
+    uuid(3c8d99d1-4fbf-4181-a82c-af66bf7bd24e),
+    local,
+    pointer_default(unique)
+]
+interface IDXGIAdapter4 : IDXGIAdapter3
+{
+    HRESULT GetDesc3(
+        [out] DXGI_ADAPTER_DESC3 *desc
+    );
+}
+
+[
+    object,
+    uuid(068346e8-aaec-4b84-add7-137f513f77a1),
+    local,
+    pointer_default(unique)
+]
+interface IDXGIOutput6 : IDXGIOutput5
+{
+    HRESULT GetDesc1(
+        [out] DXGI_OUTPUT_DESC1 *desc
+    );
+    
+    HRESULT CheckHardwareCompositionSupport(
+        [out] UINT *flags
+    );
+}
-- 
2.14.1




More information about the wine-patches mailing list