H. Verbeet : wined3d: Copy the depth buffer after all dirty states are applied.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Dec 26 06:49:16 CST 2006


Module: wine
Branch: master
Commit: d6010edee074437335b1b75ce0c89e49a8458299
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d6010edee074437335b1b75ce0c89e49a8458299

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Mon Dec 25 17:12:45 2006 +0100

wined3d: Copy the depth buffer after all dirty states are applied.

---

 dlls/wined3d/drawprim.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index a050bb2..a1992c4 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -1949,15 +1949,6 @@ void drawPrimitive(IWineD3DDevice *iface
 
     BOOL lighting_changed, lighting_original = FALSE;
 
-    if (TRACE_ON(d3d_draw) && wined3d_settings.offscreen_rendering_mode == ORM_FBO) {
-        check_fbo_status(iface);
-    }
-
-    if (This->depth_copy_state == WINED3D_DCS_COPY) {
-        depth_copy(iface);
-    }
-    This->depth_copy_state = WINED3D_DCS_INITIAL;
-
     /* Shaders can be implemented using ARB_PROGRAM, GLSL, or software - 
      * here simply check whether a shader was set, or the user disabled shaders */
     if (This->vs_selected_mode != SHADER_NONE && This->stateBlock->vertexShader && 
@@ -1990,6 +1981,15 @@ void drawPrimitive(IWineD3DDevice *iface
     }
     This->numDirtyEntries = 0; /* This makes the whole list clean */
 
+    if (TRACE_ON(d3d_draw) && wined3d_settings.offscreen_rendering_mode == ORM_FBO) {
+        check_fbo_status(iface);
+    }
+
+    if (This->depth_copy_state == WINED3D_DCS_COPY) {
+        depth_copy(iface);
+    }
+    This->depth_copy_state = WINED3D_DCS_INITIAL;
+
     if(DrawPrimStrideData) {
 
         /* Note: this is a ddraw fixed-function code path */




More information about the wine-cvs mailing list