[PATCH 2/4] include: Add dxgi1_4.idl
Ihsan Akmal
ihsanapps at gmail.com
Tue Sep 19 10:56:43 CDT 2017
Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
---
include/Makefile.in | 1 +
include/dxgi1_4.idl | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 150 insertions(+)
create mode 100644 include/dxgi1_4.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index 6bc63de..6a74825 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -69,6 +69,7 @@ IDL_SRCS = \
dxgi.idl \
dxgi1_2.idl \
dxgi1_3.idl \
+ dxgi1_4.idl \
dxva2api.idl \
dyngraph.idl \
endpointvolume.idl \
diff --git a/include/dxgi1_4.idl b/include/dxgi1_4.idl
new file mode 100644
index 0000000..487c615
--- /dev/null
+++ b/include/dxgi1_4.idl
@@ -0,0 +1,149 @@
+/*
+ * 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 = 0x00000001,
+ DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x00000002,
+} DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
+
+typedef enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
+{
+ DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x00000001,
+} DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;
+
+typedef enum DXGI_MEMORY_SEGMENT_GROUP
+{
+ DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0,
+ DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 1
+} 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 colorspace,
+ [out] UINT *colorspace_support
+ );
+
+ HRESULT SetColorSpace1(
+ [in] DXGI_COLOR_SPACE_TYPE colorspace
+ );
+
+ HRESULT ResizeBuffers1(
+ [in] UINT buffer_count,
+ [in] UINT width,
+ [in] UINT height,
+ [in] DXGI_FORMAT format,
+ [in] UINT swapchain_flags,
+ [in] const UINT *creation_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 colorspace,
+ [in] IUnknown *concerned_device,
+ [out] UINT *flags
+ );
+}
+
+[
+ object,
+ uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a),
+ local,
+ pointer_default(unique)
+]
+interface IDXGIFactory4 : IDXGIFactory3
+{
+ HRESULT EnumAdapterByLuid(
+ [in] LUID AdapterLuid,
+ [in] REFIID riid,
+ [out] void **adapter
+ );
+
+ HRESULT EnumWarpAdapter(
+ [in] REFIID riid,
+ [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 memory_segment_group,
+ [out] DXGI_QUERY_VIDEO_MEMORY_INFO *video_memory_info
+ );
+
+ HRESULT SetVideoMemoryReservation(
+ [in] UINT node_index,
+ [in] DXGI_MEMORY_SEGMENT_GROUP memory_segment_group,
+ [in] UINT64 reservation
+ );
+
+ HRESULT RegisterVideoMemoryBudgetChangeNotificationEvent(
+ [in] HANDLE event,
+ [out] DWORD *cookie
+ );
+
+ void UnregisterVideoMemoryBudgetChangeNotification(
+ [in] DWORD cookie
+ );
+}
--
2.14.1
More information about the wine-patches
mailing list