Use system-wide Wine, DXVK & D9VK for Steam Play/Proton (Windows) games directly from Linux Steam client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

41 lines
1.7 KiB

Original patch code by Valve Corporation
Original commits:
https://github.com/ValveSoftware/wine/commit/62c9478e4768e94e841da2ef75eb778ed346e3ab
LICENSE: See https://github.com/ValveSoftware/wine
Target Wine version of this patch file:
Wine 4.9 (Vanilla/Non-staging)
--- a/dlls/kernel32/heap.c
+++ b/dlls/kernel32/heap.c
@@ -75,6 +75,7 @@ WINE_DECLARE_DEBUG_CHANNEL(globalmem);
static HANDLE systemHeap; /* globally shared heap */
+extern BOOL CDECL __wine_needs_override_large_address_aware(void);
/***********************************************************************
* HEAP_CreateSystemHeap
@@ -1375,6 +1376,10 @@ VOID WINAPI GlobalMemoryStatus( LPMEMORY
MEMORYSTATUSEX memstatus;
OSVERSIONINFOW osver;
IMAGE_NT_HEADERS *nt = RtlImageNtHeader( GetModuleHandleW(0) );
+ static int force_large_address_aware = -1;
+
+ if (force_large_address_aware == -1)
+ force_large_address_aware = __wine_needs_override_large_address_aware();
/* Because GlobalMemoryStatus is identical to GlobalMemoryStatusEX save
for one extra field in the struct, and the lack of a bug, we simply
@@ -1415,7 +1420,8 @@ VOID WINAPI GlobalMemoryStatus( LPMEMORY
/* values are limited to 2Gb unless the app has the IMAGE_FILE_LARGE_ADDRESS_AWARE flag */
/* page file sizes are not limited (Adobe Illustrator 8 depends on this) */
- if (!(nt->FileHeader.Characteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE))
+ if (!(nt->FileHeader.Characteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE) &&
+ !force_large_address_aware)
{
if (lpBuffer->dwTotalPhys > MAXLONG) lpBuffer->dwTotalPhys = MAXLONG;
if (lpBuffer->dwAvailPhys > MAXLONG) lpBuffer->dwAvailPhys = MAXLONG;