aboutsummaryrefslogtreecommitdiff
path: root/guilib
diff options
context:
space:
mode:
authorCrystalPT <CrystalPT@svn>2010-08-03 01:16:18 +0000
committerCrystalPT <CrystalPT@svn>2010-08-03 01:16:18 +0000
commitd31b7bfe061e7e1232344168ae9e0e48c6323381 (patch)
tree1f844ed2aacbf3e8e2b6f405f15c625ae766acfa /guilib
parent94e7088d6a2da5d66c33e561a00ad8453b97a4ad (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.cpp4
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 ))