source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxgi1_4.idl@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.7 KB
Line 
1/*
2 * Copyright 2017 Ihsan Akmal
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19import "dxgi1_3.idl";
20
21typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
22{
23 DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
24 DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2,
25} DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
26
27typedef enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
28{
29 DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
30} DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;
31
32typedef enum DXGI_MEMORY_SEGMENT_GROUP
33{
34 DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0x0,
35 DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 0x1,
36} DXGI_MEMORY_SEGMENT_GROUP;
37
38typedef struct DXGI_QUERY_VIDEO_MEMORY_INFO
39{
40 UINT64 Budget;
41 UINT64 CurrentUsage;
42 UINT64 AvailableForReservation;
43 UINT64 CurrentReservation;
44} DXGI_QUERY_VIDEO_MEMORY_INFO;
45
46[
47 object,
48 uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1),
49 local,
50 pointer_default(unique)
51]
52interface IDXGISwapChain3 : IDXGISwapChain2
53{
54 UINT GetCurrentBackBufferIndex();
55 HRESULT CheckColorSpaceSupport(
56 [in] DXGI_COLOR_SPACE_TYPE colour_space,
57 [out] UINT *colour_space_support
58 );
59 HRESULT SetColorSpace1(
60 [in] DXGI_COLOR_SPACE_TYPE colour_space
61 );
62 HRESULT ResizeBuffers1(
63 [in] UINT buffer_count,
64 [in] UINT width,
65 [in] UINT height,
66 [in] DXGI_FORMAT format,
67 [in] UINT flags,
68 [in] const UINT *node_mask,
69 [in] IUnknown *const *present_queue
70 );
71}
72
73[
74 object,
75 uuid(dc7dca35-2196-414d-9F53-617884032a60),
76 local,
77 pointer_default(unique)
78]
79interface IDXGIOutput4 : IDXGIOutput3
80{
81 HRESULT CheckOverlayColorSpaceSupport(
82 [in] DXGI_FORMAT format,
83 [in] DXGI_COLOR_SPACE_TYPE colour_space,
84 [in] IUnknown *device,
85 [out] UINT *flags
86 );
87}
88
89[
90 object,
91 uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a),
92 local,
93 pointer_default(unique)
94]
95interface IDXGIFactory4 : IDXGIFactory3
96{
97 HRESULT EnumAdapterByLuid(
98 [in] LUID luid,
99 [in] REFIID iid,
100 [out] void **adapter
101 );
102 HRESULT EnumWarpAdapter(
103 [in] REFIID iid,
104 [out] void **adapter
105 );
106}
107
108[
109 object,
110 uuid(645967a4-1392-4310-a798-8053ce3e93fd),
111 local,
112 pointer_default(unique)
113]
114interface IDXGIAdapter3 : IDXGIAdapter2
115{
116 HRESULT RegisterHardwareContentProtectionTeardownStatusEvent(
117 [in] HANDLE event,
118 [out] DWORD *cookie
119 );
120 void UnregisterHardwareContentProtectionTeardownStatus(
121 [in] DWORD cookie
122 );
123 HRESULT QueryVideoMemoryInfo(
124 [in] UINT node_index,
125 [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
126 [out] DXGI_QUERY_VIDEO_MEMORY_INFO *memory_info
127 );
128 HRESULT SetVideoMemoryReservation(
129 [in] UINT node_index,
130 [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
131 [in] UINT64 reservation
132 );
133 HRESULT RegisterVideoMemoryBudgetChangeNotificationEvent(
134 [in] HANDLE event,
135 [out] DWORD *cookie
136 );
137 void UnregisterVideoMemoryBudgetChangeNotification(
138 [in] DWORD cookie
139 );
140}
Note: See TracBrowser for help on using the repository browser.