[mythtv-commits] mythtv/master commit: 2e2a90074 by mark-kendall (mark-kendall)
MythTV
noreply at mythtv.org
Fri Mar 4 01:07:01 UTC 2011
Author: mark-kendall <mkendall at mythtv.org>
Change Date: 2011-03-03T17:06:46-08:00
Push Date: 2011/03/03 17:06:59 -0800
Repository: mythtv
Branch: master
New Revision: 2e2a90074aacf2bd70e992a47ec4afb82251bcc6
Changeset: https://github.com/MythTV/mythtv/commit/2e2a90074
Log:
Windows: Refactor and extend MythRenderD3D9 for multithreaded DXVA2 support.
- 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.
Modified:
mythtv/libs/libmythui/mythrender_d3d9.cpp
mythtv/libs/libmythui/mythrender_d3d9.h
More information about the mythtv-commits
mailing list