Commit c10bdbef authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Don't free low address space for large address aware applications.

Many games set the LARGE_ADDRESS_AWARE flag but don't pass the appropriate flags to d3dx9 to make it cope with it.
parent 6aa4d2e5
......@@ -1681,12 +1681,6 @@ void virtual_release_address_space( BOOL free_high_mem )
server_enter_uninterrupted_section( &csVirtual, &sigset );
#ifndef __APPLE__ /* dyld doesn't support parts of the WINE_DOS segment being unmapped */
range.base = (char *)0x20000000;
range.limit = (char *)0x7f000000;
while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 0 )) /* nothing */;
#endif
/* no large address space on win9x */
if (free_high_mem && NtCurrentTeb()->Peb->OSPlatformId == VER_PLATFORM_WIN32_NT)
{
......@@ -1695,6 +1689,15 @@ void virtual_release_address_space( BOOL free_high_mem )
while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 1 )) /* nothing */;
user_space_limit = working_set_limit = address_space_limit;
}
else
{
#ifndef __APPLE__ /* dyld doesn't support parts of the WINE_DOS segment being unmapped */
range.base = (char *)0x20000000;
range.limit = (char *)0x7f000000;
while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 0 )) /* nothing */;
#endif
}
server_leave_uninterrupted_section( &csVirtual, &sigset );
#endif
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment