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
22 import
"d3dcommon.idl";
25 typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS4
27 BOOL ExtendedNV12SharedTextureSupported
;
28 } D3D11_FEATURE_DATA_D3D11_OPTIONS4
;
31 uuid(8992ab71
-02e6
-4b8d
-ba48
-b056dcda42c4
),
34 pointer_default(unique)
36 interface ID3D11Device4
: ID3D11Device3
38 HRESULT RegisterDeviceRemovedEvent
(
42 void UnregisterDeviceRemoved
(
48 uuid(8ffde202
-a0e7
-45df
-9e01
-e837801b5ea0
),
51 pointer_default(unique)
53 interface ID3D11Device5
: ID3D11Device4
55 HRESULT OpenSharedFence
(
61 [in] UINT64 initial_value
,
62 [in] D3D11_FENCE_FLAG flags
,
69 uuid(9b7e4e00
-342c
-4106-a19f
-4f2704f689f0
),
72 pointer_default(unique)
74 interface ID3D11Multithread
: IUnknown
78 BOOL SetMultithreadProtected
(
81 BOOL GetMultithreadProtected
();
85 uuid(c4e7374c
-6243-4d1b
-ae87
-52b4f740e261
),
88 pointer_default(unique)
90 interface ID3D11VideoContext2
: ID3D11VideoContext1
92 void VideoProcessorSetOutputHDRMetaData
(
93 [in] ID3D11VideoProcessor
*processor
,
94 [in] DXGI_HDR_METADATA_TYPE type
,
96 [in] const void *meta_data
98 void VideoProcessorGetOutputHDRMetaData
(
99 [in] ID3D11VideoProcessor
*processor
,
100 [out] DXGI_HDR_METADATA_TYPE
*type
,
102 [out] void *meta_data
105 void VideoProcessorSetStreamHDRMetaData
(
106 [in] ID3D11VideoProcessor
*processor
,
107 [in] UINT stream_index
,
108 [in] DXGI_HDR_METADATA_TYPE type
,
110 [in] const void *meta_data
113 void VideoProcessorGetStreamHDRMetaData
(
114 [in] ID3D11VideoProcessor
*processor
,
115 [in] UINT stream_index
,
116 [out] DXGI_HDR_METADATA_TYPE
*type
,
118 [out] void *meta_data