wined3d: Unroll SM4+ pixel shader inputs.
[wine.git] / include / dxgi1_4.idl
blob0f63df202e8cbdd520ca96295a92346d49e5a7e7
1 /*
2 * Copyright 2017 Ihsan Akmal
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.
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.
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
19 import "dxgi1_3.idl";
21 typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
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;
27 typedef enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
29 DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
30 } DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;
32 typedef enum DXGI_MEMORY_SEGMENT_GROUP
34 DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0x0,
35 DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 0x1,
36 } DXGI_MEMORY_SEGMENT_GROUP;
38 typedef struct DXGI_QUERY_VIDEO_MEMORY_INFO
40 UINT64 Budget;
41 UINT64 CurrentUsage;
42 UINT64 AvailableForReservation;
43 UINT64 CurrentReservation;
44 } DXGI_QUERY_VIDEO_MEMORY_INFO;
47 object,
48 uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1),
49 local,
50 pointer_default(unique)
52 interface IDXGISwapChain3 : IDXGISwapChain2
54 UINT GetCurrentBackBufferIndex();
55 HRESULT CheckColorSpaceSupport(
56 [in] DXGI_COLOR_SPACE_TYPE colour_space,
57 [out] UINT *colour_space_support
59 HRESULT SetColorSpace1(
60 [in] DXGI_COLOR_SPACE_TYPE colour_space
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
74 object,
75 uuid(dc7dca35-2196-414d-9F53-617884032a60),
76 local,
77 pointer_default(unique)
79 interface IDXGIOutput4 : IDXGIOutput3
81 HRESULT CheckOverlayColorSpaceSupport(
82 [in] DXGI_FORMAT format,
83 [in] DXGI_COLOR_SPACE_TYPE colour_space,
84 [in] IUnknown *device,
85 [out] UINT *flags
90 object,
91 uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a),
92 local,
93 pointer_default(unique)
95 interface IDXGIFactory4 : IDXGIFactory3
97 HRESULT EnumAdapterByLuid(
98 [in] LUID luid,
99 [in] REFIID iid,
100 [out] void **adapter
102 HRESULT EnumWarpAdapter(
103 [in] REFIID iid,
104 [out] void **adapter
109 object,
110 uuid(645967a4-1392-4310-a798-8053ce3e93fd),
111 local,
112 pointer_default(unique)
114 interface IDXGIAdapter3 : IDXGIAdapter2
116 HRESULT RegisterHardwareContentProtectionTeardownStatusEvent(
117 [in] HANDLE event,
118 [out] DWORD *cookie
120 void UnregisterHardwareContentProtectionTeardownStatus(
121 [in] DWORD cookie
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
128 HRESULT SetVideoMemoryReservation(
129 [in] UINT node_index,
130 [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
131 [in] UINT64 reservation
133 HRESULT RegisterVideoMemoryBudgetChangeNotificationEvent(
134 [in] HANDLE event,
135 [out] DWORD *cookie
137 void UnregisterVideoMemoryBudgetChangeNotification(
138 [in] DWORD cookie