[PATCH 5/7] include: Add dxgi1_4.idl.
Henri Verbeet
hverbeet at codeweavers.com
Thu Sep 21 15:29:36 CDT 2017
From: Ihsan Akmal <ihsanapps at gmail.com>
Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
include/dxgi1_4.idl | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 140 insertions(+)
create mode 100644 include/dxgi1_4.idl
diff --git a/include/dxgi1_4.idl b/include/dxgi1_4.idl
new file mode 100644
index 0000000..0f63df2
--- /dev/null
+++ b/include/dxgi1_4.idl
@@ -0,0 +1,140 @@
+/*
+ * 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_3.idl";
+
+typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
+{
+ DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
+ DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2,
+} DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
+
+typedef enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
+{
+ DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
+} DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;
+
+typedef enum DXGI_MEMORY_SEGMENT_GROUP
+{
+ DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0x0,
+ DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 0x1,
+} DXGI_MEMORY_SEGMENT_GROUP;
+
+typedef struct DXGI_QUERY_VIDEO_MEMORY_INFO
+{
+ UINT64 Budget;
+ UINT64 CurrentUsage;
+ UINT64 AvailableForReservation;
+ UINT64 CurrentReservation;
+} DXGI_QUERY_VIDEO_MEMORY_INFO;
+
+[
+ object,
+ uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1),
+ local,
+ pointer_default(unique)
+]
+interface IDXGISwapChain3 : IDXGISwapChain2
+{
+ UINT GetCurrentBackBufferIndex();
+ HRESULT CheckColorSpaceSupport(
+ [in] DXGI_COLOR_SPACE_TYPE colour_space,
+ [out] UINT *colour_space_support
+ );
+ HRESULT SetColorSpace1(
+ [in] DXGI_COLOR_SPACE_TYPE colour_space
+ );
+ HRESULT ResizeBuffers1(
+ [in] UINT buffer_count,
+ [in] UINT width,
+ [in] UINT height,
+ [in] DXGI_FORMAT format,
+ [in] UINT flags,
+ [in] const UINT *node_mask,
+ [in] IUnknown *const *present_queue
+ );
+}
+
+[
+ object,
+ uuid(dc7dca35-2196-414d-9F53-617884032a60),
+ local,
+ pointer_default(unique)
+]
+interface IDXGIOutput4 : IDXGIOutput3
+{
+ HRESULT CheckOverlayColorSpaceSupport(
+ [in] DXGI_FORMAT format,
+ [in] DXGI_COLOR_SPACE_TYPE colour_space,
+ [in] IUnknown *device,
+ [out] UINT *flags
+ );
+}
+
+[
+ object,
+ uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a),
+ local,
+ pointer_default(unique)
+]
+interface IDXGIFactory4 : IDXGIFactory3
+{
+ HRESULT EnumAdapterByLuid(
+ [in] LUID luid,
+ [in] REFIID iid,
+ [out] void **adapter
+ );
+ HRESULT EnumWarpAdapter(
+ [in] REFIID iid,
+ [out] void **adapter
+ );
+}
+
+[
+ object,
+ uuid(645967a4-1392-4310-a798-8053ce3e93fd),
+ local,
+ pointer_default(unique)
+]
+interface IDXGIAdapter3 : IDXGIAdapter2
+{
+ HRESULT RegisterHardwareContentProtectionTeardownStatusEvent(
+ [in] HANDLE event,
+ [out] DWORD *cookie
+ );
+ void UnregisterHardwareContentProtectionTeardownStatus(
+ [in] DWORD cookie
+ );
+ HRESULT QueryVideoMemoryInfo(
+ [in] UINT node_index,
+ [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
+ [out] DXGI_QUERY_VIDEO_MEMORY_INFO *memory_info
+ );
+ HRESULT SetVideoMemoryReservation(
+ [in] UINT node_index,
+ [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
+ [in] UINT64 reservation
+ );
+ HRESULT RegisterVideoMemoryBudgetChangeNotificationEvent(
+ [in] HANDLE event,
+ [out] DWORD *cookie
+ );
+ void UnregisterVideoMemoryBudgetChangeNotification(
+ [in] DWORD cookie
+ );
+}
--
2.1.4
More information about the wine-patches
mailing list