From: Stefan D��singer stefan@codeweavers.com
Star Trek Starfleet Academy does not like it when available video memory goes down after creating a system memory resource. It destroys all its textures and recreates them, and in some sitations forgets to recreate one or another texture, resulting in rendering bugs.
I suspect the game is trying to detect focus loss by monitoring for unexpected video memory changes.
---
I am open to renaming WINED3DUSAGE_PRIVATE to something else, like WINED3DUSAGE_NO_VIDMEM_ACCOUNTING. This particular name is ugly long though. --- dlls/ddraw/surface.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 421ce68fa1c..afba0d5ac4b 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -5998,6 +5998,7 @@ static HRESULT ddraw_surface_create_wined3d_texture(DDSURFACEDESC2 *desc, struct draw_texture_desc = *wined3d_desc; draw_texture_desc.bind_flags = bind_flags; draw_texture_desc.access = WINED3D_RESOURCE_ACCESS_GPU; + draw_texture_desc.usage = WINED3DUSAGE_PRIVATE;
if (FAILED(hr = wined3d_texture_create(wined3d_device, &draw_texture_desc, layers, levels, 0, NULL, texture, &ddraw_texture_wined3d_parent_ops, &draw_texture)))