Roderick Colenbrander : wined3d: Only call ENTER_GL for the parts in ActivateContext that actually need it.

Alexandre Julliard julliard at winehq.org
Mon Oct 1 07:54:59 CDT 2007


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

Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date:   Sat Sep 29 17:12:35 2007 +0200

wined3d: Only call ENTER_GL for the parts in ActivateContext that actually need it.

---

 dlls/wined3d/context.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 776b20d..23569fa 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -851,7 +851,6 @@ void ActivateContext(IWineD3DDeviceImpl *This, IWineD3DSurface *target, ContextU
 
     TRACE("(%p): Selecting context for render target %p, thread %d\n", This, target, tid);
 
-    ENTER_GL();
     if(This->lastActiveRenderTarget != target || tid != This->lastThread) {
         context = FindContext(This, target, tid);
         This->lastActiveRenderTarget = target;
@@ -865,15 +864,15 @@ void ActivateContext(IWineD3DDeviceImpl *This, IWineD3DSurface *target, ContextU
     if(context != This->activeContext) {
         BOOL ret;
         TRACE("Switching gl ctx to %p, hdc=%p ctx=%p\n", context, context->hdc, context->glCtx);
-        LEAVE_GL();
         ret = pwglMakeCurrent(context->hdc, context->glCtx);
-        ENTER_GL();
         if(ret == FALSE) {
             ERR("Failed to activate the new context\n");
         }
         This->activeContext = context;
     }
 
+    /* We only need ENTER_GL for the gl calls made below and for the helper functions which make GL calls */
+    ENTER_GL();
     switch(usage) {
         case CTXUSAGE_RESOURCELOAD:
             /* This does not require any special states to be set up */




More information about the wine-cvs mailing list