Rebase against 09a81b30f8ca458db22d73c33545f02fd510702a

This commit is contained in:
Alistair Leslie-Hughes 2018-11-02 16:24:24 +11:00
parent a423a7087f
commit ac5710e76d
5 changed files with 14 additions and 108 deletions

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "3056f9beb95f66e598ab51d5d37b21a548b3e5f8"
echo "09a81b30f8ca458db22d73c33545f02fd510702a"
}
# Show version information
@ -405,7 +405,6 @@ patch_enable_all ()
enable_wuauserv_Dummy_Service="$1"
enable_wusa_MSU_Package_Installer="$1"
enable_xaudio2_7_CreateFX_FXEcho="$1"
enable_xaudio2_7_OnVoiceProcessingPassStart="$1"
enable_xaudio2_7_WMA_support="$1"
enable_xaudio2_CommitChanges="$1"
enable_xinput1_3_XInputSetState="$1"
@ -1381,9 +1380,6 @@ patch_enable ()
xaudio2_7-CreateFX-FXEcho)
enable_xaudio2_7_CreateFX_FXEcho="$2"
;;
xaudio2_7-OnVoiceProcessingPassStart)
enable_xaudio2_7_OnVoiceProcessingPassStart="$2"
;;
xaudio2_7-WMA_support)
enable_xaudio2_7_WMA_support="$2"
;;
@ -1748,13 +1744,6 @@ patch_apply()
}
if test "$enable_xaudio2_7_WMA_support" -eq 1; then
if test "$enable_xaudio2_7_OnVoiceProcessingPassStart" -gt 1; then
abort "Patchset xaudio2_7-OnVoiceProcessingPassStart disabled, but xaudio2_7-WMA_support depends on that."
fi
enable_xaudio2_7_OnVoiceProcessingPassStart=1
fi
if test "$enable_ws2_32_WSACleanup" -eq 1; then
if test "$enable_server_Desktop_Refcount" -gt 1; then
abort "Patchset server-Desktop_Refcount disabled, but ws2_32-WSACleanup depends on that."
@ -8120,26 +8109,8 @@ if test "$enable_xaudio2_7_CreateFX_FXEcho" -eq 1; then
) >> "$patchlist"
fi
# Patchset xaudio2_7-OnVoiceProcessingPassStart
# |
# | This patchset fixes the following Wine bugs:
# | * [#43358] Use assembly wrapper to call OnVoiceProcessingPassStart callback
# |
# | Modified files:
# | * dlls/xaudio2_7/xaudio_dll.c
# |
if test "$enable_xaudio2_7_OnVoiceProcessingPassStart" -eq 1; then
patch_apply xaudio2_7-OnVoiceProcessingPassStart/0001-xaudio2_7-Use-assembly-wrapper-to-call-OnVoiceProces.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "xaudio2_7: Use assembly wrapper to call OnVoiceProcessingPassStart callback.", 1 },';
) >> "$patchlist"
fi
# Patchset xaudio2_7-WMA_support
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * xaudio2_7-OnVoiceProcessingPassStart
# |
# | This patchset fixes the following Wine bugs:
# | * [#39402] Use ffmpeg 4.x to convert WMA format
# |

View File

@ -1,4 +1,4 @@
From 50b6f30c9b8c310d0fcc93c7dea04f5e4c781bc3 Mon Sep 17 00:00:00 2001
From 4289f2b83b6c6c4b3579501deb4b210ff0b28e1d Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Wed, 23 Dec 2015 19:37:37 +0800
Subject: [PATCH] widl: Add initial implementation of SLTG typelib generator.
@ -7,12 +7,12 @@ Subject: [PATCH] widl: Add initial implementation of SLTG typelib generator.
tools/widl/Makefile.in | 3 +-
tools/widl/typelib.h | 1 +
tools/widl/widl.c | 8 +-
tools/widl/write_sltg.c | 557 ++++++++++++++++++++++++++++++++++++++++++++++++
tools/widl/write_sltg.c | 557 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 567 insertions(+), 2 deletions(-)
create mode 100644 tools/widl/write_sltg.c
diff --git a/tools/widl/Makefile.in b/tools/widl/Makefile.in
index e06d6cc..e7a41c3 100644
index e06d6cc5b3..e7a41c3082 100644
--- a/tools/widl/Makefile.in
+++ b/tools/widl/Makefile.in
@@ -14,7 +14,8 @@ C_SRCS = \
@ -26,7 +26,7 @@ index e06d6cc..e7a41c3 100644
LEX_SRCS = parser.l
BISON_SRCS = parser.y
diff --git a/tools/widl/typelib.h b/tools/widl/typelib.h
index 7df7d29..5d9f45a 100644
index 7df7d29082..5d9f45a7c3 100644
--- a/tools/widl/typelib.h
+++ b/tools/widl/typelib.h
@@ -83,4 +83,5 @@ enum VARENUM {
@ -36,20 +36,20 @@ index 7df7d29..5d9f45a 100644
+extern int create_sltg_typelib(typelib_t *typelib);
#endif
diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index a38f917..1180e65 100644
index 96fb2403dd..2f3ac42ed3 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -163,7 +163,8 @@ enum {
WIN64_OPTION,
@@ -165,7 +165,8 @@ enum {
WIN32_ALIGN_OPTION,
WIN64_ALIGN_OPTION,
- APP_CONFIG_OPTION
+ APP_CONFIG_OPTION,
APP_CONFIG_OPTION,
- ROBUST_OPTION
+ ROBUST_OPTION,
+ OLD_TYPELIB_OPTION
};
static const char short_options[] =
@@ -185,6 +186,7 @@ static const struct option long_options[] = {
@@ -188,6 +189,7 @@ static const struct option long_options[] = {
{ "win32-align", 1, NULL, WIN32_ALIGN_OPTION },
{ "win64-align", 1, NULL, WIN64_ALIGN_OPTION },
{ "app_config", 0, NULL, APP_CONFIG_OPTION },
@ -57,7 +57,7 @@ index a38f917..1180e65 100644
{ NULL, 0, NULL, 0 }
};
@@ -679,6 +681,10 @@ int main(int argc,char *argv[])
@@ -685,6 +687,10 @@ int main(int argc,char *argv[])
do_everything = 0;
do_typelib = 1;
break;
@ -70,7 +70,7 @@ index a38f917..1180e65 100644
break;
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
new file mode 100644
index 0000000..c4ddaed
index 0000000000..c4ddaed944
--- /dev/null
+++ b/tools/widl/write_sltg.c
@@ -0,0 +1,557 @@
@ -632,5 +632,5 @@ index 0000000..c4ddaed
+ return 1;
+}
--
1.9.1
2.19.1

View File

@ -1,63 +0,0 @@
From 091225489a181bcc68d0dd70cb94c4711fc7792e Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 15 Jul 2017 22:20:28 +0200
Subject: [PATCH] xaudio2_7: Use assembly wrapper to call
OnVoiceProcessingPassStart callback.
---
dlls/xaudio2_7/xaudio_dll.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index 0682a5f..19dd9b0 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -17,6 +17,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include "config.h"
#include <stdarg.h>
#define NONAMELESSUNION
@@ -50,6 +51,37 @@ static HINSTANCE instance;
#define COMPAT_E_DEVICE_INVALIDATED XAUDIO2_E_DEVICE_INVALIDATED
#endif
+#if XAUDIO2_VER != 0 && defined(__i386__)
+/* EVE Online uses an OnVoiceProcessingPassStart callback which corrupts %esi. */
+#define IXAudio2VoiceCallback_OnVoiceProcessingPassStart(a, b) call_on_voice_processing_pass_start(a, b)
+extern void call_on_voice_processing_pass_start(IXAudio2VoiceCallback *This, UINT32 BytesRequired);
+__ASM_GLOBAL_FUNC( call_on_voice_processing_pass_start,
+ "pushl %ebp\n\t"
+ __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
+ __ASM_CFI(".cfi_rel_offset %ebp,0\n\t")
+ "movl %esp,%ebp\n\t"
+ __ASM_CFI(".cfi_def_cfa_register %ebp\n\t")
+ "pushl %esi\n\t"
+ __ASM_CFI(".cfi_rel_offset %esi,-4\n\t")
+ "pushl %edi\n\t"
+ __ASM_CFI(".cfi_rel_offset %edi,-8\n\t")
+ "subl $8,%esp\n\t"
+ "pushl 12(%ebp)\n\t" /* BytesRequired */
+ "pushl 8(%ebp)\n\t" /* This */
+ "movl 8(%ebp),%eax\n\t"
+ "movl 0(%eax),%eax\n\t"
+ "call *0(%eax)\n\t" /* This->lpVtbl->OnVoiceProcessingPassStart */
+ "leal -8(%ebp),%esp\n\t"
+ "popl %edi\n\t"
+ __ASM_CFI(".cfi_same_value %edi\n\t")
+ "popl %esi\n\t"
+ __ASM_CFI(".cfi_same_value %esi\n\t")
+ "popl %ebp\n\t"
+ __ASM_CFI(".cfi_def_cfa %esp,4\n\t")
+ __ASM_CFI(".cfi_same_value %ebp\n\t")
+ "ret" )
+#endif
+
static void dump_fmt(const WAVEFORMATEX *fmt)
{
TRACE("wFormatTag: 0x%x (", fmt->wFormatTag);
--
1.9.1

View File

@ -1 +0,0 @@
Fixes: [43358] Use assembly wrapper to call OnVoiceProcessingPassStart callback

View File

@ -1,2 +1 @@
Fixes: [39402] Use ffmpeg 4.x to convert WMA format
Depends: xaudio2_7-OnVoiceProcessingPassStart