ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxgi1_4.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 3807 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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
19 import "dxgi1_3.idl";
20
21 typedef 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
27 typedef 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
32 typedef 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
38 typedef 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 ]
52 interface 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 ]
79 interface 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 ]
95 interface 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 ]
114 interface 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 }