Skip to content

Commit

Permalink
Merge remote-tracking branch 'tkg/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
marzent committed Feb 20, 2024
2 parents 92e6f21 + b1d7ee3 commit 1d5fc26
Show file tree
Hide file tree
Showing 20 changed files with 16,305 additions and 37 deletions.
6 changes: 6 additions & 0 deletions wine-tkg-git/customization.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ _staging_version=""
# !! For plain Wine required disabling esync and fsync patches applying !!
_use_fastsync="false"

# NTsync5 - https://repo.or.cz/wine/zf.git/shortlog/refs/heads/ntsync5
# !! For building and using requires ntsync module and headers (see the three packages https://aur.archlinux.org/pkgbase/ntsync) !!
# !! Not compatible with _protonify, _use_staging, nor any of _use_esync, _use_fsync or _use_fastsync options at this time !!
# !! Not compatible with Valve trees !!
_use_ntsync="false"

# esync - Enable with WINEESYNC=1 envvar - Set to true to enable esync support on plain wine or wine-staging <4.6 (it got merged in wine-staging 4.6). The option is ignored on wine-staging 4.6+
# You may need to raise your fd limits -> https://github.com/zfigura/wine/blob/esync/README.esync
_use_esync="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,16 +226,18 @@ diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index e0e5006f498..f5e8a211ee6 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -773,42 +773,11 @@ NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_i
@@ -773,46 +773,13 @@ NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_i
WORD machine = pe_info->machine;
ULONGLONG res_start = pe_info->base;
ULONGLONG res_end = pe_info->base + pe_info->map_size;
- const char *ld_preload = getenv( "LD_PRELOAD" );
char preloader_reserve[64], socket_env[64];

if (pe_info->image_flags & IMAGE_FLAGS_WineFakeDll) res_start = res_end = 0;
if (pe_info->image_flags & IMAGE_FLAGS_ComPlusNativeReady) machine = native_machine;


unsetenv( "WINE_LD_PRELOAD" );

- /* HACK: Unset LD_PRELOAD before executing explorer.exe to disable buggy gameoverlayrenderer.so */
- if (ld_preload && argv[2] && !strcmp( argv[2], "C:\\windows\\system32\\explorer.exe" ) &&
- argv[3] && !strcmp( argv[3], "/desktop" ))
Expand Down Expand Up @@ -264,11 +266,13 @@ index e0e5006f498..f5e8a211ee6 100644
- while (*next);
-
- putenv( env );
- ld_preload = NULL;
- }
-
- if (ld_preload) setenv( "WINE_LD_PRELOAD", ld_preload, 1 );

signal( SIGPIPE, SIG_DFL );

sprintf( socket_env, "WINESERVERSOCKET=%u", socketfd );

@@ -2140,22 +2109,8 @@ void *steamclient_handle_fault( LPCVOID addr, DWORD err )
return NULL;
}
Expand Down
8 changes: 4 additions & 4 deletions wine-tkg-git/wine-tkg-patches/hotfixes/valve/hotfixes
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,11 @@ if [ "$_use_staging" = "true" ]; then
-W user32-Mouse_Message_Hwnd \
-W wined3d-SWVP-shaders \
-W wined3d-Indexed_Vertex_Blending \
-W winepulse-PulseAudio_Support)
-W winepulse-PulseAudio_Support \
-W d3dx9_36-D3DXStubs \
-W shell32-registry-lookup-app)
if [[ "$_LOCAL_PRESET" = valve-ex* ]]; then
_staging_args+=(-W shell32-registry-lookup-app \
-W d3dx9_36-D3DXStubs \
-W ntdll-ext4-case-folder)
_staging_args+=(-W ntdll-ext4-case-folder)
fi
else
_staging_args+=(-W winex11-_NET_ACTIVE_WINDOW \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

# Standalone child window support for vk - Fixes World of Final Fantasy and others - https://bugs.winehq.org/show_bug.cgi?id=45277 - legacy patchset for older trees applied at an earlier stage in the script
if ( [ "$_childwindow_fix" = "true" ] && [ "$_proton_fs_hack" != "true" ] && [ "$_use_staging" = "true" ] ); then
if git merge-base --is-ancestor c0042af5cc2f6d03e3875f4cd4a7c97315dd0ab2 HEAD; then
if git merge-base --is-ancestor eb5993a7c6fbc1cd9deac0dceabc8f1c76e14ba8 HEAD; then
_patchname='childwindow-proton.patch' && _patchmsg="Applied child window for vk patch" && nonuser_patcher
elif git merge-base --is-ancestor c0042af5cc2f6d03e3875f4cd4a7c97315dd0ab2 HEAD; then
_patchname='childwindow-proton-eb5993a.patch' && _patchmsg="Applied child window for vk patch" && nonuser_patcher
elif git merge-base --is-ancestor c14de4c85e79563f5e859765d0015892ae925cd6 HEAD; then
_patchname='childwindow-proton-c0042af.patch' && _patchmsg="Applied child window for vk patch" && nonuser_patcher
elif git merge-base --is-ancestor a6bc5f34b87393e04ff46659f518f2e7094cc7e4 HEAD; then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ index 7ceaeb7c2df..104d922c156 100644
if (ctx) sync_context( ctx );
- escape.gl_drawable = gl->pixmap;
+ escape.drawable = gl->pixmap;
if (pglXCopySubBufferMESA) {
if (ctx && pglXCopySubBufferMESA) {
/* (glX)SwapBuffers has an implicit glFlush effect, however
* GLX_MESA_copy_sub_buffer doesn't. Make sure GL is flushed before
@@ -3371,10 +3371,10 @@ static BOOL WINAPI glxdrv_wglSwapBuffers( HDC hdc )
Expand All @@ -347,24 +347,24 @@ index 7ceaeb7c2df..104d922c156 100644
+ if (gl->type == DC_GL_CHILD_WIN) escape.drawable = gl->window;
/* fall through */
default:
- if (escape.gl_drawable && pglXSwapBuffersMscOML)
+ if (escape.drawable && pglXSwapBuffersMscOML)
- if (ctx && escape.gl_drawable && pglXSwapBuffersMscOML)
+ if (ctx && escape.drawable && pglXSwapBuffersMscOML)
{
pglFlush();
target_sbc = pglXSwapBuffersMscOML( gdi_display, gl->drawable, 0, 0, 0 );
@@ -3384,12 +3384,12 @@ static BOOL WINAPI glxdrv_wglSwapBuffers( HDC hdc )
break;
}

- if (escape.gl_drawable && pglXWaitForSbcOML)
+ if (escape.drawable && pglXWaitForSbcOML)
- if (ctx && escape.gl_drawable && pglXWaitForSbcOML)
+ if (ctx && escape.drawable && pglXWaitForSbcOML)
pglXWaitForSbcOML( gdi_display, gl->drawable, target_sbc, &ust, &msc, &sbc );

release_gl_drawable( gl );

- if (escape.gl_drawable)
+ if (escape.drawable)
NtGdiExtEscape( ctx->hdc, NULL, 0, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL );
NtGdiExtEscape( ctx ? ctx->hdc : hdc, NULL, 0, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL );
return TRUE;
}
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ index 7ceaeb7c2df..104d922c156 100644
if (ctx) sync_context( ctx );
- escape.gl_drawable = gl->pixmap;
+ escape.drawable = gl->pixmap;
if (pglXCopySubBufferMESA) {
if (ctx && pglXCopySubBufferMESA) {
/* (glX)SwapBuffers has an implicit glFlush effect, however
* GLX_MESA_copy_sub_buffer doesn't. Make sure GL is flushed before
@@ -3371,10 +3371,10 @@ static BOOL WINAPI glxdrv_wglSwapBuffers( HDC hdc )
Expand All @@ -347,24 +347,24 @@ index 7ceaeb7c2df..104d922c156 100644
+ if (gl->type == DC_GL_CHILD_WIN) escape.drawable = gl->window;
/* fall through */
default:
- if (escape.gl_drawable && pglXSwapBuffersMscOML)
+ if (escape.drawable && pglXSwapBuffersMscOML)
- if (ctx && escape.gl_drawable && pglXSwapBuffersMscOML)
+ if (ctx && escape.drawable && pglXSwapBuffersMscOML)
{
pglFlush();
target_sbc = pglXSwapBuffersMscOML( gdi_display, gl->drawable, 0, 0, 0 );
@@ -3384,12 +3384,12 @@ static BOOL WINAPI glxdrv_wglSwapBuffers( HDC hdc )
break;
}

- if (escape.gl_drawable && pglXWaitForSbcOML)
+ if (escape.drawable && pglXWaitForSbcOML)
- if (ctx && escape.gl_drawable && pglXWaitForSbcOML)
+ if (ctx && escape.drawable && pglXWaitForSbcOML)
pglXWaitForSbcOML( gdi_display, gl->drawable, target_sbc, &ust, &msc, &sbc );

release_gl_drawable( gl );

- if (escape.gl_drawable)
+ if (escape.drawable)
NtGdiExtEscape( ctx->hdc, NULL, 0, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL );
NtGdiExtEscape( ctx ? ctx->hdc : hdc, NULL, 0, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL );
return TRUE;
}
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
Expand Down
Loading

0 comments on commit 1d5fc26

Please sign in to comment.