1 module aurora.directx.d3d11.d3d11_4;
2 
3 version(Windows):
4 
5 public import aurora.directx.d3d11.d3d11_3;
6 
7 public:
8 
9 ///
10 /// Constants
11 ///
12 
13 ///
14 /// Functions
15 ///
16 
17 ///
18 /// Enumerations
19 ///
20 
21 ///
22 /// Structures
23 ///
24 
25 struct D3D11_FEATURE_DATA_D3D11_OPTIONS4
26 {
27     bool ExtendedNV12SharedTextureSupported;
28 }
29 
30 ///
31 /// Interfaces
32 ///
33 
34 mixin(uuid!(ID3D11Device4, "8992ab71-02e6-4b8d-ba48-b056dcda42c4"));
35 public interface ID3D11Device4 : ID3D11Device3
36 {
37 extern(Windows):
38 	HRESULT RegisterDeviceRemovedEvent(HANDLE hEvent, uint *pdwCookie);
39     void UnregisterDeviceRemoved(uint dwCookie);
40 }
41 
42 mixin(uuid!(ID3D11Device5, "8ffde202-a0e7-45df-9e01-e837801b5ea0"));
43 public interface ID3D11Device5 : ID3D11Device4
44 {
45 extern(Windows):
46 	HRESULT CreateFence(ulong InitialValue, D3D11_FENCE_FLAG Flags, REFIID riid, void **ppFence);
47     HRESULT OpenSharedFence(HANDLE hFence, REFIID ReturnedInterface, void **ppFence);
48 }
49 
50 mixin(uuid!(ID3D11Multithread, "9B7E4E00-342C-4106-A19F-4F2704F689F0"));
51 public interface ID3D11Multithread : IUnknown
52 {
53 extern(Windows):
54 	void Enter();
55     bool GetMultithreadProtected();
56     void Leave();
57     bool SetMultithreadProtected(bool bMTProtect);
58 }
59 
60 mixin(uuid!(ID3D11VideoContext2, "C4E7374C-6243-4D1B-AE87-52B4F740E261"));
61 public interface ID3D11VideoContext2 : ID3D11VideoContext1
62 {
63 extern(Windows):
64 	HRESULT VideoProcessorGetOutputHDRMetaData(ID3D11VideoProcessor pVideoProcessor, DXGI_HDR_METADATA_TYPE Type, uint Size, const void *pHDRMetaData);
65     HRESULT VideoProcessorSetOutputHDRMetaData(ID3D11VideoProcessor pVideoProcessor, DXGI_HDR_METADATA_TYPE Type, uint Size, const void *pHDRMetaData);
66     HRESULT VideoProcessorGetStreamHDRMetaData(ID3D11VideoProcessor pVideoProcessor, uint StreamIndex, DXGI_HDR_METADATA_TYPE pType, uint Size, const void *pHDRMetaData);
67     HRESULT VideoProcessorSetStreamHDRMetaData(ID3D11VideoProcessor pVideoProcessor, uint StreamIndex, DXGI_HDR_METADATA_TYPE Type, uint Size, const void *pHDRMetaData);
68 }