Compare commits

...

69 Commits
v6.4 ... v6.8

Author SHA1 Message Date
Alistair Leslie-Hughes
0f00e37c68 Release v6.8 2021-05-08 15:34:35 +10:00
Alistair Leslie-Hughes
8c06be6529 Rebase against 99e47361a37a4bf16de131401a0c231f86214a43. 2021-05-08 13:13:58 +10:00
Zebediah Figura
50d26744b0 Rebase against a64861fb66be722f3a93ab73152c5d477ba3bd3e. 2021-05-06 18:40:21 -05:00
Alistair Leslie-Hughes
046b1ab22c Rebase against e2aa30f21def839866b09e74b5ddd843f7e70c87. 2021-05-06 08:38:36 +10:00
Zebediah Figura
1ebf4bd23f Rebase against cda4abac9859ed42c29e8cb2746201a578431a5e. 2021-05-04 18:28:59 -05:00
Zebediah Figura
b113f99f07 dxdiag-new-dlls: Remove patch set.
From the discussion in <https://bugs.winehq.org/show_bug.cgi?id=50293>, these
patches don't seem to be providing any value (all they are doing is causing
arbitrarily chosen numbers to be shown in the dialog, which don't reflect
anything about actual functionality).

A possible benefit of these patches is anticipating their need by other
programs. However, (a) most of these DLLs are internal helpers used by other
(public) DirectX APIs, (b) the case of a missing DLL is usually quite easy to
debug anyway, (c) such a stance leaves us with the maintenance burden of far
more code that will never be necessary than code that actually turns out to be
useful.

Since (1) upstream has appeared reticent to accept them, (2) a proposal for
their removal in the bug report met with no apparent objection, (3) they have
already caused at least two regressions [however easy to fix], namely bug 50395
and bug 50700, (4) they present a noticeable maintenance burden, if a trivial
one, (5) as explained they provide no real benefit, remove them.
2021-05-04 17:56:21 -05:00
Zebediah Figura
813bfa288e Rebase against 3ba4412be60dafee310b5d3c71aa762aa8846564. 2021-05-03 23:39:26 -05:00
Zebediah Figura
c814617e2c ntdll-NtAlertThreadByThreadId: Fix compilation on Mac OS. 2021-05-03 10:57:10 -05:00
Zebediah Figura
cb7a9792d7 comctl-Listview_DrawItem: Remove patch set.
This was fixed upstream by c32720349cd4a6f4c32fdcff6a4cce054fbfe33e.
2021-05-01 21:52:38 -05:00
Zebediah Figura
96a8cc2920 pdh-PdhLookupPerfNameByIndex-processor: Remove patch set.
This was written for Silverlight, but Silverlight didn't actually need this.
2021-04-30 18:39:55 -05:00
Zebediah Figura
a1a2d65488 ntdll-NtAlertThreadByThreadId: Use flat two-dimensional arrays indexed by thread ID on both the PE and Unix side.
This should be less invasive and hopefully improve performance.
2021-04-30 18:10:02 -05:00
Zebediah Figura
7d496bf02c Rebase against 2deb8c2825afcb88a9f106b73aa1f4da9253fb87. 2021-04-30 17:50:37 -05:00
Alistair Leslie-Hughes
4d8896cc35 Rebase against ca03802a456e7cf4efd834edfeddc483ac72e4b5. 2021-04-30 09:12:29 +10:00
Zebediah Figura
977e5237da winedevice-Default_Drivers: Install win32k.sys in system32 instead of trying to load it from system32\drivers. 2021-04-28 22:55:45 -05:00
Alistair Leslie-Hughes
708e63e63f Rebase against 8f8fa9182af7a2995940a5e17cf074bc849f2c0f. 2021-04-29 08:17:58 +10:00
Alistair Leslie-Hughes
921d247b6b Updated winedevice-Default_Drivers patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=51075
2021-04-29 08:15:44 +10:00
Alistair Leslie-Hughes
a918fa9a1c Updated Staging patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=50997
2021-04-28 18:38:58 +10:00
Zebediah Figura
592b9480ef Rebase against 4ccf7498aac20b2b0afa2118f8d919718e5fcbbe. 2021-04-27 20:03:45 -05:00
Alistair Leslie-Hughes
552dc36846 Updated user32-rawinput-hid patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=51054
2021-04-25 17:55:02 +10:00
Alistair Leslie-Hughes
deed76f394 Release v6.7 2021-04-24 16:11:30 +10:00
Alistair Leslie-Hughes
20e795b107 Added secur32-InitializeSecurityContextW patchset 2021-04-24 16:08:50 +10:00
Zebediah Figura
ac30cf5d62 user32-rawinput-hid: Fix rebase. 2021-04-23 20:33:04 -05:00
Alistair Leslie-Hughes
99759f003a Rebase against c0af8b73725d2670c9b018a255c503dee6912cf5. 2021-04-24 10:22:14 +10:00
Zebediah Figura
7eb07f1d50 Rebase against 5a1d836def24043b4e7afcdc8cf1342223957edf. 2021-04-22 16:49:07 -05:00
Zebediah Figura
68f87944cf wineboot-DriveSerial: Remove patch.
Fixed upstream by <50903a1504>.
2021-04-21 23:01:12 -05:00
Alistair Leslie-Hughes
0c8991562d Updated xactengine3_7-Notification patchset 2021-04-22 13:52:45 +10:00
Zebediah Figura
27fae2dc15 Rebase against 08c6114fbbdabe1873731356c51716e513a26348. 2021-04-21 19:23:54 -05:00
Alistair Leslie-Hughes
39f66ddd9f Rebase against 788fd4ee44fc9877b01888fdd3cd72b9ac88228e. 2021-04-21 11:40:13 +10:00
Zebediah Figura
33d85bda8a server-File_Permissions: Do not force user modes to be at least as permissive as group modes, or group modes as world modes.
This removes one of the two parts of this patch.

It's really splitting hairs, but this isn't clearly more correct than the
current code, and in fact it actually makes at least one contrived ACL worse
(namely: deny user, then allow all; this should deny the user on Windows and
currently already does on Wine.)
2021-04-19 18:33:20 -05:00
Zebediah Figura
ba9a7a6a74 ntdll-Activation_Context: Remove patch.
This was originally the third patch in a series, introduced by ec4e719cd6. The
first patch and the series itself was written by Mark Jansen and focused on an
incorrect handling of NULL in QueryActCtx(). It's not clear what those were
actually for, but they're upstream now.

My guess is that Sebastian noticed this "bug" while writing tests and wrote the
patch to fix it, as it's an easy one-liner. My guess is that he never submitted
it upstream either because it wasn't clearly correct (e.g. he wanted to actually
implement ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION) or because of
disagreements with upstream over project direction. As it happens there is a way
to get ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION to return valid data—pass
a NULL or empty string as the section name.

Anyway, the patch is likely to have never actually helped anything, and even if
it did, it's a one-liner with a FIXME message already attached, and so won't be
hard to debug again if necessary.
2021-04-19 18:14:44 -05:00
Zebediah Figura
85fbfed5eb Rebase against 06ab0677587fbbb83ef73efa7ed22bf85dcb6836. 2021-04-19 18:11:23 -05:00
Zebediah Figura
20303a53ec Rebase against 749f8c25e262cb049289e7c96bb390edcafa1021. 2021-04-16 17:42:09 -05:00
Zebediah Figura
30c9d5a0f8 Rebase against 39263558a2088940aaacd6eda19ca23d40b63495. 2021-04-16 00:26:25 -05:00
Zebediah Figura
425f75f839 Rebase against 092c7a09a5afde3f11b71b1816388e80d062e8ec. 2021-04-14 19:17:15 -05:00
Zebediah Figura
d805441f46 Rebase against c6393968754d64189f111e9277fb9060ec415fae. 2021-04-13 20:27:50 -05:00
Zebediah Figura
2211b6664e mfplat-streaming-support: Remove patch 0019.
This was fixed by 800103d127.
2021-04-13 16:24:27 -05:00
Zebediah Figura
a886228fbc user32-rawinput-mouse: Update from Rémi Bernon.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50969
2021-04-12 17:00:07 -05:00
Zebediah Figura
e353590528 kernel32-Processor_Group: Remove patch 0001.
This has no effect now other than to return ERROR_INVALID_PARAMETER in some cases, which is not really more correct.
2021-04-12 16:56:56 -05:00
Zebediah Figura
b582d2d018 Rebase against 4904d90870a716fda971fc12240ddbc23323475c. 2021-04-12 16:54:57 -05:00
Zebediah Figura
00aab80494 Release v6.6 2021-04-09 17:47:34 -05:00
Zebediah Figura
86424f3ac1 bcrypt-ECDHSecretAgreement: Remove a commented "Disabled: true" directive. 2021-04-09 17:40:52 -05:00
Zebediah Figura
661df7b889 user32-rawinput-*: Replace with new patches from Rémi Bernon. 2021-04-09 17:39:38 -05:00
Zebediah Figura
64ea26c0cb Rebase against a24bdfc2c69c5648cbb3df762149b2647e209a09. 2021-04-09 15:23:33 -05:00
Zebediah Figura
9319c38de2 Rebase against 3269da9b46eaec8e3ea263fc8ecfcd24d3d8b6e6. 2021-04-08 18:18:17 -05:00
Zebediah Figura
03f7334e65 Actually rebase against ac65e1540960e64ce29e40ec19e4eade8369d520. 2021-04-07 18:35:45 -05:00
Zebediah Figura
eb40bf85d6 Rebase against ac65e1540960e64ce29e40ec19e4eade8369d520. 2021-04-07 17:30:55 -05:00
Zebediah Figura
d1169e15ee Rebase against 5a8bc554ef06c4a21d8b49ea8d936299f2cb2f34. 2021-04-06 18:45:52 -05:00
Zebediah Figura
0c295023f1 Rebase against 8d076bc5e46cc11ec94db631e7c608f62d75cee2. 2021-04-06 17:41:23 -05:00
Zebediah Figura
733a420dd7 server-Key_State: Replace with new patches from Rémi Bernon.
This also serves as a rebase against 2fcc1d0ecdebc55a5f515b1390ce715303f6a6ad.
2021-04-02 20:15:01 -05:00
Zebediah Figura
545073aafa Rebase against 97b420224e767b24d89722ff5efeca38a8ecf1e2. 2021-04-01 23:03:15 -05:00
Zebediah Figura
4e2dc89043 Rebase against 29d9659095fd76e303f204050ab4c85d0a0486e4. 2021-03-31 16:49:32 -05:00
Zebediah Figura
2929606a6a msxml3-FreeThreadedXMLHTTP60: Change bug reference to reflect split upstream bug. 2021-03-31 16:04:59 -05:00
Zebediah Figura
d90a798a26 Rebase against 7c62e6b169f18f4a5d5809490f8aebdb5a9375eb. 2021-03-30 17:06:03 -05:00
Zebediah Figura
2e42e7d996 Rebase against 6ca1a92684fcbaa1c569b60411a8036b6d11dc99. 2021-03-29 17:03:49 -05:00
Alistair Leslie-Hughes
34ba08404f Release v6.5 2021-03-28 18:24:50 +11:00
Zebediah Figura
7b199110bb Rebase against 71d41b37a1917cdf20cdb171dc73c20dbfdaeefa. 2021-03-27 10:31:02 -05:00
Alistair Leslie-Hughes
3d3cbfce86 Updated ntdll-Hide_Wine_Exports patchset 2021-03-26 15:05:50 +11:00
Alistair Leslie-Hughes
0547bb4578 Rebase against 34652f37e443a9e7698f66d13df3b4811b1c0cc3. 2021-03-26 10:38:20 +11:00
Zebediah Figura
f20c33fa04 Rebase against 12cfe6826773708e3b15f73b9674ccb959000d8b. 2021-03-24 16:48:35 -05:00
Zebediah Figura
a644c49d6d winmm-Delay_Import_Depends: Remove patch set.
This was fixed upstream at some point.
2021-03-24 11:27:50 -05:00
Zebediah Figura
d2102728fe Rebase against f69c8f018188af49d5a3916f7bb7e3ab984fd3ec. 2021-03-23 17:24:09 -05:00
Zebediah Figura
a93d3b6369 Use source.winehq.org in CI scripts. 2021-03-22 18:20:56 -05:00
Zebediah Figura
09fdb3b5c9 Rebase against d1764a45cfd12f8c5699fd7428cf90f90a2d31ef.
Actually rebase this time.
2021-03-22 18:18:36 -05:00
Zebediah Figura
5897bc1d27 Rebase against 41df83c50e1c3cfdd6e8ffb65de7838f8503632c. 2021-03-22 17:37:48 -05:00
Zebediah Figura
f8b6fde40c Rebase against 41df83c50e1c3cfdd6e8ffb65de7838f8503632c. 2021-03-19 21:15:35 -05:00
Alistair Leslie-Hughes
34d5c3568f Rebase against 6d26689484070b2c4ad4e0e16812c6eb8176cd40. 2021-03-19 14:27:44 +11:00
Zebediah Figura
44af049de7 Rebase against 2828d0820a1661e46f606f28db090d710cef11f4. 2021-03-18 00:32:41 -05:00
Alistair Leslie-Hughes
c747e46d75 Rebase against 4d5824112e13160e538013a25f1c13a124565180. 2021-03-17 09:44:07 +11:00
Zebediah Figura
1f89c15143 Rebase against 23ffd0a7986421958c23cffce138afa389209920. 2021-03-15 18:28:35 -05:00
229 changed files with 5042 additions and 16144 deletions

View File

@@ -38,7 +38,7 @@ jobs:
mkdir $GITHUB_WORKSPACE/wine
cd wine
git init
git fetch https://github.com/wine-mirror/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
git checkout $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit)
- name: Run patchinstall.sh --all
@@ -98,7 +98,7 @@ jobs:
mkdir $GITHUB_WORKSPACE/wine
cd wine
git init
git fetch https://github.com/wine-mirror/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
git checkout $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit)
- name: Configure wine64

View File

@@ -1,15 +1,15 @@
From 0cf6433af95363c5fbba2af482b2ba50b863dfb7 Mon Sep 17 00:00:00 2001
From e51b05c3a9d03e4dd84a107a30841d95f8a519c3 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
branch name and version.
---
dlls/ntdll/loader.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
dlls/ntdll/loader.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 20bc3f977d1..c2187a19397 100644
index ee453700e51..c2d4b3c2f86 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -44,6 +44,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
@@ -20,15 +20,15 @@ index 20bc3f977d1..c2187a19397 100644
#ifdef _WIN64
#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232)
@@ -3456,6 +3457,7 @@ static void process_breakpoint(void)
__ENDTRY
@@ -3307,6 +3308,7 @@ void WINAPI LdrShutdownProcess(void)
process_detach();
}
+extern const char * CDECL wine_get_version(void);
/******************************************************************
* LdrInitializeThunk (NTDLL.@)
@@ -3465,6 +3467,9 @@ static void process_breakpoint(void)
* RtlExitUserProcess (NTDLL.@)
@@ -3673,6 +3675,9 @@ static void init_wow64(void)
*/
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR unknown3, ULONG_PTR unknown4 )
{
@@ -38,9 +38,9 @@ index 20bc3f977d1..c2187a19397 100644
static int attach_done;
int i;
NTSTATUS status;
@@ -3483,6 +3488,16 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
entry = (void **)&context->u.s.X0;
#endif
@@ -3753,6 +3758,17 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
}
else wm = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
+ RtlInitUnicodeString( &staging_event_string, L"\\__wine_staging_warn_event" );
+ InitializeObjectAttributes( &staging_event_attr, &staging_event_string, OBJ_OPENIF, NULL, NULL );
@@ -52,9 +52,10 @@ index 20bc3f977d1..c2187a19397 100644
+ else
+ WARN_(winediag)("wine-staging %s is a testing version containing experimental patches.\n", wine_get_version());
+
if (process_detaching) NtTerminateThread( GetCurrentThread(), 0 );
RtlEnterCriticalSection( &loader_section );
+
RtlAcquirePebLock();
InsertHeadList( &tls_links, &NtCurrentTeb()->TlsLinks );
RtlReleasePebLock();
--
2.28.0
2.30.2

View File

@@ -1,100 +0,0 @@
From 452c42b4855e2f6338fa9b8746377ff9fe9ee706 Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Wed, 23 Apr 2014 04:16:53 +0800
Subject: [PATCH] atl: Implement AtlAxDialogBox[A,W]
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=32749
---
dlls/atl/atl_ax.c | 60 +++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 50 insertions(+), 10 deletions(-)
diff --git a/dlls/atl/atl_ax.c b/dlls/atl/atl_ax.c
index 8121278..92fcb84 100644
--- a/dlls/atl/atl_ax.c
+++ b/dlls/atl/atl_ax.c
@@ -28,6 +28,7 @@
#include "winerror.h"
#include "winuser.h"
#include "wine/debug.h"
+#include "wine/heap.h"
#include "objbase.h"
#include "objidl.h"
#include "ole2.h"
@@ -1407,25 +1408,64 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
}
/***********************************************************************
- * AtlAxDialogBoxW [atl100.35]
+ * AtlAxDialogBoxA [atl100.@]
*
*/
-INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
- LPARAM dwInitParam)
+INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
{
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_w(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
- return 0;
+ INT_PTR res = 0;
+ int length;
+ WCHAR *nameW;
+
+ if (IS_INTRESOURCE(name))
+ return AtlAxDialogBoxW( hInst, (LPCWSTR) name, owner, dlgProc, param );
+
+ length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
+ nameW = heap_alloc( length * sizeof(WCHAR) );
+ if (nameW)
+ {
+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, length );
+ res = AtlAxDialogBoxW( hInst, nameW, owner, dlgProc, param );
+ heap_free( nameW );
+ }
+ return res;
}
/***********************************************************************
- * AtlAxDialogBoxA [atl100.36]
+ * AtlAxDialogBoxW [atl100.@]
*
*/
-INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
- LPARAM dwInitParam)
+INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
{
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
- return 0;
+ HRSRC hrsrc;
+ HGLOBAL hgl;
+ LPCDLGTEMPLATEW ptr;
+ LPDLGTEMPLATEW newptr;
+ INT_PTR res;
+
+ TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param);
+
+ hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG );
+ if ( !hrsrc )
+ return 0;
+ hgl = LoadResource (hInst, hrsrc);
+ if ( !hgl )
+ return 0;
+ ptr = LockResource ( hgl );
+ if (!ptr)
+ {
+ FreeResource( hgl );
+ return 0;
+ }
+ newptr = AX_ConvertDialogTemplate( ptr );
+ if ( newptr )
+ {
+ res = DialogBoxIndirectParamW( hInst, newptr, owner, dlgProc, param );
+ heap_free( newptr );
+ } else
+ res = 0;
+ FreeResource ( hrsrc );
+ return res;
}
/***********************************************************************
--
1.9.1

View File

@@ -1 +0,0 @@
Fixes: [32749] atl: Implemented AtlAxDialogBox[A,W]

View File

@@ -1,4 +1,4 @@
From 3478a4e41c07a66e7e913c54bcf5ad52e16a8fee Mon Sep 17 00:00:00 2001
From 6d925cb20409888ada3e469a2a09b1bfc726fa79 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 2 Oct 2020 11:29:24 -0500
Subject: [PATCH] bcrypt: Allow multiple backends to coexist.
@@ -14,7 +14,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
create mode 100644 dlls/bcrypt/unixlib.c
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
index 24803fb2d7cb..46a20d473dd7 100644
index 24803fb2d7c..46a20d473dd 100644
--- a/dlls/bcrypt/Makefile.in
+++ b/dlls/bcrypt/Makefile.in
@@ -11,6 +11,7 @@ C_SRCS = \
@@ -27,7 +27,7 @@ index 24803fb2d7cb..46a20d473dd7 100644
RC_SRCS = version.rc
diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h
index eb1361115093..3c7110d05f84 100644
index eb136111509..3c7110d05f8 100644
--- a/dlls/bcrypt/bcrypt_internal.h
+++ b/dlls/bcrypt/bcrypt_internal.h
@@ -218,4 +218,7 @@ struct key_funcs
@@ -39,10 +39,10 @@ index eb1361115093..3c7110d05f84 100644
+
#endif /* __BCRYPT_INTERNAL_H */
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
index c065ac31fba3..9490ea8612a8 100644
index 2f0c62bc6da..4a9dcf9de8a 100644
--- a/dlls/bcrypt/gnutls.c
+++ b/dlls/bcrypt/gnutls.c
@@ -371,9 +371,12 @@ fail:
@@ -372,9 +372,12 @@ fail:
static void gnutls_uninitialize(void)
{
@@ -58,7 +58,7 @@ index c065ac31fba3..9490ea8612a8 100644
}
struct buffer
@@ -1949,19 +1952,28 @@ static const struct key_funcs key_funcs =
@@ -1899,19 +1902,28 @@ static const struct key_funcs key_funcs =
key_import_rsa
};
@@ -74,7 +74,7 @@ index c065ac31fba3..9490ea8612a8 100644
+ if (!gnutls_initialize()) return NULL;
+ return &key_funcs;
case DLL_PROCESS_DETACH:
gnutls_uninitialize();
if (libgnutls_handle) gnutls_uninitialize();
- break;
}
- return STATUS_SUCCESS;
@@ -95,7 +95,7 @@ index c065ac31fba3..9490ea8612a8 100644
+}
+#endif
diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c
index 44906519cef0..2a88aec8362c 100644
index 44906519cef..2a88aec8362 100644
--- a/dlls/bcrypt/macos.c
+++ b/dlls/bcrypt/macos.c
@@ -302,11 +302,21 @@ static const struct key_funcs key_funcs =
@@ -126,7 +126,7 @@ index 44906519cef0..2a88aec8362c 100644
#endif
diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c
new file mode 100644
index 000000000000..9cbb25f5740c
index 00000000000..9cbb25f5740
--- /dev/null
+++ b/dlls/bcrypt/unixlib.c
@@ -0,0 +1,211 @@
@@ -342,5 +342,5 @@ index 000000000000..9cbb25f5740c
+
+#endif
--
2.29.2
2.30.2

View File

@@ -2,4 +2,3 @@ Fixes: [47699] Multiple games fail to connect to online services (missing BCrypt
# Needs to be moved to the unix lib, but that's a nontrivial amount of work, and
# using gcrypt is the wrong way forward (we should expose the missing APIs from
# gnutls instead).
#Disabled: true

View File

@@ -1,54 +0,0 @@
From 3497a2faa4ebab67b65bcf99d4ed56baa70ddf96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 12 Jul 2014 23:58:19 +0200
Subject: [PATCH] comctl32: Preserve custom colors between subitems. (v2)
---
dlls/comctl32/listview.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index dba16d13a4c..35cab333b7b 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -1063,7 +1063,7 @@ static void prepaint_setup (const LISTVIEW_INFO *infoPtr, HDC hdc, const NMLVCUS
textcolor = cd->clrText;
/* apparently, for selected items, we have to override the returned values */
- if (!SubItem)
+ if (!SubItem || (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
{
if (cd->nmcd.uItemState & CDIS_SELECTED)
{
@@ -4786,6 +4786,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
while (iterator_next(subitems))
{
DWORD subitemstage = CDRF_DODEFAULT;
+ NMLVCUSTOMDRAW temp_nmlvcd;
/* We need to query for each subitem, item's data (subitem == 0) is already here at this point */
if (subitems->nItem)
@@ -4813,13 +4814,15 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
if (cdsubitemmode & CDRF_NOTIFYSUBITEMDRAW)
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPREPAINT, &nmlvcd);
- if (subitems->nItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
- prepaint_setup(infoPtr, hdc, &nmlvcd, FALSE);
- else if (!(infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
- prepaint_setup(infoPtr, hdc, &nmlvcd, TRUE);
+ /*
+ * A selection should neither affect the colors in the post paint notification nor
+ * affect the colors of the next drawn subitem. Copy the structure to prevent this.
+ */
+ temp_nmlvcd = nmlvcd;
+ prepaint_setup(infoPtr, hdc, &temp_nmlvcd, subitems->nItem);
if (!(subitemstage & CDRF_SKIPDEFAULT))
- LISTVIEW_DrawItemPart(infoPtr, &lvItem, &nmlvcd, &pos);
+ LISTVIEW_DrawItemPart(infoPtr, &lvItem, &temp_nmlvcd, &pos);
if (subitemstage & CDRF_NOTIFYPOSTPAINT)
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPOSTPAINT, &nmlvcd);
--
2.27.0

View File

@@ -1 +0,0 @@
Fixes: [38941] Preserve custom colors between subitems for listview control

View File

@@ -1,4 +1,4 @@
From 881e39d338d1b8faed36440376460d498262c532 Mon Sep 17 00:00:00 2001
From 1d756dd5a98e84afa53a487cd6b7ecbf0a576422 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Jan 2017 16:54:42 +0100
Subject: [PATCH] wined3d: Add wined3d_resource_map_info function.
@@ -13,10 +13,10 @@ Subject: [PATCH] wined3d: Add wined3d_resource_map_info function.
6 files changed, 70 insertions(+)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 89dab8ebfdd..5ef9a48eeb7 100644
index ea21f85bc9e..d030a1cecd6 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1121,6 +1121,24 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc
@@ -949,6 +949,24 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc
return WINED3D_OK;
}
@@ -41,7 +41,7 @@ index 89dab8ebfdd..5ef9a48eeb7 100644
static HRESULT buffer_resource_sub_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
{
struct wined3d_buffer *buffer = buffer_from_resource(resource);
@@ -1279,6 +1297,7 @@ static const struct wined3d_resource_ops buffer_resource_ops =
@@ -1085,6 +1103,7 @@ static const struct wined3d_resource_ops buffer_resource_ops =
buffer_resource_preload,
buffer_resource_unload,
buffer_resource_sub_resource_map,
@@ -50,11 +50,11 @@ index 89dab8ebfdd..5ef9a48eeb7 100644
};
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index bba940f42cb..ff31c004b06 100644
index 6e34605f547..b3a46950f4e 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -383,6 +383,14 @@ HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned i
return wined3d_cs_map(resource->device->cs, resource, sub_resource_idx, map_desc, box, flags);
@@ -323,6 +323,14 @@ HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned i
return wined3d_device_context_map(&resource->device->cs->c, resource, sub_resource_idx, map_desc, box, flags);
}
+HRESULT CDECL wined3d_resource_map_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
@@ -69,10 +69,10 @@ index bba940f42cb..ff31c004b06 100644
{
TRACE("resource %p, sub_resource_idx %u.\n", resource, sub_resource_idx);
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 7c9c8298519..73e79ff25b5 100644
index 333002ebfd5..ad34329af1d 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -3155,6 +3155,36 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
@@ -3509,6 +3509,36 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
return WINED3D_OK;
}
@@ -109,7 +109,7 @@ index 7c9c8298519..73e79ff25b5 100644
static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
{
struct wined3d_texture_sub_resource *sub_resource;
@@ -3207,6 +3237,7 @@ static const struct wined3d_resource_ops texture_resource_ops =
@@ -3561,6 +3591,7 @@ static const struct wined3d_resource_ops texture_resource_ops =
texture_resource_preload,
texture_resource_unload,
texture_resource_sub_resource_map,
@@ -118,10 +118,10 @@ index 7c9c8298519..73e79ff25b5 100644
};
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index e03c57055b7..f68f8199f7e 100644
index 7c81eff1593..63e7b82abda 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -218,6 +218,7 @@
@@ -230,6 +230,7 @@
@ cdecl wined3d_resource_get_parent(ptr)
@ cdecl wined3d_resource_get_priority(ptr)
@ cdecl wined3d_resource_map(ptr long ptr ptr long)
@@ -130,10 +130,10 @@ index e03c57055b7..f68f8199f7e 100644
@ cdecl wined3d_resource_set_parent(ptr ptr)
@ cdecl wined3d_resource_set_priority(ptr long)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 8f9ad1ce856..c7f75d1983c 100644
index 4d5f4765f57..385d0511d56 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3368,6 +3368,8 @@ struct wined3d_resource_ops
@@ -4046,6 +4046,8 @@ struct wined3d_resource_ops
void (*resource_unload)(struct wined3d_resource *resource);
HRESULT (*resource_sub_resource_map)(struct wined3d_resource *resource, unsigned int sub_resource_idx,
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
@@ -143,10 +143,10 @@ index 8f9ad1ce856..c7f75d1983c 100644
};
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index bafab04d3d3..ea50fb7c8d4 100644
index 2c4b93ce805..760bb709c2b 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -1851,6 +1851,13 @@ struct wined3d_map_desc
@@ -1861,6 +1861,13 @@ struct wined3d_map_desc
void *data;
};
@@ -160,7 +160,7 @@ index bafab04d3d3..ea50fb7c8d4 100644
struct wined3d_sub_resource_data
{
const void *data;
@@ -2663,6 +2670,8 @@ void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resour
@@ -2749,6 +2756,8 @@ void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resour
DWORD __cdecl wined3d_resource_get_priority(const struct wined3d_resource *resource);
HRESULT __cdecl wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx,
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
@@ -170,5 +170,5 @@ index bafab04d3d3..ea50fb7c8d4 100644
void __cdecl wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent);
DWORD __cdecl wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority);
--
2.24.0
2.30.2

View File

@@ -1,4 +1,4 @@
From 504969929eb7932fe22880768461f2172080f0eb Mon Sep 17 00:00:00 2001
From 4527c01f3e96ad841fb26002c1e73a2b4d9ac55e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Jan 2017 16:56:56 +0100
Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
@@ -8,7 +8,7 @@ Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
1 file changed, 1041 insertions(+), 31 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 454003128dc..4beb7cea4fa 100644
index 47f43a796e3..ca21e9be6ea 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -16,6 +16,7 @@
@@ -18,8 +18,8 @@ index 454003128dc..4beb7cea4fa 100644
+#include "wine/list.h"
#define NONAMELESSUNION
#include "d3d11_private.h"
@@ -48,6 +49,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
#define WINE_NO_NAMELESS_EXTENSION
@@ -49,6 +50,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
return TRUE;
}
@@ -194,7 +194,7 @@ index 454003128dc..4beb7cea4fa 100644
/* ID3D11DeviceContext - deferred context */
struct d3d11_deferred_context
{
@@ -55,9 +224,532 @@ struct d3d11_deferred_context
@@ -56,9 +225,532 @@ struct d3d11_deferred_context
ID3D11Device *device;
LONG refcount;
@@ -727,7 +727,7 @@ index 454003128dc..4beb7cea4fa 100644
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
@@ -1415,7 +2107,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
@@ -1428,7 +2120,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext1 *iface,
ID3D11CommandList *command_list, BOOL restore_state)
{
@@ -749,7 +749,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext1 *iface,
@@ -3169,6 +3874,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
@@ -3167,6 +3872,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
if (!refcount)
{
@@ -757,7 +757,7 @@ index 454003128dc..4beb7cea4fa 100644
wined3d_private_store_cleanup(&context->private_store);
ID3D11Device_Release(context->device);
HeapFree(GetProcessHeap(), 0, context);
@@ -3220,43 +3926,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
@@ -3218,43 +3924,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
{
@@ -850,7 +850,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
@@ -3269,53 +4018,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
@@ -3267,53 +4016,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource)
{
@@ -1029,7 +1029,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface,
@@ -3344,7 +4209,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
@@ -3342,7 +4207,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
D3D11_PRIMITIVE_TOPOLOGY topology)
{
@@ -1047,7 +1047,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface,
@@ -3404,8 +4278,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
@@ -3402,8 +4276,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views,
ID3D11DepthStencilView *depth_stencil_view)
{
@@ -1077,7 +1077,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews(
@@ -3425,15 +4319,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
@@ -3423,15 +4317,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface,
ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask)
{
@@ -1124,7 +1124,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count,
@@ -3475,13 +4398,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
@@ -3473,13 +4396,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface,
ID3D11RasterizerState *rasterizer_state)
{
@@ -1161,7 +1161,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface,
@@ -3596,8 +4540,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
@@ -3594,8 +4538,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface,
ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
{
@@ -1181,7 +1181,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface,
@@ -3610,36 +4564,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
@@ -3608,36 +4562,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
{
@@ -1249,7 +1249,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
@@ -3940,7 +4920,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
@@ -3938,7 +4918,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface)
{
@@ -1266,7 +1266,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface)
@@ -3965,9 +4953,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
@@ -3963,9 +4951,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface,
BOOL restore, ID3D11CommandList **command_list)
{
@@ -1298,7 +1298,7 @@ index 454003128dc..4beb7cea4fa 100644
}
static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl =
@@ -4582,6 +5590,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
@@ -4580,6 +5588,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
object->device = (ID3D11Device *)iface;
object->refcount = 1;
@@ -1308,5 +1308,5 @@ index 454003128dc..4beb7cea4fa 100644
wined3d_private_store_init(&object->private_store);
--
2.30.0
2.30.2

View File

@@ -1,20 +1,20 @@
From 2aca1492440a076d00c910b6479b76fe69c1b2ee Mon Sep 17 00:00:00 2001
From 8fe0dad5a51a6ddd712dfc87949e4b3d453c9e0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 31 Aug 2017 05:04:15 +0200
Subject: [PATCH] d3d11: Implement d3d11_deferred_context_UpdateSubresource.
---
dlls/d3d11/device.c | 75 +++++++++++++++++++++++++++++++++++++-
dlls/wined3d/resource.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++
dlls/d3d11/device.c | 75 ++++++++++++++++++++++++++++++-
dlls/wined3d/resource.c | 93 +++++++++++++++++++++++++++++++++++++++
dlls/wined3d/wined3d.spec | 1 +
include/wine/wined3d.h | 2 +
4 files changed, 170 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index c83d6a0..4f3700d 100644
index 21da04547a6..70eecdd5a9e 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -45,6 +45,7 @@ enum deferred_cmd
@@ -69,6 +69,7 @@ enum deferred_cmd
DEFERRED_COPYRESOURCE, /* copy_resource_info */
DEFERRED_SETRESOURCEMINLOD, /* set_resource_min_lod_info */
DEFERRED_COPYSUBRESOURCEREGION, /* copy_subresource_region_info */
@@ -22,10 +22,11 @@ index c83d6a0..4f3700d 100644
DEFERRED_RESOLVESUBRESOURCE, /* resolve_subresource_info */
DEFERRED_COPYSTRUCTURECOUNT, /* copy_structure_count_info */
@@ -185,6 +186,15 @@ struct deferred_call
@@ -208,6 +209,15 @@ struct deferred_call
D3D11_BOX *src_box;
} copy_subresource_region_info;
struct
{
+ {
+ ID3D11Resource *resource;
+ UINT subresource_idx;
+ D3D11_BOX *box;
@@ -34,11 +35,10 @@ index c83d6a0..4f3700d 100644
+ UINT depth_pitch;
+ } update_subresource_info;
+ struct
+ {
{
ID3D11Resource *dst_resource;
UINT dst_subresource_idx;
ID3D11Resource *src_resource;
@@ -568,6 +578,12 @@ static void free_deferred_calls(struct list *commands)
@@ -592,6 +602,12 @@ static void free_deferred_calls(struct list *commands)
ID3D11Resource_Release(call->copy_subresource_region_info.src_resource);
break;
}
@@ -51,7 +51,7 @@ index c83d6a0..4f3700d 100644
case DEFERRED_RESOLVESUBRESOURCE:
{
if (call->resolve_subresource_info.dst_resource)
@@ -899,6 +915,17 @@ static void exec_deferred_calls(ID3D11DeviceContext1 *iface, struct list *comman
@@ -923,6 +939,17 @@ static void exec_deferred_calls(ID3D11DeviceContext1 *iface, struct list *comman
call->copy_structure_count_info.src_view);
break;
}
@@ -69,7 +69,7 @@ index c83d6a0..4f3700d 100644
case DEFERRED_CSSETSHADER:
{
ID3D11DeviceContext1_CSSetShader(iface, call->cs_info.shader, NULL, 0);
@@ -5054,8 +5081,54 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_UpdateSubresource(ID3D11Dev
@@ -5281,8 +5308,54 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_UpdateSubresource(ID3D11Dev
ID3D11Resource *resource, UINT subresource_idx, const D3D11_BOX *box,
const void *data, UINT row_pitch, UINT depth_pitch)
{
@@ -126,11 +126,11 @@ index c83d6a0..4f3700d 100644
static void STDMETHODCALLTYPE d3d11_deferred_context_CopyStructureCount(ID3D11DeviceContext *iface,
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index 28581a1..c2a9933 100644
index b3a46950f4e..fae2cae4398 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -373,6 +373,99 @@ HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned
return wined3d_cs_unmap(resource->device->cs, resource, sub_resource_idx);
@@ -338,6 +338,99 @@ HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned
return wined3d_device_context_unmap(&resource->device->cs->c, resource, sub_resource_idx);
}
+UINT CDECL wined3d_resource_update_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
@@ -230,10 +230,10 @@ index 28581a1..c2a9933 100644
{
wined3d_cs_emit_preload_resource(resource->device->cs, resource);
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index 58dc0a9..fe6e0af 100644
index 63e7b82abda..9879f394699 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -234,6 +234,7 @@
@@ -235,6 +235,7 @@
@ cdecl wined3d_resource_set_parent(ptr ptr)
@ cdecl wined3d_resource_set_priority(ptr long)
@ cdecl wined3d_resource_unmap(ptr long)
@@ -242,10 +242,10 @@ index 58dc0a9..fe6e0af 100644
@ cdecl wined3d_rendertarget_view_create(ptr ptr ptr ptr ptr)
@ cdecl wined3d_rendertarget_view_create_from_sub_resource(ptr long ptr ptr ptr)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index fa929e5..0adb891 100644
index 760bb709c2b..7cd6682d494 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2597,6 +2597,8 @@ void __cdecl wined3d_resource_preload(struct wined3d_resource *resource);
@@ -2762,6 +2762,8 @@ void __cdecl wined3d_resource_preload(struct wined3d_resource *resource);
void __cdecl wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent);
DWORD __cdecl wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority);
HRESULT __cdecl wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx);
@@ -255,5 +255,5 @@ index fa929e5..0adb891 100644
HRESULT __cdecl wined3d_rendertarget_view_create(const struct wined3d_view_desc *desc,
struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
--
1.9.1
2.30.2

View File

@@ -1,18 +1,18 @@
From d6805cde0e8f01e672f17fb03af947e7d2f83dde Mon Sep 17 00:00:00 2001
From cf45f6b66c0babf760c2a27ff7aa6842696fb22f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 1 Oct 2017 04:43:22 +0200
Subject: [PATCH] d3d11: Implement restoring of state after executing a command
list.
---
dlls/d3d11/device.c | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++-
dlls/d3d11/device.c | 233 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 229 insertions(+), 4 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 4f3700d..e214202 100644
index 639727e4af4..c2c63d97351 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -367,6 +367,62 @@ struct deferred_call
@@ -391,6 +391,62 @@ struct deferred_call
};
};
@@ -75,7 +75,7 @@ index 4f3700d..e214202 100644
/* ID3D11CommandList - command list */
struct d3d11_command_list
{
@@ -2513,22 +2569,191 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
@@ -2730,22 +2786,191 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
wined3d_mutex_unlock();
}
@@ -130,7 +130,7 @@ index 4f3700d..e214202 100644
+ ID3D11DeviceContext1_SOGetTargets(context, D3D11_SO_BUFFER_SLOT_COUNT, stateblock->so_buffers);
+ /* For some reason the d3d11 get function is missing the offset parameter */
+ for (i = 0; i < D3D11_SO_BUFFER_SLOT_COUNT; i++)
+ wined3d_device_get_stream_output(device->wined3d_device, i, &stateblock->so_offsets[i]);
+ wined3d_device_context_get_stream_output(device->immediate_context.wined3d_context, i, &stateblock->so_offsets[i]);
+
+ ID3D11DeviceContext1_GetPredication(context, &stateblock->predicate, &stateblock->predicate_value);
+
@@ -272,5 +272,5 @@ index 4f3700d..e214202 100644
}
--
1.9.1
2.30.2

View File

@@ -1,18 +1,18 @@
From a6a89266f71551cd6ee6b80dc758825957087a37 Mon Sep 17 00:00:00 2001
From 7e0e8ea02fa2670a29e1c312f88205b870521a9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 30 May 2015 02:55:03 +0200
Subject: [PATCH] ddraw: Allow size and format conversions in
IDirect3DTexture2::Load.
---
dlls/ddraw/surface.c | 152 +++++++++++++++++++++++--------------------
1 file changed, 81 insertions(+), 71 deletions(-)
dlls/ddraw/surface.c | 153 +++++++++++++++++++++++--------------------
1 file changed, 82 insertions(+), 71 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 19a1ae3d2d2..ed46ff0534a 100644
index f5c3528cfa4..a8b919c05c2 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -5310,6 +5310,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
@@ -5316,6 +5316,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
return impl_from_IDirectDrawSurface7(next_level);
}
@@ -59,7 +59,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
/*****************************************************************************
* IDirect3DTexture2::Load
*
@@ -5331,7 +5371,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
@@ -5337,7 +5377,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
{
struct ddraw_surface *dst_surface = impl_from_IDirect3DTexture2(iface);
struct ddraw_surface *src_surface = unsafe_impl_from_IDirect3DTexture2(src_texture);
@@ -68,7 +68,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
HRESULT hr;
TRACE("iface %p, src_texture %p.\n", iface, src_texture);
@@ -5344,90 +5384,61 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
@@ -5350,90 +5390,62 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
wined3d_mutex_lock();
@@ -184,7 +184,8 @@ index 19a1ae3d2d2..ed46ff0534a 100644
- wined3d_resource_unmap(dst_resource, dst_surface->sub_resource_idx);
- wined3d_resource_unmap(src_resource, src_surface->sub_resource_idx);
+ hr = wined3d_texture_blt(ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
+ hr = wined3d_device_context_blt(dst_surface->ddraw->immediate_context,
+ ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
+ dst_surface->sub_resource_idx, &dst_rect,
+ ddraw_surface_get_default_texture(src_surface, DDRAW_SURFACE_READ),
+ src_surface->sub_resource_idx, &src_rect, 0, NULL, WINED3D_TEXF_LINEAR);
@@ -196,7 +197,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
}
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_MIPMAP)
@@ -5440,12 +5451,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
@@ -5446,12 +5458,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
else
dst_surface = NULL;
@@ -213,5 +214,5 @@ index 19a1ae3d2d2..ed46ff0534a 100644
wined3d_mutex_unlock();
--
2.20.1
2.30.2

View File

@@ -1,183 +0,0 @@
From 3cf6891f84548a9519bed5db83ad19e801ad8d22 Mon Sep 17 00:00:00 2001
From: Paul Gofman <gofmanp@gmail.com>
Date: Thu, 4 Apr 2019 02:25:00 +0300
Subject: [PATCH] ddraw: Allow setting texture without DDSCAPS_TEXTURE for
software device.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
---
dlls/ddraw/device.c | 20 ++++++--
dlls/ddraw/tests/ddraw4.c | 102 ++++++++++++++++++++++++++++++++++++++
2 files changed, 118 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index c99eafc7524..49aae2feef5 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -4822,7 +4822,8 @@ static HRESULT d3d_device7_SetTexture(IDirect3DDevice7 *iface,
struct ddraw_surface *surf = unsafe_impl_from_IDirectDrawSurface7(texture);
struct wined3d_texture *wined3d_texture = NULL;
- TRACE("iface %p, stage %u, texture %p.\n", iface, stage, texture);
+ TRACE("iface %p, stage %u, texture %p, surf %p, surf->surface_desc.ddsCaps.dwCaps %#x.\n",
+ iface, stage, texture, surf, surf ? surf->surface_desc.ddsCaps.dwCaps : 0);
if (surf && (surf->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE))
wined3d_texture = surf->draw_texture ? surf->draw_texture : surf->wined3d_texture;
@@ -4858,19 +4859,30 @@ static HRESULT WINAPI d3d_device3_SetTexture(IDirect3DDevice3 *iface,
{
struct d3d_device *device = impl_from_IDirect3DDevice3(iface);
struct ddraw_surface *tex = unsafe_impl_from_IDirect3DTexture2(texture);
- HRESULT hr;
+ struct wined3d_texture *wined3d_texture;
TRACE("iface %p, stage %u, texture %p.\n", iface, stage, texture);
wined3d_mutex_lock();
- hr = IDirect3DDevice7_SetTexture(&device->IDirect3DDevice7_iface, stage, &tex->IDirectDrawSurface7_iface);
+ if (tex && ((tex->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE) || !device->hardware_device))
+ {
+ if (!(tex->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE))
+ WARN("Setting texture without DDSCAPS_TEXTURE.\n");
+ wined3d_texture = tex->wined3d_texture;
+ }
+ else
+ {
+ wined3d_texture = NULL;
+ }
+
+ wined3d_stateblock_set_texture(device->state, stage, wined3d_texture);
fixup_texture_alpha_op(device);
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
static const struct tss_lookup
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 5af824c3f78..032ae01fbf8 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -18326,6 +18326,107 @@ static void run_for_each_device_type(void (*test_func)(const GUID *))
test_func(&IID_IDirect3DRGBDevice);
}
+static void test_texture_wrong_caps(const GUID *device_guid)
+{
+ static struct
+ {
+ struct vec3 position;
+ struct vec2 texcoord;
+ }
+ quad[] =
+ {
+ {{-1.0f, -1.0f, 0.0f}, {0.0f, 1.0f}},
+ {{-1.0f, 1.0f, 0.0f}, {0.0f, 0.0f}},
+ {{ 1.0f, -1.0f, 0.0f}, {1.0f, 1.0f}},
+ {{ 1.0f, 1.0f, 0.0f}, {1.0f, 0.0f}},
+ };
+ static DDPIXELFORMAT fmt =
+ {
+ sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
+ {32}, {0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}
+ };
+ D3DRECT clear_rect = {{0}, {0}, {640}, {480}};
+ IDirectDrawSurface4 *surface, *rt;
+ D3DCOLOR color, expected_color;
+ IDirect3DViewport3 *viewport;
+ IDirect3DTexture2 *texture;
+ IDirect3DDevice3 *device;
+ IDirectDraw4 *ddraw;
+ DDSURFACEDESC2 ddsd;
+ IDirect3D3 *d3d;
+ ULONG refcount;
+ HWND window;
+ HRESULT hr;
+
+ window = create_window();
+ if (!(device = create_device_ex(window, DDSCL_NORMAL, device_guid)))
+ {
+ skip("Failed to create a 3D device, skipping test.\n");
+ DestroyWindow(window);
+ return;
+ }
+ hr = IDirect3DDevice3_GetDirect3D(device, &d3d);
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3D3_QueryInterface(d3d, &IID_IDirectDraw4, (void **)&ddraw);
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_GetRenderTarget(device, &rt);
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
+
+ viewport = create_viewport(device, 0, 0, 640, 480);
+ hr = IDirect3DDevice3_SetCurrentViewport(device, viewport);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+
+ memset(&ddsd, 0, sizeof(ddsd));
+ ddsd.dwSize = sizeof(ddsd);
+ ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT;
+ ddsd.dwHeight = 16;
+ ddsd.dwWidth = 16;
+ ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
+ U4(ddsd).ddpfPixelFormat = fmt;
+ hr = IDirectDraw4_CreateSurface(ddraw, &ddsd, &surface, NULL);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirectDrawSurface4_QueryInterface(surface, &IID_IDirect3DTexture2, (void **)&texture);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+
+ fill_surface(surface, 0xff00ff00);
+
+ hr = IDirect3DDevice3_SetRenderState(device, D3DRENDERSTATE_ZENABLE, D3DZB_FALSE);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
+
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_SetTexture(device, 0, texture);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DViewport3_Clear2(viewport, 1, &clear_rect, D3DCLEAR_TARGET, 0x000000ff, 0.0f, 0);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_BeginScene(device);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_DrawPrimitive(device, D3DPT_TRIANGLESTRIP,
+ D3DFVF_XYZ | D3DFVF_TEX1, quad, 4, 0);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+ hr = IDirect3DDevice3_EndScene(device);
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+
+ expected_color = is_software_device_type(device_guid) ? 0x0000ff00 : 0x00ffffff;
+ color = get_surface_color(rt, 320, 240);
+ ok(color == expected_color, "Got color 0x%08x, expected 0x%08x.\n", color, expected_color);
+
+ IDirect3DTexture2_Release(texture);
+ IDirectDrawSurface4_Release(surface);
+ IDirectDraw4_Release(ddraw);
+ IDirect3D3_Release(d3d);
+ refcount = IDirect3DDevice3_Release(device);
+ ok(!refcount, "Device has %u references left.\n", refcount);
+ DestroyWindow(window);
+}
+
START_TEST(ddraw4)
{
DDDEVICEIDENTIFIER identifier;
@@ -18458,6 +18559,7 @@ START_TEST(ddraw4)
test_gdi_surface();
test_alphatest();
test_clipper_refcount();
+ run_for_each_device_type(test_texture_wrong_caps);
test_caps();
test_d32_support();
test_surface_format_conversion_alpha();
--
2.20.1

View File

@@ -1 +0,0 @@
Fixes: [46948] Allow setting texture without DDSCAPS_TEXTURE for software device

View File

@@ -1,21 +1,21 @@
From cdfc54a6363804cc8ee9146c3adbd51e431bcbf2 Mon Sep 17 00:00:00 2001
From 4ff4b0b2c1a5aeabeec286dc76868acbccc8779d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 5 Apr 2015 19:13:18 +0200
Subject: dsound: Allow disabling of EAX support in the registry.
Subject: [PATCH] dsound: Allow disabling of EAX support in the registry.
Based on a patch by Mark Harmstone.
---
dlls/dsound/buffer.c | 16 ++++++----------
dlls/dsound/dsound_main.c | 9 ++++++++-
dlls/dsound/dsound_main.c | 8 ++++++++
dlls/dsound/dsound_private.h | 2 ++
dlls/dsound/eax.c | 28 ++++++++++++++++++++++++++++
4 files changed, 44 insertions(+), 11 deletions(-)
4 files changed, 44 insertions(+), 10 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index b763514..ca93972 100644
index 926dbab1289..6393656c9fa 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -35,6 +35,7 @@
@@ -34,6 +34,7 @@
#include "dsconf.h"
WINE_DEFAULT_DEBUG_CHANNEL(dsound);
@@ -23,7 +23,7 @@ index b763514..ca93972 100644
/*******************************************************************************
* IDirectSoundNotify
@@ -1329,16 +1330,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
@@ -1311,16 +1312,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
@@ -46,31 +46,21 @@ index b763514..ca93972 100644
return E_PROP_ID_UNSUPPORTED;
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index b349eb4..db2ca50 100644
index fecb9489678..8b396a1939e 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -94,8 +94,12 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
@@ -93,6 +93,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
int ds_hq_buffers_max = 4;
+BOOL ds_eax_enabled = FALSE;
static HINSTANCE instance;
+
+#define IS_OPTION_TRUE(ch) \
+ ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
+
/*
* Get a config key from either the app-specific or the default config
*/
@@ -108,7 +112,6 @@ static inline DWORD get_config_key( HKEY defkey, HKEY appkey, const char *name,
return ERROR_FILE_NOT_FOUND;
}
-
/*
* Setup the dsound options.
*/
@@ -149,11 +152,15 @@ void setup_dsound_options(void)
@@ -147,11 +151,15 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
ds_hq_buffers_max = atoi(buffer);
@@ -87,7 +77,7 @@ index b349eb4..db2ca50 100644
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 5a986ba..4e928a4 100644
index bca2bf46601..47a42e62e7c 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -37,6 +37,7 @@
@@ -98,7 +88,7 @@ index 5a986ba..4e928a4 100644
/*****************************************************************************
* Predeclare the interface implementation structures
@@ -230,6 +231,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
@@ -228,6 +229,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
/* eax.c */
@@ -107,7 +97,7 @@ index 5a986ba..4e928a4 100644
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index e10156e..857f924 100644
index ef802b95a7d..570207709f0 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -809,6 +809,28 @@ void free_eax_buffer(IDirectSoundBufferImpl *dsb)
@@ -160,5 +150,5 @@ index e10156e..857f924 100644
buf->device->eax.using_eax = TRUE;
--
2.8.0
2.30.2

View File

@@ -1,4 +1,4 @@
From 25450e6cf073bde4f26fec40c59224087017f332 Mon Sep 17 00:00:00 2001
From 173f555d0d4639122bd47d30310152263c1b27bf Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 1 Jan 2021 13:32:48 +1100
Subject: [PATCH] dsound: Enable EAX by default
@@ -8,7 +8,7 @@ Subject: [PATCH] dsound: Enable EAX by default
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index e12c2208199..bda9a446a08 100644
index 8b396a1939e..44463992e92 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -93,7 +93,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
@@ -17,9 +17,9 @@ index e12c2208199..bda9a446a08 100644
int ds_hq_buffers_max = 4;
-BOOL ds_eax_enabled = FALSE;
+BOOL ds_eax_enabled = TRUE;
static HINSTANCE instance;
#define IS_OPTION_TRUE(ch) \
((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
--
2.29.2
2.30.2

View File

@@ -1,28 +1,28 @@
From fe24cfe8b8e99c4e41fc9d147d7815bce37d2fa0 Mon Sep 17 00:00:00 2001
From cdbe11004fe8b7fb87fff18f2a458259be02fe2d Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov at gmail.com>
Date: Thu, 7 Aug 2014 17:15:00 -0600
Subject: dsound: Add a linear resampler for use with a large number of mixing
buffers. (rev 2)
Subject: [PATCH] dsound: Add a linear resampler for use with a large number of
mixing buffers. (rev 2)
---
dlls/dsound/dsound_main.c | 5 +++++
dlls/dsound/dsound_main.c | 5 ++++
dlls/dsound/dsound_private.h | 1 +
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++++++++++---
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++---
3 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 112ce78..b349eb4 100644
index f3bce6062fe..fecb9489678 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -93,6 +93,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
@@ -92,6 +92,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
+int ds_hq_buffers_max = 4;
static HINSTANCE instance;
/*
@@ -145,10 +146,14 @@ void setup_dsound_options(void)
* Get a config key from either the app-specific or the default config
@@ -143,10 +144,14 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH ))
ds_hel_buflen = atoi(buffer);
@@ -38,7 +38,7 @@ index 112ce78..b349eb4 100644
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index b980453..b6bce1d 100644
index bdb9ebee544..d154e67b0a0 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -35,6 +35,7 @@
@@ -50,10 +50,10 @@ index b980453..b6bce1d 100644
/*****************************************************************************
* Predeclare the interface implementation structures
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index dec8ffd..c358385 100644
index a6402b09eff..28f32e9d092 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -278,7 +278,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
@@ -295,7 +295,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
return count;
}
@@ -102,7 +102,7 @@ index dec8ffd..c358385 100644
{
UINT i, channel;
UINT istride = dsb->pwfx->nBlockAlign;
@@ -349,9 +389,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
@@ -374,9 +414,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
DWORD ipos, adv;
if (dsb->freqAdjustNum == dsb->freqAdjustDen)
@@ -117,5 +117,5 @@ index dec8ffd..c358385 100644
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
if (ipos >= dsb->buflen) {
--
2.8.0
2.30.2

View File

@@ -1,82 +0,0 @@
From ea0fedf84c544522583b39bdd78a30b2d7a52a41 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Tue, 13 Oct 2020 04:41:57 -0500
Subject: [PATCH] d3dpmesh: add stub dll
Signed-off-by: Austin English <austinenglish@gmail.com>
---
configure.ac | 1 +
dlls/d3dpmesh/Makefile.in | 6 ++++++
dlls/d3dpmesh/d3dpmesh.spec | 1 +
dlls/d3dpmesh/version.rc | 26 ++++++++++++++++++++++++++
4 files changed, 34 insertions(+)
create mode 100644 dlls/d3dpmesh/Makefile.in
create mode 100644 dlls/d3dpmesh/d3dpmesh.spec
create mode 100644 dlls/d3dpmesh/version.rc
diff --git a/configure.ac b/configure.ac
index c80e2691f65..25e1ef17993 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3124,6 +3124,7 @@ WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_47)
WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_47/tests)
WINE_CONFIG_MAKEFILE(dlls/d3dim)
WINE_CONFIG_MAKEFILE(dlls/d3dim700)
+WINE_CONFIG_MAKEFILE(dlls/d3dpmesh)
WINE_CONFIG_MAKEFILE(dlls/d3drm)
WINE_CONFIG_MAKEFILE(dlls/d3drm/tests)
WINE_CONFIG_MAKEFILE(dlls/d3dx10_33)
diff --git a/dlls/d3dpmesh/Makefile.in b/dlls/d3dpmesh/Makefile.in
new file mode 100644
index 00000000000..334dacd1090
--- /dev/null
+++ b/dlls/d3dpmesh/Makefile.in
@@ -0,0 +1,6 @@
+MODULE = d3dpmesh.dll
+
+EXTRADLLFLAGS = -Wb,--prefer-native
+
+
+RC_SRCS = version.rc
diff --git a/dlls/d3dpmesh/d3dpmesh.spec b/dlls/d3dpmesh/d3dpmesh.spec
new file mode 100644
index 00000000000..d4b9a46bd7a
--- /dev/null
+++ b/dlls/d3dpmesh/d3dpmesh.spec
@@ -0,0 +1 @@
+@ stub CreateD3DRMPMeshVisual
diff --git a/dlls/d3dpmesh/version.rc b/dlls/d3dpmesh/version.rc
new file mode 100644
index 00000000000..87e601a95a7
--- /dev/null
+++ b/dlls/d3dpmesh/version.rc
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Austin English
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define WINE_FILEDESCRIPTION_STR "Wine d3dpmesh"
+#define WINE_FILENAME_STR "d3dpmesh.dll"
+#define WINE_FILEVERSION 5,0,2134,1
+#define WINE_FILEVERSION_STR "5.0.2134.1"
+#define WINE_PRODUCTVERSION 5,0,2134,1
+#define WINE_PRODUCTVERSION_STR "5.0.2134.1"
+
+#include "wine/wine_common_ver.rc"
--
2.20.1

View File

@@ -1,85 +0,0 @@
From 08a6b78031ae7b2b9fb042c3d411d4366a19d81c Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Tue, 13 Oct 2020 04:43:09 -0500
Subject: [PATCH] diactfrm: add stub dll
Signed-off-by: Austin English <austinenglish@gmail.com>
---
configure.ac | 1 +
dlls/diactfrm/Makefile.in | 6 ++++++
dlls/diactfrm/diactfrm.spec | 4 ++++
dlls/diactfrm/version.rc | 26 ++++++++++++++++++++++++++
4 files changed, 37 insertions(+)
create mode 100644 dlls/diactfrm/Makefile.in
create mode 100644 dlls/diactfrm/diactfrm.spec
create mode 100644 dlls/diactfrm/version.rc
diff --git a/configure.ac b/configure.ac
index 25e1ef17993..8a7a58d413e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3182,6 +3182,7 @@ WINE_CONFIG_MAKEFILE(dlls/devenum/tests)
WINE_CONFIG_MAKEFILE(dlls/dhcpcsvc)
WINE_CONFIG_MAKEFILE(dlls/dhcpcsvc/tests)
WINE_CONFIG_MAKEFILE(dlls/dhtmled.ocx)
+WINE_CONFIG_MAKEFILE(dlls/diactfrm)
WINE_CONFIG_MAKEFILE(dlls/difxapi)
WINE_CONFIG_MAKEFILE(dlls/dinput)
WINE_CONFIG_MAKEFILE(dlls/dinput/tests)
diff --git a/dlls/diactfrm/Makefile.in b/dlls/diactfrm/Makefile.in
new file mode 100644
index 00000000000..9f6ec3cd702
--- /dev/null
+++ b/dlls/diactfrm/Makefile.in
@@ -0,0 +1,6 @@
+MODULE = diactfrm.dll
+
+EXTRADLLFLAGS = -Wb,--prefer-native
+
+
+RC_SRCS = version.rc
diff --git a/dlls/diactfrm/diactfrm.spec b/dlls/diactfrm/diactfrm.spec
new file mode 100644
index 00000000000..c5fc87af6d5
--- /dev/null
+++ b/dlls/diactfrm/diactfrm.spec
@@ -0,0 +1,4 @@
+@ stub DllCanUnloadNow
+@ stub DllGetClassObject
+@ stub DllRegisterServer
+@ stub DllUnregisterServer
diff --git a/dlls/diactfrm/version.rc b/dlls/diactfrm/version.rc
new file mode 100644
index 00000000000..b6b6692b831
--- /dev/null
+++ b/dlls/diactfrm/version.rc
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Austin English
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define WINE_FILEDESCRIPTION_STR "Wine diactfrm"
+#define WINE_FILENAME_STR "diactfrm.dll"
+#define WINE_FILEVERSION 5,1,2600,881
+#define WINE_FILEVERSION_STR "5.1.2600.881"
+#define WINE_PRODUCTVERSION 5,1,2600,881
+#define WINE_PRODUCTVERSION_STR "5.1.2600.881"
+
+#include "wine/wine_common_ver.rc"
--
2.20.1

Some files were not shown because too many files have changed in this diff Show More