Module: wine
Branch: master
Commit: 3961491d15f64f10f583a974c2672a669c6f541a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3961491d15f64f10f583a974c…
Author: Stefan Dösinger <stefandoesinger(a)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 */
}
Module: wine
Branch: master
Commit: 9e340f0fdb5286f1c9e5ce198083f4faf60c3a4a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e340f0fdb5286f1c9e5ce198…
Author: Stefan Dösinger <stefandoesinger(a)gmx.at>
Date: Tue Sep 11 15:33:14 2007 +0200
wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL.
---
dlls/wined3d/state.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 9737f2b..493be88 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -216,6 +216,16 @@ static void state_zfunc(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3D
int glParm = CompareFunc(stateblock->renderState[WINED3DRS_ZFUNC]);
if(glParm) {
+ if(glParm == GL_EQUAL || glParm == GL_NOTEQUAL) {
+ /* There are a few issues with this: First, our inability to
+ * select a proper Z depth, most of the time we're stuck with
+ * D24S8, even if the app selects D32 or D16. There seem to be
+ * some other precision problems which have to be debugged to
+ * make NOTEQUAL and EQUAL work properly
+ */
+ FIXME("D3DCMP_NOTEQUAL and D3DCMP_EQUAL do not work correctly yet\n");
+ }
+
glDepthFunc(glParm);
checkGLcall("glDepthFunc");
}