Module: wine Branch: master Commit: e26013270120a1cd3ee30e3250416a7f676e308e URL: http://source.winehq.org/git/wine.git/?a=commit;h=e26013270120a1cd3ee30e3250...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed May 13 18:22:54 2009 +0200
wined3d: Add missing GL locking to set_blit_dimension() calls.
---
dlls/wined3d/context.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index a25d5ea..7e06b87 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -1109,7 +1109,9 @@ static inline void SetupForBlit(IWineD3DDeviceImpl *This, WineD3DContext *contex TRACE("Setting up context %p for blitting\n", context); if(context->last_was_blit) { if(context->blit_w != width || context->blit_h != height) { + ENTER_GL(); set_blit_dimension(width, height); + LEAVE_GL(); context->blit_w = width; context->blit_h = height; /* No need to dirtify here, the states are still dirtified because they weren't * applied since the last SetupForBlit call. Otherwise last_was_blit would not @@ -1268,9 +1270,11 @@ static inline void SetupForBlit(IWineD3DDeviceImpl *This, WineD3DContext *contex glDisable(GL_CLIP_PLANE4); checkGLcall("glDisable(clip plane 4)"); glDisable(GL_CLIP_PLANE5); checkGLcall("glDisable(clip plane 5)"); Context_MarkStateDirty(context, STATE_RENDER(WINED3DRS_CLIPPING), StateTable); - LEAVE_GL();
set_blit_dimension(width, height); + + LEAVE_GL(); + context->blit_w = width; context->blit_h = height; Context_MarkStateDirty(context, STATE_VIEWPORT, StateTable); Context_MarkStateDirty(context, STATE_TRANSFORM(WINED3DTS_PROJECTION), StateTable);