Changelog: - protect viewport setting with GL lock - no need anymore to flush to FB on execute buffer calling -- Lionel Ulmer - http://www.bbrox.org/
--- dlls/ddraw_CVS/d3ddevice/mesa.c Mon May 26 11:07:28 2003 +++ dlls/ddraw/d3ddevice/mesa.c Mon May 26 13:26:00 2003 @@ -2205,11 +2205,15 @@ } This->active_viewport = *lpData; + ENTER_GL(); + /* Set the viewport */ glDepthRange(lpData->dvMinZ, lpData->dvMaxZ); glViewport(lpData->dwX, This->surface->surface_desc.dwHeight - (lpData->dwHeight + lpData->dwY), lpData->dwWidth, lpData->dwHeight); + + LEAVE_GL(); return DD_OK; } --- dlls/ddraw_CVS/d3dexecutebuffer.c Wed May 21 22:42:32 2003 +++ dlls/ddraw/d3dexecutebuffer.c Mon May 26 13:37:27 2003 @@ -74,11 +74,6 @@ if (TRACE_ON(ddraw)) _dump_executedata(&(This->data)); - if (((IDirect3DDeviceGLImpl *) lpDevice)->state == SURFACE_MEMORY_DIRTY) { - lpDevice->flush_to_framebuffer(lpDevice, NULL, ((IDirect3DDeviceGLImpl *) lpDevice)->lock_surf); - } - ((IDirect3DDeviceGLImpl *) lpDevice)->state = SURFACE_GL; - while (1) { LPD3DINSTRUCTION current = (LPD3DINSTRUCTION) instr; BYTE size;