Skip to content

Commit

Permalink
Windows: Refactor and extend MythRenderD3D9 for multithreaded DXVA2 s…
Browse files Browse the repository at this point in the history
…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
mark-kendall committed Mar 4, 2011
1 parent 889f533 commit 2e2a900
Show file tree
Hide file tree
Showing 2 changed files with 336 additions and 117 deletions.

0 comments on commit 2e2a900

Please sign in to comment.