mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 781b88b7c586fc295780f0c8ad76bda0ffe96cd1.
This commit is contained in:
parent
b951b9ad09
commit
74daa3b210
@ -148,7 +148,7 @@ for more details.*
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix endless loop in regedit when importing files with very long lines
|
||||
* Fix error handling in DeferWindowPos when passing an invalid HWND ([Wine Bug #23187](https://bugs.winehq.org/show_bug.cgi?id=23187))
|
||||
* Fix failure to create anonymous file mapping after failed open_fd server call
|
||||
* ~~Fix failure to create anonymous file mapping after failed open_fd server call~~
|
||||
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](https://bugs.winehq.org/show_bug.cgi?id=35718))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
@ -175,7 +175,7 @@ for more details.*
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
|
||||
* Forward exitcode from child process when in wineconsole
|
||||
* ~~Forward exitcode from child process when in wineconsole~~
|
||||
* ~~Free RPC parameters allocated by application before anything else~~ ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -33,6 +33,10 @@ wine-staging (1.7.52) UNRELEASED; urgency=low
|
||||
ThreadDescriptorTableEntry info query (accepted upstream).
|
||||
* Removed patch to avoid deprecation warning for OpenCL 1.2 APIs (accepted
|
||||
upstream).
|
||||
* Removed patch to forward exitcode from child process in wineconsole
|
||||
(accepted upstream).
|
||||
* Removed patch to fix failure to create anonymous file mapping after failed
|
||||
open_fd server call (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 07 Sep 2015 16:51:25 +0200
|
||||
|
||||
wine-staging (1.7.51) unstable; urgency=low
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d8850f844e13d73a850219a12b330bdbe3e995fe Mon Sep 17 00:00:00 2001
|
||||
From 1e3f6686e2daedc334871a6af186adbd628c2d92 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 22 Feb 2015 01:21:18 +0100
|
||||
Subject: dxva2/tests: Add tests for dxva2 decoder.
|
||||
@ -12,17 +12,17 @@ Subject: dxva2/tests: Add tests for dxva2 decoder.
|
||||
create mode 100644 dlls/dxva2/tests/dxva2.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f611fa5..22b46ae 100644
|
||||
index 7ab221b..37261ef 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2941,6 +2941,7 @@ WINE_CONFIG_DLL(dxgi,,[implib])
|
||||
@@ -2993,6 +2993,7 @@ WINE_CONFIG_DLL(dxgi,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/dxgi/tests)
|
||||
WINE_CONFIG_LIB(dxguid)
|
||||
WINE_CONFIG_DLL(dxva2)
|
||||
+WINE_CONFIG_TEST(dlls/dxva2/tests)
|
||||
WINE_CONFIG_DLL(esent)
|
||||
WINE_CONFIG_DLL(evr)
|
||||
WINE_CONFIG_DLL(explorerframe,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/explorerframe/tests)
|
||||
diff --git a/dlls/dxva2/tests/Makefile.in b/dlls/dxva2/tests/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..10d6af5
|
||||
@ -412,5 +412,5 @@ index 0000000..dcbb990
|
||||
+ test_decoder_service(window);
|
||||
+}
|
||||
--
|
||||
2.1.0
|
||||
2.5.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 029c387205b7a5d0d62df10512ae068980313bc3 Mon Sep 17 00:00:00 2001
|
||||
From ed8b8ed961c31b68abc5fb266d872f7228e02b93 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 15 Aug 2015 07:41:17 +0200
|
||||
Subject: gdi32: Perform lazy initialization of fonts to improve startup
|
||||
@ -6,8 +6,8 @@ Subject: gdi32: Perform lazy initialization of fonts to improve startup
|
||||
|
||||
---
|
||||
dlls/gdi32/dc.c | 8 +++-----
|
||||
dlls/gdi32/freetype.c | 48 +++++++++++++++++++++++++++++++++---------------
|
||||
2 files changed, 36 insertions(+), 20 deletions(-)
|
||||
dlls/gdi32/freetype.c | 49 ++++++++++++++++++++++++++++++++++---------------
|
||||
2 files changed, 37 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c
|
||||
index 5146f5b..91ad953 100644
|
||||
@ -29,7 +29,7 @@ index 5146f5b..91ad953 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
|
||||
index 1187598..446212f 100644
|
||||
index de40d9f..d4eb837 100644
|
||||
--- a/dlls/gdi32/freetype.c
|
||||
+++ b/dlls/gdi32/freetype.c
|
||||
@@ -110,6 +110,9 @@
|
||||
@ -42,7 +42,7 @@ index 1187598..446212f 100644
|
||||
#ifdef HAVE_FREETYPE
|
||||
|
||||
#ifndef HAVE_FT_TRUETYPEENGINETYPE
|
||||
@@ -3112,6 +3115,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
@@ -3176,6 +3179,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
{
|
||||
INT ret = 0;
|
||||
|
||||
@ -50,7 +50,7 @@ index 1187598..446212f 100644
|
||||
GDI_CheckNotLock();
|
||||
|
||||
if (ft_handle) /* do it only if we have freetype up and running */
|
||||
@@ -3154,6 +3158,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
@@ -3218,6 +3222,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
*/
|
||||
HANDLE WineEngAddFontMemResourceEx(PVOID pbFont, DWORD cbFont, PVOID pdv, DWORD *pcFonts)
|
||||
{
|
||||
@ -58,7 +58,7 @@ index 1187598..446212f 100644
|
||||
GDI_CheckNotLock();
|
||||
|
||||
if (ft_handle) /* do it only if we have freetype up and running */
|
||||
@@ -3192,6 +3197,7 @@ BOOL WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
@@ -3256,6 +3261,7 @@ BOOL WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
|
||||
{
|
||||
INT ret = 0;
|
||||
|
||||
@ -66,7 +66,7 @@ index 1187598..446212f 100644
|
||||
GDI_CheckNotLock();
|
||||
|
||||
if (ft_handle) /* do it only if we have freetype up and running */
|
||||
@@ -3513,10 +3519,13 @@ static BOOL create_fot( const WCHAR *resource, const WCHAR *font_file, const str
|
||||
@@ -3577,10 +3583,13 @@ static BOOL create_fot( const WCHAR *resource, const WCHAR *font_file, const str
|
||||
BOOL WineEngCreateScalableFontResource( DWORD hidden, LPCWSTR resource,
|
||||
LPCWSTR font_file, LPCWSTR font_path )
|
||||
{
|
||||
@ -81,7 +81,7 @@ index 1187598..446212f 100644
|
||||
if (!unix_name || !get_fontdir( unix_name, &fontdir ))
|
||||
SetLastError( ERROR_INVALID_PARAMETER );
|
||||
else
|
||||
@@ -3948,8 +3957,6 @@ static BOOL init_freetype(void)
|
||||
@@ -4012,8 +4021,6 @@ static BOOL init_freetype(void)
|
||||
FT_SimpleVersion = ((FT_Version.major << 16) & 0xff0000) |
|
||||
((FT_Version.minor << 8) & 0x00ff00) |
|
||||
((FT_Version.patch ) & 0x0000ff);
|
||||
@ -90,7 +90,7 @@ index 1187598..446212f 100644
|
||||
return TRUE;
|
||||
|
||||
sym_not_found:
|
||||
@@ -4136,20 +4143,12 @@ static void reorder_font_list(void)
|
||||
@@ -4200,21 +4207,13 @@ static void reorder_font_list(void)
|
||||
set_default( default_sans_list );
|
||||
}
|
||||
|
||||
@ -102,6 +102,7 @@ index 1187598..446212f 100644
|
||||
-BOOL WineEngInit(void)
|
||||
+static DWORD WINAPI freetype_lazy_init(RTL_RUN_ONCE *once, void *param, void **context)
|
||||
{
|
||||
HKEY hkey;
|
||||
DWORD disposition;
|
||||
HANDLE font_mutex;
|
||||
|
||||
@ -113,7 +114,7 @@ index 1187598..446212f 100644
|
||||
|
||||
#ifdef SONAME_LIBFONTCONFIG
|
||||
init_fontconfig();
|
||||
@@ -4158,7 +4157,7 @@ BOOL WineEngInit(void)
|
||||
@@ -4240,7 +4239,7 @@ BOOL WineEngInit(void)
|
||||
if((font_mutex = CreateMutexW(NULL, FALSE, font_mutex_nameW)) == NULL)
|
||||
{
|
||||
ERR("Failed to create font mutex\n");
|
||||
@ -122,7 +123,7 @@ index 1187598..446212f 100644
|
||||
}
|
||||
WaitForSingleObject(font_mutex, INFINITE);
|
||||
|
||||
@@ -4185,6 +4184,20 @@ BOOL WineEngInit(void)
|
||||
@@ -4267,6 +4266,21 @@ BOOL WineEngInit(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -140,10 +141,11 @@ index 1187598..446212f 100644
|
||||
+ font_driver = &freetype_funcs;
|
||||
+ return TRUE;
|
||||
+}
|
||||
|
||||
static LONG calc_ppem_for_height(FT_Face ft_face, LONG height)
|
||||
{
|
||||
@@ -4856,8 +4869,12 @@ static BOOL select_charmap(FT_Face ft_face, FT_Encoding encoding)
|
||||
+
|
||||
/* Some fonts have large usWinDescent values, as a result of storing signed short
|
||||
in unsigned field. That's probably caused by sTypoDescent vs usWinDescent confusion in
|
||||
some font generation tools. */
|
||||
@@ -4948,8 +4962,12 @@ static BOOL select_charmap(FT_Face ft_face, FT_Encoding encoding)
|
||||
static BOOL freetype_CreateDC( PHYSDEV *dev, LPCWSTR driver, LPCWSTR device,
|
||||
LPCWSTR output, const DEVMODEW *devmode )
|
||||
{
|
||||
@ -157,7 +159,7 @@ index 1187598..446212f 100644
|
||||
if (!physdev) return FALSE;
|
||||
push_dc_driver( dev, &physdev->dev, &freetype_funcs );
|
||||
return TRUE;
|
||||
@@ -8124,6 +8141,7 @@ static BOOL freetype_FontIsLinked( PHYSDEV dev )
|
||||
@@ -8218,6 +8236,7 @@ static BOOL freetype_FontIsLinked( PHYSDEV dev )
|
||||
*/
|
||||
BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes)
|
||||
{
|
||||
@ -166,5 +168,5 @@ index 1187598..446212f 100644
|
||||
lprs->wFlags = TT_AVAILABLE | TT_ENABLED;
|
||||
lprs->nLanguageID = 0;
|
||||
--
|
||||
2.5.0
|
||||
2.5.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4fc03f00f5cf231d957021cb6a52687ec9336ca9 Mon Sep 17 00:00:00 2001
|
||||
From 091911f7841be1d88128ed63fd1d56f44d7c99a6 Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 01:27:07 +0100
|
||||
Subject: ntoskrnl.exe: Add stub for ProbeForRead.
|
||||
@ -9,12 +9,12 @@ Subject: ntoskrnl.exe: Add stub for ProbeForRead.
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index 3ff5d63..6b52d27 100644
|
||||
index 3d1db1b..a4d5641 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -2195,3 +2195,11 @@ PLIST_ENTRY WINAPI ExfInterlockedRemoveHeadList(PLIST_ENTRY head, PKSPIN_LOCK lo
|
||||
FIXME("(%p %p) stub\n", head, lock);
|
||||
return ExInterlockedRemoveHeadList( head, lock );
|
||||
@@ -2470,3 +2470,11 @@ void WINAPI KeLeaveCriticalRegion(void)
|
||||
{
|
||||
FIXME(": stub\n");
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
@ -25,7 +25,7 @@ index 3ff5d63..6b52d27 100644
|
||||
+ FIXME("%p %lu %u\n", address, length, alignment);
|
||||
+}
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index 4a112ef..6e86a16 100644
|
||||
index e1d594b..14ce087 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -835,7 +835,7 @@
|
||||
@ -38,5 +38,5 @@ index 4a112ef..6e86a16 100644
|
||||
@ stub PsAssignImpersonationToken
|
||||
@ stub PsChargePoolQuota
|
||||
--
|
||||
2.3.0
|
||||
2.5.1
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "3966affe064c7b98a7b4c052b6a6696fe74c8830"
|
||||
echo "781b88b7c586fc295780f0c8ad76bda0ffe96cd1"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -244,7 +244,6 @@ patch_enable_all ()
|
||||
enable_server_Shared_Memory="$1"
|
||||
enable_server_Stored_ACLs="$1"
|
||||
enable_server_Timestamp_Compat="$1"
|
||||
enable_server_Working_Directory="$1"
|
||||
enable_setupapi_SetupDiSelectBestCompatDrv="$1"
|
||||
enable_setupapi_SetupDiSetDeviceInstallParamsW="$1"
|
||||
enable_setupapi_SetupPromptForDisk="$1"
|
||||
@ -294,7 +293,6 @@ patch_enable_all ()
|
||||
enable_winecfg_Libraries="$1"
|
||||
enable_winecfg_Staging="$1"
|
||||
enable_winecfg_Unmounted_Devices="$1"
|
||||
enable_wineconsole_Forward_Exitcode="$1"
|
||||
enable_wined3d_Accounting="$1"
|
||||
enable_wined3d_CSMT_Helper="$1"
|
||||
enable_wined3d_CSMT_Main="$1"
|
||||
@ -832,9 +830,6 @@ patch_enable ()
|
||||
server-Timestamp_Compat)
|
||||
enable_server_Timestamp_Compat="$2"
|
||||
;;
|
||||
server-Working_Directory)
|
||||
enable_server_Working_Directory="$2"
|
||||
;;
|
||||
setupapi-SetupDiSelectBestCompatDrv)
|
||||
enable_setupapi_SetupDiSelectBestCompatDrv="$2"
|
||||
;;
|
||||
@ -982,9 +977,6 @@ patch_enable ()
|
||||
winecfg-Unmounted_Devices)
|
||||
enable_winecfg_Unmounted_Devices="$2"
|
||||
;;
|
||||
wineconsole-Forward_Exitcode)
|
||||
enable_wineconsole_Forward_Exitcode="$2"
|
||||
;;
|
||||
wined3d-Accounting)
|
||||
enable_wined3d_Accounting="$2"
|
||||
;;
|
||||
@ -1853,13 +1845,6 @@ if test "$enable_server_Stored_ACLs" -eq 1; then
|
||||
enable_server_File_Permissions=1
|
||||
fi
|
||||
|
||||
if test "$enable_server_Delete_On_Close" -eq 1; then
|
||||
if test "$enable_server_Working_Directory" -gt 1; then
|
||||
abort "Patchset server-Working_Directory disabled, but server-Delete_On_Close depends on that."
|
||||
fi
|
||||
enable_server_Working_Directory=1
|
||||
fi
|
||||
|
||||
if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
|
||||
if test "$enable_nvcuvid_CUDA_Video_Support" -gt 1; then
|
||||
abort "Patchset nvcuvid-CUDA_Video_Support disabled, but nvencodeapi-Video_Encoder depends on that."
|
||||
@ -4725,23 +4710,8 @@ if test "$enable_server_ClipCursor" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Working_Directory
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/fd.c
|
||||
# |
|
||||
if test "$enable_server_Working_Directory" -eq 1; then
|
||||
patch_apply server-Working_Directory/0001-server-Switch-back-to-server-dir-when-open_fd-fails.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "server: Switch back to server dir when open_fd fails.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Delete_On_Close
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * server-Working_Directory
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38417] Fix handling of opening read-only files for FILE_DELETE_ON_CLOSE
|
||||
# |
|
||||
@ -5667,18 +5637,6 @@ if test "$enable_winecfg_Unmounted_Devices" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wineconsole-Forward_Exitcode
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * programs/wineconsole/winecon_private.h, programs/wineconsole/wineconsole.c
|
||||
# |
|
||||
if test "$enable_wineconsole_Forward_Exitcode" -eq 1; then
|
||||
patch_apply wineconsole-Forward_Exitcode/0001-wineconsole-Forward-child-process-exitcode.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "wineconsole: Forward child process exitcode.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Accounting
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,3 +1,2 @@
|
||||
Fixes: [38417] Fix handling of opening read-only files for FILE_DELETE_ON_CLOSE
|
||||
Depends: server-Working_Directory
|
||||
Category: stable
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 24571673d4012771550758af22526c334a7fbd9b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 30 Aug 2015 04:57:38 +0200
|
||||
Subject: server: Switch back to server dir when open_fd fails.
|
||||
|
||||
---
|
||||
server/fd.c | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index fef4827..6c78a0a 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -1835,34 +1835,31 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
|
||||
fd->closed = closed_fd;
|
||||
fd->cacheable = !inode->device->removable;
|
||||
list_add_head( &inode->open, &fd->inode_entry );
|
||||
+ closed_fd = NULL;
|
||||
|
||||
/* check directory options */
|
||||
if ((options & FILE_DIRECTORY_FILE) && !S_ISDIR(st.st_mode))
|
||||
{
|
||||
- release_object( fd );
|
||||
set_error( STATUS_NOT_A_DIRECTORY );
|
||||
- return NULL;
|
||||
+ goto error;
|
||||
}
|
||||
if ((options & FILE_NON_DIRECTORY_FILE) && S_ISDIR(st.st_mode))
|
||||
{
|
||||
- release_object( fd );
|
||||
set_error( STATUS_FILE_IS_A_DIRECTORY );
|
||||
- return NULL;
|
||||
+ goto error;
|
||||
}
|
||||
if ((err = check_sharing( fd, access, sharing, flags, options )))
|
||||
{
|
||||
- release_object( fd );
|
||||
set_error( err );
|
||||
- return NULL;
|
||||
+ goto error;
|
||||
}
|
||||
- closed_fd->unlink = (options & FILE_DELETE_ON_CLOSE) != 0;
|
||||
+ fd->closed->unlink = (options & FILE_DELETE_ON_CLOSE) != 0;
|
||||
if (flags & O_TRUNC)
|
||||
{
|
||||
if (S_ISDIR(st.st_mode))
|
||||
{
|
||||
- release_object( fd );
|
||||
set_error( STATUS_OBJECT_NAME_COLLISION );
|
||||
- return NULL;
|
||||
+ goto error;
|
||||
}
|
||||
ftruncate( fd->unix_fd, 0 );
|
||||
}
|
||||
@@ -1877,6 +1874,7 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
|
||||
free( closed_fd );
|
||||
fd->cacheable = 1;
|
||||
}
|
||||
+ if (root_fd != -1) fchdir( server_dir_fd ); /* go back to the server dir */
|
||||
return fd;
|
||||
|
||||
error:
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Fix failure to create anonymous file mapping after failed open_fd server call
|
@ -1,67 +0,0 @@
|
||||
From 455d3fe40a00e970a8e31e59c5d88ae671bd6802 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 13 Jul 2015 02:22:47 +0200
|
||||
Subject: wineconsole: Forward child process exitcode.
|
||||
|
||||
---
|
||||
programs/wineconsole/winecon_private.h | 1 +
|
||||
programs/wineconsole/wineconsole.c | 17 ++++++++++++++---
|
||||
2 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/programs/wineconsole/winecon_private.h b/programs/wineconsole/winecon_private.h
|
||||
index 2178dd0..5608f99 100644
|
||||
--- a/programs/wineconsole/winecon_private.h
|
||||
+++ b/programs/wineconsole/winecon_private.h
|
||||
@@ -59,6 +59,7 @@ struct inner_data {
|
||||
HANDLE hConIn; /* console input handle */
|
||||
HANDLE hConOut; /* screen buffer handle: has to be changed when active sb changes */
|
||||
HANDLE hSynchro; /* waitable handle signalled by server when something in server has been modified */
|
||||
+ HANDLE hProcess; /* handle to the child process or NULL */
|
||||
HWND hWnd; /* handle of 'user' window or NULL for 'curses' */
|
||||
INT nCmdShow; /* argument of WinMain */
|
||||
BOOL in_set_config; /* to handle re-entrant calls to WINECON_SetConfig */
|
||||
diff --git a/programs/wineconsole/wineconsole.c b/programs/wineconsole/wineconsole.c
|
||||
index 4ea5f84..f92632c 100644
|
||||
--- a/programs/wineconsole/wineconsole.c
|
||||
+++ b/programs/wineconsole/wineconsole.c
|
||||
@@ -541,6 +541,7 @@ static void WINECON_Delete(struct inner_data* data)
|
||||
if (data->hConIn) CloseHandle(data->hConIn);
|
||||
if (data->hConOut) CloseHandle(data->hConOut);
|
||||
if (data->hSynchro) CloseHandle(data->hSynchro);
|
||||
+ if (data->hProcess) CloseHandle(data->hProcess);
|
||||
HeapFree(GetProcessHeap(), 0, data->curcfg.registry);
|
||||
HeapFree(GetProcessHeap(), 0, data->cells);
|
||||
HeapFree(GetProcessHeap(), 0, data);
|
||||
@@ -749,7 +750,7 @@ static BOOL WINECON_Spawn(struct inner_data* data, LPWSTR cmdLine)
|
||||
done = CreateProcessW(NULL, cmdLine, NULL, NULL, TRUE, 0L, NULL, NULL, &startup, &info);
|
||||
if (done)
|
||||
{
|
||||
- CloseHandle(info.hProcess);
|
||||
+ data->hProcess = info.hProcess;
|
||||
CloseHandle(info.hThread);
|
||||
}
|
||||
|
||||
@@ -892,8 +893,18 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, INT nCmdSh
|
||||
|
||||
if (!ret)
|
||||
{
|
||||
- WINE_TRACE("calling MainLoop.\n");
|
||||
- ret = data->fnMainLoop(data);
|
||||
+ DWORD exitcode;
|
||||
+
|
||||
+ WINE_TRACE("calling MainLoop.\n");
|
||||
+ ret = data->fnMainLoop(data);
|
||||
+
|
||||
+ if (!ret && data->hProcess &&
|
||||
+ WaitForSingleObject(data->hProcess, INFINITE) == WAIT_OBJECT_0 &&
|
||||
+ GetExitCodeProcess(data->hProcess, &exitcode))
|
||||
+ {
|
||||
+ WINE_TRACE("forwarding exitcode %u from child process\n", exitcode);
|
||||
+ ret = exitcode;
|
||||
+ }
|
||||
}
|
||||
|
||||
WINECON_Delete(data);
|
||||
--
|
||||
2.4.5
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Forward exitcode from child process when in wineconsole
|
@ -1,4 +1,4 @@
|
||||
From 76b683f536da9f8465eca14ed1505dff8596bf5c Mon Sep 17 00:00:00 2001
|
||||
From a79863383e3dc7dfff564432e6c5086aa612d8af Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 4 Apr 2013 11:50:09 +0200
|
||||
Subject: wined3d: Request a glFinish before modifying resources outside the cs
|
||||
@ -13,7 +13,7 @@ Subject: wined3d: Request a glFinish before modifying resources outside the cs
|
||||
6 files changed, 104 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
index df82bd2..e1c40bb 100644
|
||||
index 0735ab7..3f740dd 100644
|
||||
--- a/dlls/wined3d/buffer.c
|
||||
+++ b/dlls/wined3d/buffer.c
|
||||
@@ -931,6 +931,15 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
|
||||
@ -51,7 +51,7 @@ index df82bd2..e1c40bb 100644
|
||||
/* Filter redundant WINED3D_MAP_DISCARD maps. The 3DMark2001 multitexture
|
||||
* fill rate test seems to depend on this. When we map a buffer with
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 410a431..b2d087d 100644
|
||||
index 63ac035..b7bedbf 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -66,6 +66,7 @@ enum wined3d_cs_op
|
||||
@ -74,7 +74,7 @@ index 410a431..b2d087d 100644
|
||||
/* FIXME: The list synchronization probably isn't particularly fast. */
|
||||
static void wined3d_cs_list_enqueue(struct wined3d_cs_list *list, struct wined3d_cs_block *block)
|
||||
{
|
||||
@@ -1363,6 +1369,29 @@ void wined3d_cs_emit_reset_state(struct wined3d_cs *cs)
|
||||
@@ -1364,6 +1370,29 @@ void wined3d_cs_emit_reset_state(struct wined3d_cs *cs)
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -104,7 +104,7 @@ index 410a431..b2d087d 100644
|
||||
static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
|
||||
{
|
||||
/* WINED3D_CS_OP_FENCE */ wined3d_cs_exec_fence,
|
||||
@@ -1395,6 +1424,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -1396,6 +1425,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_STATEBLOCK */ wined3d_cs_exec_transfer_stateblock,
|
||||
/* WINED3D_CS_OP_SET_VS_CONSTS_F */ wined3d_cs_exec_set_vs_consts_f,
|
||||
/* WINED3D_CS_OP_SET_PS_CONSTS_F */ wined3d_cs_exec_set_ps_consts_f,
|
||||
@ -113,10 +113,10 @@ index 410a431..b2d087d 100644
|
||||
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index a6a88ae..7ab8fc0 100644
|
||||
index d43075b..5e5f3f5 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -2759,6 +2759,13 @@ static HRESULT process_vertices_strided(const struct wined3d_device *device, DWO
|
||||
@@ -2765,6 +2765,13 @@ static HRESULT process_vertices_strided(const struct wined3d_device *device, DWO
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ index a6a88ae..7ab8fc0 100644
|
||||
wined3d_device_get_transform(device, WINED3D_TS_VIEW, &view_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_PROJECTION, &proj_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_WORLD_MATRIX(0), &world_mat);
|
||||
@@ -3572,6 +3579,13 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
|
||||
@@ -3562,6 +3569,13 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
|
||||
++src_skip_levels;
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ index a6a88ae..7ab8fc0 100644
|
||||
/* Make sure that the destination texture is loaded. */
|
||||
context = context_acquire(device, NULL);
|
||||
wined3d_texture_load(dst_texture, context, FALSE);
|
||||
@@ -3818,6 +3832,13 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
@@ -3810,6 +3824,13 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -158,7 +158,7 @@ index a6a88ae..7ab8fc0 100644
|
||||
return surface_upload_from_surface(dst_surface, dst_point, src_surface, src_rect);
|
||||
}
|
||||
|
||||
@@ -3920,6 +3941,13 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
@@ -4064,6 +4085,13 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
rect = &r;
|
||||
}
|
||||
|
||||
@ -172,7 +172,7 @@ index a6a88ae..7ab8fc0 100644
|
||||
resource = wined3d_texture_get_sub_resource(wined3d_texture_from_resource(resource), view->sub_resource_idx);
|
||||
|
||||
return surface_color_fill(surface_from_resource(resource), rect, color);
|
||||
@@ -4233,6 +4261,13 @@ void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
|
||||
@@ -4377,6 +4405,13 @@ void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
|
||||
|
||||
TRACE("device %p.\n", device);
|
||||
|
||||
@ -186,9 +186,9 @@ index a6a88ae..7ab8fc0 100644
|
||||
LIST_FOR_EACH_ENTRY_SAFE(resource, cursor, &device->resources, struct wined3d_resource, resource_list_entry)
|
||||
{
|
||||
TRACE("Checking resource %p for eviction.\n", resource);
|
||||
@@ -4358,6 +4393,13 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p.\n", device, swapchain_desc, mode, callback);
|
||||
@@ -4499,6 +4534,13 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n",
|
||||
device, swapchain_desc, mode, callback, reset_state);
|
||||
|
||||
+ if (wined3d_settings.cs_multithreaded)
|
||||
+ {
|
||||
@ -201,10 +201,10 @@ index a6a88ae..7ab8fc0 100644
|
||||
{
|
||||
ERR("Failed to get the first implicit swapchain.\n");
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 568f2cb..f379bbc 100644
|
||||
index 9c40d42..c72987c 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -716,6 +716,13 @@ HRESULT wined3d_resource_map(struct wined3d_resource *resource,
|
||||
@@ -786,6 +786,13 @@ HRESULT wined3d_resource_map(struct wined3d_resource *resource,
|
||||
|
||||
flags = wined3d_resource_sanitize_map_flags(resource, flags);
|
||||
|
||||
@ -219,10 +219,10 @@ index 568f2cb..f379bbc 100644
|
||||
context = context_acquire(device, NULL);
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index ef683f7..b81d137 100644
|
||||
index cba9da9..5e44494 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -5119,6 +5119,13 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5007,6 +5007,13 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
flags &= ~WINEDDBLT_DONOTWAIT;
|
||||
}
|
||||
|
||||
@ -237,10 +237,10 @@ index ef683f7..b81d137 100644
|
||||
{
|
||||
WARN("D3D not initialized, using fallback.\n");
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 4f232be..6116a5a 100644
|
||||
index d018cd9..2e42c79 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2663,6 +2663,7 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
@@ -2702,6 +2702,7 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
||||
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_consts_f(struct wined3d_cs *cs, UINT start_register, const float *constants,
|
||||
UINT vector4f_count, enum wined3d_shader_type type) DECLSPEC_HIDDEN;
|
||||
@ -249,5 +249,5 @@ index 4f232be..6116a5a 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.3.5
|
||||
2.5.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 48138b14119c096c1a27b659ac1dd473132daf11 Mon Sep 17 00:00:00 2001
|
||||
From d1aad2f4c1a9f299baf205228da8028aa1ae3883 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Mon, 29 Apr 2013 18:49:53 +0200
|
||||
Subject: wined3d: Send blits through the command stream.
|
||||
@ -122,10 +122,10 @@ index fcc5ed7..550206f 100644
|
||||
{
|
||||
struct wined3d_cs_block *block;
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index f08e32e..a119718 100644
|
||||
index 5e44494..31c1a29 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -5000,14 +5000,13 @@ const struct blit_shader cpu_blit = {
|
||||
@@ -4891,14 +4891,13 @@ const struct blit_shader cpu_blit = {
|
||||
cpu_blit_blit_surface,
|
||||
};
|
||||
|
||||
@ -142,11 +142,11 @@ index f08e32e..a119718 100644
|
||||
BOOL scale, convert;
|
||||
|
||||
static const DWORD simple_blit = WINEDDBLT_ASYNC
|
||||
@@ -5018,111 +5017,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -4909,111 +4908,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
| WINEDDBLT_DEPTHFILL
|
||||
| WINEDDBLT_DONOTWAIT;
|
||||
|
||||
- TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
|
||||
- TRACE("dst_surface %p, dst_rect_in %s, src_surface %p, src_rect_in %s, flags %#x, fx %p, filter %s.\n",
|
||||
- dst_surface, wine_dbgstr_rect(dst_rect_in), src_surface, wine_dbgstr_rect(src_rect_in),
|
||||
- flags, fx, debug_d3dtexturefiltertype(filter));
|
||||
- TRACE("Usage is %s.\n", debug_d3dusage(dst_surface->resource.usage));
|
||||
@ -254,7 +254,7 @@ index f08e32e..a119718 100644
|
||||
if (!device->d3d_initialized)
|
||||
{
|
||||
WARN("D3D not initialized, using fallback.\n");
|
||||
@@ -5165,8 +5059,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5056,8 +4950,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
}
|
||||
|
||||
scale = src_surface
|
||||
@ -265,7 +265,7 @@ index f08e32e..a119718 100644
|
||||
convert = src_surface && src_surface->resource.format->id != dst_surface->resource.format->id;
|
||||
|
||||
dst_ds_flags = dst_surface->container->resource.format_flags
|
||||
@@ -5186,22 +5080,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5077,22 +4971,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
TRACE("Depth fill.\n");
|
||||
|
||||
if (!surface_convert_depth_to_float(dst_surface, fx->u5.dwFillDepth, &depth))
|
||||
@ -293,7 +293,7 @@ index f08e32e..a119718 100644
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5232,8 +5120,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5123,8 +5011,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
palette, fx->u5.dwFillColor, &color))
|
||||
goto fallback;
|
||||
|
||||
@ -304,7 +304,7 @@ index f08e32e..a119718 100644
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5261,9 +5149,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5152,9 +5040,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
TRACE("Not doing upload because of format conversion.\n");
|
||||
else
|
||||
{
|
||||
@ -316,7 +316,7 @@ index f08e32e..a119718 100644
|
||||
{
|
||||
if (!wined3d_resource_is_offscreen(&dst_surface->container->resource))
|
||||
{
|
||||
@@ -5272,7 +5160,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5163,7 +5051,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
dst_surface->container->resource.draw_binding);
|
||||
context_release(context);
|
||||
}
|
||||
@ -325,7 +325,7 @@ index f08e32e..a119718 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5296,50 +5184,193 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5187,50 +5075,193 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
wined3d_swapchain_present(dst_swapchain, NULL, NULL, dst_swapchain->win_handle, NULL, 0);
|
||||
dst_swapchain->desc.swap_effect = swap_effect;
|
||||
|
||||
@ -400,7 +400,7 @@ index f08e32e..a119718 100644
|
||||
+ struct wined3d_device *device = dst_surface->resource.device;
|
||||
+ RECT src_rect, dst_rect;
|
||||
+
|
||||
+ TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
|
||||
+ TRACE("dst_surface %p, dst_rect_in %s, src_surface %p, src_rect_in %s, flags %#x, fx %p, filter %s.\n",
|
||||
+ dst_surface, wine_dbgstr_rect(dst_rect_in), src_surface, wine_dbgstr_rect(src_rect_in),
|
||||
+ flags, fx, debug_d3dtexturefiltertype(filter));
|
||||
+ TRACE("Usage is %s.\n", debug_d3dusage(dst_surface->resource.usage));
|
||||
@ -533,7 +533,7 @@ index f08e32e..a119718 100644
|
||||
|
||||
static const struct wined3d_resource_ops surface_resource_ops =
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 576a9ef..f8a9860 100644
|
||||
index 4010e4d..80c9880 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2490,6 +2490,9 @@ void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
@ -546,7 +546,7 @@ index 576a9ef..f8a9860 100644
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
@@ -2639,6 +2642,7 @@ struct wined3d_cs
|
||||
@@ -2638,6 +2641,7 @@ struct wined3d_cs
|
||||
struct wined3d_device *device;
|
||||
struct wined3d_state state;
|
||||
HANDLE thread;
|
||||
@ -554,7 +554,7 @@ index 576a9ef..f8a9860 100644
|
||||
DWORD tls_idx;
|
||||
struct wined3d_surface *onscreen_depth_stencil;
|
||||
|
||||
@@ -2717,6 +2721,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
|
||||
@@ -2716,6 +2720,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
|
||||
GLenum primitive_type) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_light(struct wined3d_cs *cs, const struct wined3d_light_info *light) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_light_enable(struct wined3d_cs *cs, UINT idx, BOOL enable) DECLSPEC_HIDDEN;
|
||||
|
@ -1,21 +1,20 @@
|
||||
From 0dafdc38e8dd712f59666224ed22ffe91cc72a76 Mon Sep 17 00:00:00 2001
|
||||
From 87ccefcb423dc16c82c5324fba63a6f30a7c8126 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Fri, 29 Aug 2014 14:46:55 +0200
|
||||
Subject: wined3d: Remove the device_reset CS sync fixme.
|
||||
|
||||
---
|
||||
dlls/wined3d/device.c | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
dlls/wined3d/device.c | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 63eb87e..7bc6aeb 100644
|
||||
index f79db11..18cecac 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4215,13 +4215,8 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
unsigned int i;
|
||||
@@ -4402,12 +4402,8 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n",
|
||||
device, swapchain_desc, mode, callback, reset_state);
|
||||
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p.\n", device, swapchain_desc, mode, callback);
|
||||
-
|
||||
- if (wined3d_settings.cs_multithreaded)
|
||||
- {
|
||||
- FIXME("Waiting for cs.\n");
|
||||
@ -28,5 +27,5 @@ index 63eb87e..7bc6aeb 100644
|
||||
if (!(swapchain = wined3d_device_get_swapchain(device, 0)))
|
||||
{
|
||||
--
|
||||
2.1.3
|
||||
2.5.1
|
||||
|
||||
|
@ -4417,18 +4417,19 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -4382,8 +5072,10 @@
|
||||
unsigned int i;
|
||||
@@ -4384,9 +5074,11 @@
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n",
|
||||
device, swapchain_desc, mode, callback, reset_state);
|
||||
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p.\n", device, swapchain_desc, mode, callback);
|
||||
+#if defined(STAGING_CSMT)
|
||||
wined3d_cs_emit_glfinish(device->cs);
|
||||
device->cs->ops->finish(device->cs);
|
||||
+#endif /* STAGING_CSMT */
|
||||
|
||||
+#endif /* STAGING_CSMT */
|
||||
if (!(swapchain = wined3d_device_get_swapchain(device, 0)))
|
||||
{
|
||||
@@ -4399,9 +5091,21 @@
|
||||
ERR("Failed to get the first implicit swapchain.\n");
|
||||
@@ -4401,9 +5093,21 @@
|
||||
wined3d_texture_decref(device->logo_texture);
|
||||
device->logo_texture = NULL;
|
||||
}
|
||||
@ -4450,7 +4451,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
{
|
||||
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
|
||||
{
|
||||
@@ -4410,6 +5114,7 @@
|
||||
@@ -4412,6 +5116,7 @@
|
||||
}
|
||||
wined3d_device_set_depth_stencil_view(device, NULL);
|
||||
|
||||
@ -4458,7 +4459,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (reset_state)
|
||||
{
|
||||
state_unbind_resources(&device->state);
|
||||
@@ -4419,6 +5124,12 @@
|
||||
@@ -4421,6 +5126,12 @@
|
||||
{
|
||||
wined3d_surface_decref(device->cs->onscreen_depth_stencil);
|
||||
device->cs->onscreen_depth_stencil = NULL;
|
||||
@ -4471,7 +4472,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
if (reset_state)
|
||||
@@ -4431,6 +5142,7 @@
|
||||
@@ -4433,6 +5144,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -4479,7 +4480,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
/* Free implicit resources and wait for the command stream before modifying
|
||||
* swapchain parameters. After modifying the swapchain parameters a new GL
|
||||
* context may be acquired by the worker thread. This causes problems in the
|
||||
@@ -4452,6 +5164,7 @@
|
||||
@@ -4454,6 +5166,7 @@
|
||||
}
|
||||
device->cs->ops->finish(device->cs);
|
||||
|
||||
@ -4487,7 +4488,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("New params:\n");
|
||||
TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width);
|
||||
TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height);
|
||||
@@ -4578,6 +5291,13 @@
|
||||
@@ -4580,6 +5293,13 @@
|
||||
swapchain_desc->multisample_type, swapchain_desc->multisample_quality)))
|
||||
return hr;
|
||||
|
||||
@ -4501,7 +4502,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (swapchain->desc.enable_auto_depth_stencil)
|
||||
{
|
||||
struct wined3d_resource_desc texture_desc;
|
||||
@@ -4620,6 +5340,13 @@
|
||||
@@ -4622,6 +5342,13 @@
|
||||
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
|
||||
}
|
||||
|
||||
@ -4515,7 +4516,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (swapchain->desc.backbuffer_count && FAILED(hr = wined3d_rendertarget_view_create_from_surface(
|
||||
surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)),
|
||||
NULL, &wined3d_null_parent_ops, &device->back_buffer_view)))
|
||||
@@ -4640,12 +5367,20 @@
|
||||
@@ -4642,12 +5369,20 @@
|
||||
}
|
||||
wined3d_cs_emit_reset_state(device->cs);
|
||||
state_cleanup(&device->state);
|
||||
@ -4536,7 +4537,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
&device->adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
|
||||
ERR("Failed to initialize device state, hr %#x.\n", hr);
|
||||
device->update_state = &device->state;
|
||||
@@ -4654,6 +5389,7 @@
|
||||
@@ -4656,6 +5391,7 @@
|
||||
}
|
||||
else if (device->back_buffer_view)
|
||||
{
|
||||
@ -4544,7 +4545,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
struct wined3d_state *state = &device->state;
|
||||
|
||||
wined3d_device_set_rendertarget_view(device, 0, device->back_buffer_view, FALSE);
|
||||
@@ -4669,6 +5405,24 @@
|
||||
@@ -4671,6 +5407,24 @@
|
||||
state->scissor_rect.left = 0;
|
||||
state->scissor_rect.right = swapchain->desc.backbuffer_width;
|
||||
state->scissor_rect.bottom = swapchain->desc.backbuffer_height;
|
||||
@ -4569,7 +4570,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_set_scissor_rect(device->cs, &state->scissor_rect);
|
||||
}
|
||||
|
||||
@@ -4744,6 +5498,10 @@
|
||||
@@ -4746,6 +5500,10 @@
|
||||
|
||||
TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type));
|
||||
|
||||
@ -4580,7 +4581,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
switch (type)
|
||||
{
|
||||
case WINED3D_RTYPE_SURFACE:
|
||||
@@ -4754,6 +5512,7 @@
|
||||
@@ -4756,6 +5514,7 @@
|
||||
|
||||
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
|
||||
{
|
||||
@ -4588,7 +4589,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (wined3d_rendertarget_view_get_surface(device->state.fb.render_targets[i]) == surface)
|
||||
{
|
||||
ERR("Surface %p is still in use as render target %u.\n", surface, i);
|
||||
@@ -4765,6 +5524,19 @@
|
||||
@@ -4767,6 +5526,19 @@
|
||||
{
|
||||
ERR("Surface %p is still in use as depth/stencil buffer.\n", surface);
|
||||
device->state.fb.depth_stencil = NULL;
|
||||
@ -4608,7 +4609,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -4927,7 +5699,11 @@
|
||||
@@ -4929,7 +5701,11 @@
|
||||
|
||||
device->blitter = adapter->blitter;
|
||||
|
||||
@ -4620,7 +4621,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
&adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
|
||||
{
|
||||
ERR("Failed to initialize device state, hr %#x.\n", hr);
|
||||
@@ -5026,6 +5802,7 @@
|
||||
@@ -5028,6 +5804,7 @@
|
||||
else
|
||||
return CallWindowProcA(proc, window, message, wparam, lparam);
|
||||
}
|
||||
@ -4628,7 +4629,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
/* Context activation is done by the caller */
|
||||
struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT size, GLenum gl_usage,
|
||||
@@ -5079,3 +5856,4 @@
|
||||
@@ -5081,3 +5858,4 @@
|
||||
|
||||
wined3d_device_destroy_bo(device, context, bo);
|
||||
}
|
||||
@ -8987,7 +8988,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
| WINEDDBLT_DONOTWAIT;
|
||||
|
||||
+#if !defined(STAGING_CSMT)
|
||||
+ TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
|
||||
+ TRACE("dst_surface %p, dst_rect_in %s, src_surface %p, src_rect_in %s, flags %#x, fx %p, filter %s.\n",
|
||||
+ dst_surface, wine_dbgstr_rect(dst_rect_in), src_surface, wine_dbgstr_rect(src_rect_in),
|
||||
+ flags, fx, debug_d3dtexturefiltertype(filter));
|
||||
+ TRACE("Usage is %s.\n", debug_d3dusage(dst_surface->resource.usage));
|
||||
@ -9890,7 +9891,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -1388,6 +1624,7 @@
|
||||
@@ -1389,6 +1625,7 @@
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@ -9898,7 +9899,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
|
||||
void buffer_swap_mem(struct wined3d_buffer *buffer, BYTE *mem)
|
||||
{
|
||||
@@ -1395,3 +1632,4 @@
|
||||
@@ -1396,3 +1633,4 @@
|
||||
buffer->resource.heap_memory = mem;
|
||||
buffer->flags |= WINED3D_BUFFER_DISCARD;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user