Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Windows: Refactor and extend MythRenderD3D9 for multithreaded DXVA2 s…
…upport. - Add IDirect3DDeviceManager9 support when DXVA2 is available. When DXVA2 support is not available, we simply 'acquire' the device by returning a pointer to it and locking our mutex. If device manager functionality is available, we create a devicemanager and use this to acquire the device. The device manager is also made available to other objects to allow them safe access to the underlying device (which will be used be DXVA2 decoder and video processor objects). Device manager locking is not recursive, hence several private functions have also been refactored to avoid lockups when using DXVA2. - Add a convenience class to acquire and automatically release the device (D3D9Locker). - Use QLibrary to load and resolve D3D9 (and DXVA2) libs. - Create the D3D9 device with multithreaded support.
- Loading branch information