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