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

This commit is contained in:
H. Verbeet 2006-12-25 17:12:45 +01:00 committed by Alexandre Julliard
parent d6245409de
commit d6010edee0
1 changed files with 9 additions and 9 deletions

View File

@ -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 */