Direct3D 11.4 Features
The following functionality has been added in Direct3D 11.4.
Direct3D device removal
The RegisterDeviceRemovedEvent, and UnregisterDeviceRemoved methods are supported by a new interface, ID3D11Device4, to support receiving an asynchronous event notification when a Direct3D device has been removed.
To ensure that graphics commands in particular are executed in a specific order, the ID3D11Multithread interface has methods to turn multithread protection on and off, and methods to enter and leave critical code requiring this protection.
Fences for multi-device synchronization and interop with Direct3D 12
The ID3D11Fence, ID3D11Device5 and ID3D11DeviceContext4 provide the same fence functionality as Direct3D 12 for Direct3D 11. Fences are used to synchronize multiple Direct3D11 devices, and for interop between Direct3D 11 and Direct3D 12. Fences are supported in the Windows 10 Creators Update.
Extended NV12 texture support
NV12 textures with capture and video encode capabilities now support sharing. Older D3D11 texture flags for video encode and capture are deprecated for NV12, as it will be set all the time for new drivers. Such textures can be shared not only with D3D11, but also with D3D12. In D3D12, no new flags represent these texture capabilities.
Refer to the boolean setting in D3D11_FEATURE_DATA_D3D11_OPTIONS4.
Drivers may support OS-managed shader caching of Direct3D11 applications in the Windows 10 Creators update.