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

This commit is contained in:
Roderick Colenbrander 2007-09-29 17:12:35 +02:00 committed by Alexandre Julliard
parent 001f380ac9
commit 9ad3807c15
1 changed files with 2 additions and 3 deletions

View File

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