Rebase against 781b88b7c586fc295780f0c8ad76bda0ffe96cd1.

This commit is contained in:
Sebastian Lackner 2015-10-01 20:41:57 +02:00
parent b951b9ad09
commit 74daa3b210
15 changed files with 107 additions and 278 deletions

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -1,3 +1,2 @@
Fixes: [38417] Fix handling of opening read-only files for FILE_DELETE_ON_CLOSE
Depends: server-Working_Directory
Category: stable

View File

@ -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

View File

@ -1 +0,0 @@
Fixes: Fix failure to create anonymous file mapping after failed open_fd server call

View File

@ -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

View File

@ -1 +0,0 @@
Fixes: Forward exitcode from child process when in wineconsole

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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;
}