Stefan Dösinger : wined3d: Do not invalidate the sysmem copy if a pbo exists.
Alexandre Julliard
julliard at winehq.org
Mon Sep 17 07:59:47 CDT 2007
Module: wine
Branch: master
Commit: 3961491d15f64f10f583a974c2672a669c6f541a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3961491d15f64f10f583a974c2672a669c6f541a
Author: Stefan Dösinger <stefandoesinger at gmx.at>
Date: Fri Sep 14 17:46:19 2007 +0200
wined3d: Do not invalidate the sysmem copy if a pbo exists.
---
dlls/wined3d/surface.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index fd0a94b..d9a4e29 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -750,12 +750,11 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_LockRect(IWineD3DSurface *iface, WINED
/* Mark the surface locked */
This->Flags |= SFLAG_LOCKED;
- /* Whatever surface we have, make sure that there is memory allocated for the downloaded copy */
- if(!This->resource.allocatedMemory) {
- /* In case of PBOs allocatedMemory should be zero. */
- if(!(This->Flags & SFLAG_PBO))
- This->resource.allocatedMemory = HeapAlloc(GetProcessHeap() ,0 , This->resource.size + 4);
-
+ /* Whatever surface we have, make sure that there is memory allocated for the downloaded copy,
+ * or a pbo to map
+ */
+ if(!(This->resource.allocatedMemory || This->Flags & SFLAG_PBO)) {
+ This->resource.allocatedMemory = HeapAlloc(GetProcessHeap() ,0 , This->resource.size + 4);
This->Flags &= ~SFLAG_INSYSMEM; /* This is the marker that surface data has to be downloaded */
}
More information about the wine-cvs
mailing list