source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxgi1_5.idl@ 1172

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

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

File size: 3.3 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_4.idl";
20
21typedef enum DXGI_OUTDUPL_FLAG
22{
23 DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY = 0x1,
24} DXGI_OUTDUPL_FLAG;
25
26typedef enum DXGI_HDR_METADATA_TYPE
27{
28 DXGI_HDR_METADATA_TYPE_NONE = 0x0,
29 DXGI_HDR_METADATA_TYPE_HDR10 = 0x1,
30 DXGI_HDR_METADATA_TYPE_HDR10PLUS = 0x2,
31} DXGI_HDR_METADATA_TYPE;
32
33typedef enum _DXGI_OFFER_RESOURCE_FLAGS
34{
35 DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0x1,
36} DXGI_OFFER_RESOURCE_FLAGS;
37
38typedef enum _DXGI_RECLAIM_RESOURCE_RESULTS
39{
40 DXGI_RECLAIM_RESOURCE_RESULT_OK = 0x0,
41 DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 0x1,
42 DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 0x2,
43} DXGI_RECLAIM_RESOURCE_RESULTS;
44
45typedef enum DXGI_FEATURE
46{
47 DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0x0,
48} DXGI_FEATURE;
49
50typedef struct DXGI_HDR_METADATA_HDR10
51{
52 UINT16 RedPrimary[2];
53 UINT16 GreenPrimary[2];
54 UINT16 BluePrimary[2];
55 UINT16 WhitePoint[2];
56 UINT MaxMasteringLuminance;
57 UINT MinMasteringLuminance;
58 UINT16 MaxContentLightLevel;
59 UINT16 MaxFrameAverageLightLevel;
60} DXGI_HDR_METADATA_HDR10;
61
62typedef struct DXGI_HDR_METADATA_HDR10PLUS
63{
64 BYTE Data[72];
65} DXGI_HDR_METADATA_HDR10PLUS;
66
67[
68 object,
69 uuid(80a07424-ab52-42eb-833c-0c42fd282d98),
70 local,
71 pointer_default(unique)
72]
73interface IDXGIOutput5 : IDXGIOutput4
74{
75 HRESULT DuplicateOutput1(
76 [in] IUnknown *device,
77 [in] UINT flags,
78 [in] UINT format_count,
79 [in] const DXGI_FORMAT *formats,
80 [out] IDXGIOutputDuplication **duplication
81 );
82}
83
84[
85 object,
86 uuid(3d585d5a-bd4a-489e-b1f4-3dbcb6452ffb),
87 local,
88 pointer_default(unique)
89]
90interface IDXGISwapChain4 : IDXGISwapChain3
91{
92 HRESULT SetHDRMetaData(
93 [in] DXGI_HDR_METADATA_TYPE type,
94 [in] UINT size,
95 [in] void *metadata
96 );
97}
98
99[
100 object,
101 uuid(95b4f95f-d8da-4ca4-9ee6-3b76d5968a10),
102 local,
103 pointer_default(unique)
104]
105interface IDXGIDevice4 : IDXGIDevice3
106{
107 HRESULT OfferResources1(
108 [in] UINT resource_count,
109 [in] IDXGIResource *const *resources,
110 [in] DXGI_OFFER_RESOURCE_PRIORITY priority,
111 [in] UINT flags
112 );
113 HRESULT ReclaimResources1(
114 [in] UINT resource_count,
115 [in] IDXGIResource *const *resources,
116 [out] DXGI_RECLAIM_RESOURCE_RESULTS *results
117 );
118}
119
120[
121 object,
122 uuid(7632e1f5-ee65-4dca-87fd-84cd75f8838d),
123 local,
124 pointer_default(unique)
125]
126interface IDXGIFactory5 : IDXGIFactory4
127{
128 HRESULT CheckFeatureSupport(
129 DXGI_FEATURE feature,
130 [in, out] void *support_data,
131 UINT support_data_size
132 );
133}
Note: See TracBrowser for help on using the repository browser.