wined3d: Avoid calling LoadTexture with gl lock held in IWineD3DSurfaceImpl_PreLoad.
Needed to prevent ActivateContext being called while holding gl lock.
This commit is contained in:
parent
1e6f02ed2b
commit
b54553a253
|
@ -509,19 +509,22 @@ void WINAPI IWineD3DSurfaceImpl_PreLoad(IWineD3DSurface *iface) {
|
||||||
}
|
}
|
||||||
glBindTexture(This->glDescription.target, This->glDescription.textureName);
|
glBindTexture(This->glDescription.target, This->glDescription.textureName);
|
||||||
checkGLcall("glBindTexture");
|
checkGLcall("glBindTexture");
|
||||||
|
LEAVE_GL();
|
||||||
IWineD3DSurface_LoadTexture(iface, FALSE);
|
IWineD3DSurface_LoadTexture(iface, FALSE);
|
||||||
/* This is where we should be reducing the amount of GLMemoryUsed */
|
/* This is where we should be reducing the amount of GLMemoryUsed */
|
||||||
} else if (This->glDescription.textureName) { /* NOTE: the level 0 surface of a mpmapped texture must be loaded first! */
|
} else if (This->glDescription.textureName) { /* NOTE: the level 0 surface of a mpmapped texture must be loaded first! */
|
||||||
/* assume this is a coding error not a real error for now */
|
/* assume this is a coding error not a real error for now */
|
||||||
FIXME("Mipmap surface has a glTexture bound to it!\n");
|
FIXME("Mipmap surface has a glTexture bound to it!\n");
|
||||||
|
LEAVE_GL();
|
||||||
}
|
}
|
||||||
if (This->resource.pool == WINED3DPOOL_DEFAULT) {
|
if (This->resource.pool == WINED3DPOOL_DEFAULT) {
|
||||||
/* Tell opengl to try and keep this texture in video ram (well mostly) */
|
/* Tell opengl to try and keep this texture in video ram (well mostly) */
|
||||||
GLclampf tmp;
|
GLclampf tmp;
|
||||||
tmp = 0.9f;
|
tmp = 0.9f;
|
||||||
|
ENTER_GL();
|
||||||
glPrioritizeTextures(1, &This->glDescription.textureName, &tmp);
|
glPrioritizeTextures(1, &This->glDescription.textureName, &tmp);
|
||||||
|
LEAVE_GL();
|
||||||
}
|
}
|
||||||
LEAVE_GL();
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue