[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