[PATCH] Only call ENTER_GL for the parts in ActivateContext that actually need it.
Roderick Colenbrander
thunderbird2k at gmx.net
Sat Sep 29 10:12:35 CDT 2007
---
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 */
--
1.5.1.3
--========GMX259271191079453431283--
More information about the wine-patches
mailing list