diff options
author | CrystalPT <CrystalPT@svn> | 2010-08-03 01:16:18 +0000 |
---|---|---|
committer | CrystalPT <CrystalPT@svn> | 2010-08-03 01:16:18 +0000 |
commit | d31b7bfe061e7e1232344168ae9e0e48c6323381 (patch) | |
tree | 1f844ed2aacbf3e8e2b6f405f15c625ae766acfa /guilib | |
parent | 94e7088d6a2da5d66c33e561a00ad8453b97a4ad (diff) |
[WIN32] changed: always place the YUV buffers for dvdplayer in system memory and copy to video memory before running the shaders.
Not less efficient, we're explicitely doing the copy instead of letting D3D do it for us.
Helps with auto refresh rate: the textures don't need to be released on device loss, meaning they can be locked for dvdplayer wihtout interfering.
Hopefully also helps with ticket #9476.
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@32438 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'guilib')
-rw-r--r-- | guilib/D3DResource.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/guilib/D3DResource.cpp b/guilib/D3DResource.cpp index 8e757aec94..b2ac1164f5 100644 --- a/guilib/D3DResource.cpp +++ b/guilib/D3DResource.cpp @@ -123,7 +123,9 @@ void CD3DTexture::SaveTexture() { delete[] m_data; m_data = NULL; - if (!(m_usage & D3DUSAGE_RENDERTARGET) && !(m_usage & D3DUSAGE_DEPTHSTENCIL)) + if(!(m_usage & D3DUSAGE_RENDERTARGET) + && !(m_usage & D3DUSAGE_DEPTHSTENCIL) + && !(m_pool == D3DPOOL_DEFAULT && (m_usage & D3DUSAGE_DYNAMIC) == 0)) { D3DLOCKED_RECT lr; if (LockRect( 0, &lr, NULL, D3DLOCK_READONLY )) |