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 }