Compare commits

..

39 Commits
v7.18 ... v7.22

Author SHA1 Message Date
Alistair Leslie-Hughes
d8881486da Release v7.22 2022-11-27 12:03:01 +11:00
Alistair Leslie-Hughes
8c90eb42eb Rebase against 20d86f34a066657048610803e7143232efa6c0d3. 2022-11-27 08:14:29 +11:00
Alistair Leslie-Hughes
da453ddf66 Rebase against 81a6c8c882e9d00a3f459983d8281327f25e333a. 2022-11-25 10:43:01 +11:00
Alistair Leslie-Hughes
6c3797b3e8 Rebase against fbf23011777e2ff308ccbc09a07b81917f08796d. 2022-11-23 12:08:59 +11:00
Alistair Leslie-Hughes
3d15623eaf Rebase against ae73e09a8d071eaa33fafe785e8295384b9e64a7. 2022-11-22 10:32:11 +11:00
Alistair Leslie-Hughes
bf51996097 Rebase against 5d1820c40bd93e6810f072a39745ee739ba99b81. 2022-11-19 11:16:02 +11:00
Alistair Leslie-Hughes
8a5220955b Rebase against 623bc9fa54311d941d09760dc5300697ba11debe. 2022-11-16 10:25:40 +11:00
Zebediah Figura
5088fc67ba Rebase against a8c1d5c108fc57e4d78e9db126f395c89083a83d. 2022-11-14 17:51:19 -06:00
Zebediah Figura
a16b6b9c1e ntdll-DOS_Attributes: Remove already upstream patch 0005. 2022-11-14 17:16:12 -06:00
Alistair Leslie-Hughes
d935a41e61 Release v7.21 2022-11-13 14:32:51 +11:00
Paul Gofman
31acabe792 Updated and re-enabled ntdll-ForceBottomUpAlloc patchset. 2022-11-13 12:02:37 +11:00
Paul Gofman
1a2b47b084 Added ntdll-Placeholders patchset. 2022-11-13 12:02:37 +11:00
Paul Gofman
2e9f238732 Updated and re-enabled ntdll-Syscall_Emulation patchset. 2022-11-13 12:02:37 +11:00
Zebediah Figura
cf32a7092b eventfd_synchronization: Fix compilation with patch 0002.
esync doesn't work when partially applied, but it should at least compile, and
function with WINEESYNC=0.
2022-11-11 16:54:02 -06:00
Alistair Leslie-Hughes
4303e3ee3b Rebase against 384b0b35c357ca31ccb080162e1f39f93ec70054. 2022-11-11 17:01:04 +11:00
Zebediah Figura
49ed7ae4a0 Rebase against 13cc08e32d6c04f8f915d07cda39638ee99c3d43. 2022-11-08 16:54:42 -06:00
Alistair Leslie-Hughes
eff142bc57 Rebase against 1d636da205e39436bbd71849ceeebc5420bf98a9. 2022-11-08 11:03:43 +11:00
Alistair Leslie-Hughes
bd2608b12c Rebase against 7be72ce2a708ec88aa2362352f37db30529251c4. 2022-11-02 10:28:15 +11:00
Alistair Leslie-Hughes
acb054627a Release v7.20 2022-11-01 10:26:30 +11:00
Alistair Leslie-Hughes
f07f287395 Updated mfplat-streaming-support patchset
Re-enabled.

0065 Disabled until it can properly be rebased.

Patch 0055 - Helps some games which request ARB32 output but doesn't always draw well.
2022-10-25 13:35:44 +11:00
Alistair Leslie-Hughes
8703ad8375 Rebase against 65797763b3ac4fcab7ffc83a4f95b2e87c81f58a. 2022-10-25 11:28:21 +11:00
Alistair Leslie-Hughes
1f500db5b7 Updated nvcuda-CUDA_Support patchset
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53809
2022-10-21 14:54:58 +11:00
Alistair Leslie-Hughes
1deec9df95 Small change 2022-10-20 21:45:55 +11:00
Alistair Leslie-Hughes
a8e296715c Updated URL's to gitlab 2022-10-20 21:24:52 +11:00
Alistair Leslie-Hughes
43d5c1e0f5 Rebase against e72a16b57f66b63a16bb3d1619ac4d42632cb141. 2022-10-20 11:18:53 +11:00
Alistair Leslie-Hughes
41a3c56c50 Release v7.19 2022-10-17 12:17:38 +11:00
Zebediah Figura
5be23b8ae8 Rebase against e3f00bf7c944f1cde6151fde969f2b49649c3de7. 2022-10-16 16:22:20 -05:00
Zebediah Figura
769ddd9f00 ntdll-Junction_Points: Updates from Erich E. Hoover. 2022-10-16 16:22:16 -05:00
Zebediah Figura
aabde22767 Rebase against fded20df6c7422e85dbcd5a20475fd0c5d38d3c6. 2022-10-13 19:46:39 -05:00
Zebediah Figura
ca3220cbd6 Rebase against f87ad783e23a2b6f5e9b8cf78dbf99bad4471a25. 2022-10-13 16:00:57 -05:00
Alistair Leslie-Hughes
ff6cef5d72 Rebase against f87ad783e23a2b6f5e9b8cf78dbf99bad4471a25. 2022-10-13 08:52:08 +11:00
Alistair Leslie-Hughes
d2b7b686f1 Fix Rebase 2022-10-12 13:52:20 +11:00
Alistair Leslie-Hughes
c5c29f9395 Rebase against 4312be1646cad32548f855e25823857092bf31dc. 2022-10-12 11:27:25 +11:00
Zebediah Figura
08ad410761 secur32-InitializeSecurityContext: Remove patch set.
Fixed upstream by c1993458ac.
2022-10-10 22:28:33 -05:00
Zebediah Figura
e6f9a449cd Rebase against 16c6c249a5134de2422fbd3471ead7425c968301. 2022-10-10 22:27:34 -05:00
Alistair Leslie-Hughes
0ea57a0262 Updated wined3d-bindless-texture patchset 2022-09-30 09:31:13 +10:00
Alistair Leslie-Hughes
4f75966580 Updated ntdll-DOS_Attributes patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=53715
2022-09-30 09:31:13 +10:00
Zebediah Figura
9f9285256f mfplat-streaming-support: Remove patch 0067.
Upstreamed as 2d7c37da495c.
2022-09-29 16:04:31 -05:00
Alistair Leslie-Hughes
21009111bd Rebase against 2a4ec7dafc7ee38108f6a9f626a7c39e6b6777e0. 2022-09-27 10:29:23 +10:00
134 changed files with 3423 additions and 4421 deletions

View File

@@ -94,17 +94,17 @@ proper implementation. In the event that this happens, we add the patches to
wine-staging instead, and keep them updated and maintained as well as attempt to
clean them up to be upstreamed. We also both write and verify patches which fix
various bugs that may not have patches, and in turn allow them run better using
WINE. This includes testing on various hardware, games, and applications.
WINE. This includes testing on various hardware, games and applications.
Any expenses for applications, games, or hardware which we do not own comes out
of pocket. In order to alleviate these expenses, we are now accepting donations.
This in turn allows us to continue to perform testing, provide fixes, and get
them upstreamed, ultimately aiming to provide a better experience for all WINE
users. All of our work is provided publicly for free and can be found at
<https://github.com/wine-staging/wine-staging>. We do not expect to be paid for
<https://gitlab.winehq.org/wine/wine-staging>. We do not expect to be paid for
any of the work provided, nor will donators receive any special benefits or
compensation.
Donations are recieved through Patreon. Anyone interested may donate here:
https://www.patreon.com/winestaging
https://www.patreon.com/winestaging

View File

@@ -1,4 +1,4 @@
From 92914d4648be5dd7ee62b35d3ca2fc7376d0dbd0 Mon Sep 17 00:00:00 2001
From 4edf58f26172ec7f931eab57d14aca564d8b58e3 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:54:26 +0100
Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
@@ -13,10 +13,10 @@ Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dlls/d2d1/bitmap.c b/dlls/d2d1/bitmap.c
index 971e3c7ff6b..fcd96eb6374 100644
index 1cba26f5ca4..df88fb70469 100644
--- a/dlls/d2d1/bitmap.c
+++ b/dlls/d2d1/bitmap.c
@@ -646,5 +646,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
@@ -762,5 +762,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (ID2D1BitmapVtbl *)&d2d_bitmap_vtbl);
@@ -24,7 +24,7 @@ index 971e3c7ff6b..fcd96eb6374 100644
+ return CONTAINING_RECORD((ID2D1Bitmap1*)iface, struct d2d_bitmap, ID2D1Bitmap1_iface);
}
diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
index b9a673fe54c..c5a52db6b01 100644
index 98aa889aa5f..52fc0a9854a 100644
--- a/dlls/d2d1/brush.c
+++ b/dlls/d2d1/brush.c
@@ -259,7 +259,7 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
@@ -64,7 +64,7 @@ index b9a673fe54c..c5a52db6b01 100644
static HRESULT STDMETHODCALLTYPE d2d_bitmap_brush_QueryInterface(ID2D1BitmapBrush1 *iface,
diff --git a/dlls/d2d1/dc_render_target.c b/dlls/d2d1/dc_render_target.c
index e7e0fa57ed7..1166ae204c2 100644
index 30eafe361d1..0a38aa8613a 100644
--- a/dlls/d2d1/dc_render_target.c
+++ b/dlls/d2d1/dc_render_target.c
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
@@ -77,10 +77,10 @@ index e7e0fa57ed7..1166ae204c2 100644
static HRESULT d2d_dc_render_target_present(IUnknown *outer_unknown)
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
index e97bae0b54a..661387b570b 100644
index d6ee91de005..781e9aa8511 100644
--- a/dlls/d2d1/geometry.c
+++ b/dlls/d2d1/geometry.c
@@ -3356,7 +3356,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
@@ -3360,7 +3360,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
static inline struct d2d_geometry *impl_from_ID2D1PathGeometry1(ID2D1PathGeometry1 *iface)
{
@@ -89,7 +89,7 @@ index e97bae0b54a..661387b570b 100644
}
static HRESULT STDMETHODCALLTYPE d2d_path_geometry_QueryInterface(ID2D1PathGeometry1 *iface, REFIID iid, void **out)
@@ -4229,7 +4229,7 @@ fail:
@@ -4233,7 +4233,7 @@ fail:
static inline struct d2d_geometry *impl_from_ID2D1RectangleGeometry(ID2D1RectangleGeometry *iface)
{
@@ -98,7 +98,7 @@ index e97bae0b54a..661387b570b 100644
}
static HRESULT STDMETHODCALLTYPE d2d_rectangle_geometry_QueryInterface(ID2D1RectangleGeometry *iface,
@@ -4941,7 +4941,7 @@ fail:
@@ -4945,7 +4945,7 @@ fail:
static inline struct d2d_geometry *impl_from_ID2D1TransformedGeometry(ID2D1TransformedGeometry *iface)
{
@@ -107,7 +107,7 @@ index e97bae0b54a..661387b570b 100644
}
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_QueryInterface(ID2D1TransformedGeometry *iface,
@@ -5225,7 +5225,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *
@@ -5229,7 +5229,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *
static inline struct d2d_geometry *impl_from_ID2D1GeometryGroup(ID2D1GeometryGroup *iface)
{
@@ -117,7 +117,7 @@ index e97bae0b54a..661387b570b 100644
static HRESULT STDMETHODCALLTYPE d2d_geometry_group_QueryInterface(ID2D1GeometryGroup *iface,
diff --git a/dlls/d2d1/hwnd_render_target.c b/dlls/d2d1/hwnd_render_target.c
index 4ce220bf433..32eeaf02c9f 100644
index 4d3fe43a1b3..ccb7067fabf 100644
--- a/dlls/d2d1/hwnd_render_target.c
+++ b/dlls/d2d1/hwnd_render_target.c
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
@@ -130,16 +130,16 @@ index 4ce220bf433..32eeaf02c9f 100644
static HRESULT d2d_hwnd_render_target_present(IUnknown *outer_unknown)
diff --git a/dlls/d2d1/state_block.c b/dlls/d2d1/state_block.c
index 114a3efd883..4f662be4549 100644
index 770c165fd90..a3b48095436 100644
--- a/dlls/d2d1/state_block.c
+++ b/dlls/d2d1/state_block.c
@@ -187,5 +187,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
if (!iface)
@@ -191,5 +191,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
WARN("Unexpected state block vtbl %p.\n", iface->lpVtbl);
return NULL;
assert(iface->lpVtbl == (ID2D1DrawingStateBlockVtbl *)&d2d_state_block_vtbl);
}
- return CONTAINING_RECORD(iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
+ return CONTAINING_RECORD((ID2D1DrawingStateBlock1*)iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
}
--
2.35.1
2.38.1

View File

@@ -1,4 +1,4 @@
From f2401390227b40c68bb97983fc028d5060a70e8c Mon Sep 17 00:00:00 2001
From 3069c254173b551cde229830af857fc5e3abd911 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Wed, 13 Jun 2018 10:44:49 -0500
Subject: [PATCH] configure: Check for sys/eventfd.h, ppoll(), and shm_open().
@@ -12,18 +12,18 @@ Although perhaps we shouldn't since the server doesn't do this.
2 files changed, 17 insertions(+)
diff --git a/configure.ac b/configure.ac
index 9683798b57b..b4465a98794 100644
index f4e454ae217..de28e5228e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -478,6 +478,7 @@ AC_CHECK_HEADERS(\
@@ -464,6 +464,7 @@ AC_CHECK_HEADERS(\
sys/cdio.h \
sys/epoll.h \
sys/event.h \
+ sys/eventfd.h \
sys/extattr.h \
sys/filio.h \
sys/ipc.h \
sys/link.h \
@@ -1991,6 +1992,7 @@ AC_CHECK_FUNCS(\
@@ -2044,6 +2045,7 @@ AC_CHECK_FUNCS(\
port_create \
posix_fadvise \
posix_fallocate \
@@ -31,7 +31,7 @@ index 9683798b57b..b4465a98794 100644
prctl \
proc_pidinfo \
sched_yield \
@@ -2033,6 +2035,12 @@ case $host_os in
@@ -2085,6 +2087,12 @@ case $host_os in
;;
esac
@@ -41,14 +41,14 @@ index 9683798b57b..b4465a98794 100644
+ test "$ac_res" = "none required" || AC_SUBST(RT_LIBS,"$ac_res")])
+LIBS=$ac_save_LIBS
+
dnl **** Check for OpenLDAP ***
if test "x$with_ldap" != "xno"
then
AC_CACHE_CHECK([for sched_setaffinity],wine_cv_have_sched_setaffinity,
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[#include <sched.h>]], [[sched_setaffinity(0, 0, 0);]])],[wine_cv_have_sched_setaffinity=yes],[wine_cv_have_sched_setaffinity=no]))
diff --git a/include/config.h.in b/include/config.h.in
index 197c3b97f09..13f822cb36c 100644
index 509dd2869bf..d6b19f96a9c 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -362,6 +362,9 @@
@@ -335,6 +335,9 @@
/* Define to 1 if you have the `posix_fallocate' function. */
#undef HAVE_POSIX_FALLOCATE
@@ -58,7 +58,7 @@ index 197c3b97f09..13f822cb36c 100644
/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL
@@ -434,6 +437,9 @@
@@ -404,6 +407,9 @@
/* Define to 1 if `interface_id' is a member of `sg_io_hdr_t'. */
#undef HAVE_SG_IO_HDR_T_INTERFACE_ID
@@ -68,7 +68,7 @@ index 197c3b97f09..13f822cb36c 100644
/* Define if sigaddset is supported */
#undef HAVE_SIGADDSET
@@ -574,6 +580,9 @@
@@ -553,6 +559,9 @@
/* Define to 1 if you have the <sys/epoll.h> header file. */
#undef HAVE_SYS_EPOLL_H
@@ -79,5 +79,5 @@ index 197c3b97f09..13f822cb36c 100644
#undef HAVE_SYS_EVENT_H
--
2.33.0
2.38.1

View File

@@ -1,4 +1,4 @@
From 846f2603e9d2a3a3b5a56b0e1140bb49a95053a6 Mon Sep 17 00:00:00 2001
From ec18233558b62aa736b5ecf20d2f7487e2823286 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 7 Jun 2018 20:09:59 -0500
Subject: [PATCH] server: Create server objects for eventfd-based
@@ -15,7 +15,7 @@ Subject: [PATCH] server: Create server objects for eventfd-based
create mode 100644 server/esync.h
diff --git a/server/Makefile.in b/server/Makefile.in
index c81a2112632..da20dff9f56 100644
index 3b9446fe224..776faec63e4 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -11,6 +11,7 @@ C_SRCS = \
@@ -28,7 +28,7 @@ index c81a2112632..da20dff9f56 100644
file.c \
diff --git a/server/esync.c b/server/esync.c
new file mode 100644
index 00000000000..b9dbfa322bc
index 00000000000..35b4833fd4c
--- /dev/null
+++ b/server/esync.c
@@ -0,0 +1,318 @@
@@ -158,7 +158,7 @@ index 00000000000..b9dbfa322bc
+ NULL, /* satisfied */
+ no_signal, /* signal */
+ no_get_fd, /* get_fd */
+ no_map_access, /* map_access */
+ default_map_access, /* map_access */
+ default_get_sd, /* get_sd */
+ default_set_sd, /* set_sd */
+ default_get_full_name, /* get_full_name */
@@ -403,10 +403,10 @@ index a134d811d82..3436b0871b4 100644
set_current_time();
init_scheduler();
diff --git a/server/protocol.def b/server/protocol.def
index 6bfcda213a4..6b0e0e6f6e4 100644
index 99df502e398..9e15ada5bd0 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3738,7 +3738,6 @@ struct handle_info
@@ -3777,7 +3777,6 @@ struct handle_info
obj_handle_t handle; /* process handle */
@END
@@ -414,7 +414,7 @@ index 6bfcda213a4..6b0e0e6f6e4 100644
/* Iterate thread list for process */
@REQ(get_next_thread)
obj_handle_t process; /* process handle */
@@ -3749,3 +3748,27 @@ struct handle_info
@@ -3788,3 +3787,27 @@ struct handle_info
@REPLY
obj_handle_t handle; /* next thread handle */
@END
@@ -443,5 +443,5 @@ index 6bfcda213a4..6b0e0e6f6e4 100644
+ unsigned int shm_idx;
+@END
--
2.35.1
2.38.1

View File

@@ -1,4 +1,4 @@
From c204c9ed2a8504868c3cbf487e7a29c4e7254d3f Mon Sep 17 00:00:00 2001
From 271f43a1fafb19e1404b05ec597b504ecad74784 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:09:22 -0500
Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
@@ -16,10 +16,10 @@ Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
create mode 100644 dlls/ntdll/unix/esync.h
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
index 185bc563e68..d7c757cab32 100644
index 07688a5fcf6..4e490c475a2 100644
--- a/dlls/ntdll/Makefile.in
+++ b/dlls/ntdll/Makefile.in
@@ -46,6 +46,7 @@ C_SRCS = \
@@ -47,6 +47,7 @@ C_SRCS = \
unix/cdrom.c \
unix/debug.c \
unix/env.c \
@@ -346,7 +346,7 @@ index 00000000000..a50a755149a
+
+extern int receive_fd( obj_handle_t *handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index 10884a7a673..28cc48e04bf 100644
index 35f2e5f986f..4d95c29ab24 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -89,6 +89,7 @@
@@ -357,8 +357,8 @@ index 10884a7a673..28cc48e04bf 100644
#include "wine/list.h"
#include "wine/debug.h"
@@ -2082,6 +2083,7 @@ static void start_main_thread(void)
signal_init_thread( teb );
@@ -2188,6 +2189,7 @@ static void start_main_thread(void)
signal_alloc_thread( teb );
dbg_init();
startup_info_size = server_init_process();
+ esync_init();
@@ -366,7 +366,7 @@ index 10884a7a673..28cc48e04bf 100644
init_cpu_info();
init_files();
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 6a3224d8385..de65f936a59 100644
index b7d8733f2bc..8cd5f0474e6 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -106,7 +106,7 @@ sigset_t server_block_set; /* signals to block during server calls */
@@ -378,7 +378,7 @@ index 6a3224d8385..de65f936a59 100644
/* atomically exchange a 64-bit value */
static inline LONG64 interlocked_xchg64( LONG64 *dest, LONG64 val )
@@ -803,7 +803,7 @@ void wine_server_send_fd( int fd )
@@ -834,7 +834,7 @@ void wine_server_send_fd( int fd )
*
* Receive a file descriptor passed from the server.
*/
@@ -388,7 +388,7 @@ index 6a3224d8385..de65f936a59 100644
struct iovec vec;
struct msghdr msghdr;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 442243d8bcf..72cbf92f93c 100644
index 9112572c67d..c5f30428f79 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -64,6 +64,7 @@
@@ -399,7 +399,7 @@ index 442243d8bcf..72cbf92f93c 100644
WINE_DEFAULT_DEBUG_CHANNEL(sync);
@@ -262,6 +263,9 @@ NTSTATUS WINAPI NtCreateSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJ
@@ -273,6 +274,9 @@ NTSTATUS WINAPI NtCreateSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJ
if (max <= 0 || initial < 0 || initial > max) return STATUS_INVALID_PARAMETER;
if ((ret = alloc_object_attributes( attr, &objattr, &len ))) return ret;
@@ -422,5 +422,5 @@ index b9dbfa322bc..99e57eca44c 100644
int do_esync(void)
{
--
2.34.1
2.38.1

View File

@@ -1,4 +1,4 @@
From 4c255f91363e09892de43bf5f3b991ef5ccce3b2 Mon Sep 17 00:00:00 2001
From 06faa163af3dd5fa6e4794bf244c662533a88b69 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:16:34 -0500
Subject: [PATCH] ntdll: Implement NtReleaseSemaphore().
@@ -90,12 +90,12 @@ index a50a755149a..09838e95535 100644
/* We have to synchronize on the fd cache mutex so that our calls to receive_fd
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 72cbf92f93c..db992f3a9ad 100644
index fff4970549b..fbd28292524 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -348,6 +348,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
@@ -359,6 +359,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_release_semaphore( handle, count, previous );
@@ -104,5 +104,5 @@ index 72cbf92f93c..db992f3a9ad 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.33.0
2.38.1

View File

@@ -1,4 +1,4 @@
From bb4f401e45ff4017600e8037ceb69456c2c0171d Mon Sep 17 00:00:00 2001
From ff044319027197bb9a1f20a19f01d8c299835818 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:46:24 -0500
Subject: [PATCH] ntdll: Implement NtSetEvent().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtSetEvent().
3 files changed, 20 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index e440e9baa4a..b8fb27edf38 100644
index 059d7fd9ca6..410cfd3c2ce 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -316,6 +316,21 @@ NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
@@ -314,6 +314,21 @@ NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
return create_esync( type, handle, access, attr, initial, 0 );
}
@@ -48,15 +48,15 @@ index d9c7df967f8..b585af047ee 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index f3ced2d63b6..686255d4d99 100644
index 7be736927b2..8e793941711 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -429,8 +429,12 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
@@ -440,8 +440,12 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
*/
NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
{
+ /* This comment is a dummy to make sure this patch applies in the right place. */
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_set_event( handle );
@@ -65,5 +65,5 @@ index f3ced2d63b6..686255d4d99 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.29.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 68e3e5a72ce9776371df909163ac40cb2a2aa887 Mon Sep 17 00:00:00 2001
From c1c004fcfb9d38086fd682e64aca7fd6aaad4cc9 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:51:21 -0500
Subject: [PATCH] ntdll: Implement NtResetEvent().
@@ -6,14 +6,14 @@ Subject: [PATCH] ntdll: Implement NtResetEvent().
---
dlls/ntdll/unix/esync.c | 15 +++++++++++++++
dlls/ntdll/unix/esync.h | 1 +
dlls/ntdll/unix/sync.c | 4 ++++
3 files changed, 20 insertions(+)
dlls/ntdll/unix/sync.c | 5 +++++
3 files changed, 21 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index b8fb27edf38..97d468b2449 100644
index 410cfd3c2ce..80eb3773ee4 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -331,6 +331,21 @@ NTSTATUS esync_set_event( HANDLE handle )
@@ -329,6 +329,21 @@ NTSTATUS esync_set_event( HANDLE handle )
return STATUS_SUCCESS;
}
@@ -48,22 +48,23 @@ index b585af047ee..8480a213b2a 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index bb36254acdc..b0f53d4677b 100644
index 8e793941711..f57a825872b 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -507,8 +507,12 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
@@ -463,8 +463,13 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
*/
NTSTATUS WINAPI NtResetEvent( HANDLE handle, LONG *prev_state )
{
+ /* This comment is a dummy to make sure this patch applies in the right place. */
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_reset_event( handle );
+
+
SERVER_START_REQ( event_op )
{
req->handle = wine_server_obj_handle( handle );
--
2.29.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 5b4a4557f47415d9a78185a3be8b0a9d7d6bdc33 Mon Sep 17 00:00:00 2001
From 24a1dd64bee6e9140d6f05241c03f572bb464436 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:37:49 -0500
Subject: [PATCH] ntdll: Implement NtReleaseMutant().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtReleaseMutant().
3 files changed, 38 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index df9eb2696a1..48482a31ea2 100644
index 350b1ffb756..ded71e631f7 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -431,6 +431,40 @@ NTSTATUS esync_create_mutex( HANDLE *handle, ACCESS_MASK access,
@@ -424,6 +424,40 @@ NTSTATUS esync_create_mutex( HANDLE *handle, ACCESS_MASK access,
return create_esync( ESYNC_MUTEX, handle, access, attr, initial ? 0 : 1, 0 );
}
@@ -67,12 +67,12 @@ index 38ebefc9eed..e69c46ca462 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 56292db271a..1a19bb78a9c 100644
index 2640320587e..620d013751f 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -648,6 +648,9 @@ NTSTATUS WINAPI NtReleaseMutant( HANDLE handle, LONG *prev_count )
@@ -609,6 +609,9 @@ NTSTATUS WINAPI NtReleaseMutant( HANDLE handle, LONG *prev_count )
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_release_mutex( handle, prev_count );
@@ -81,5 +81,5 @@ index 56292db271a..1a19bb78a9c 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.28.0
2.38.1

View File

@@ -1,4 +1,4 @@
From 7f04be3dd881287f1a74b7fe5829fa5917afa054 Mon Sep 17 00:00:00 2001
From fd251549dc6a59073937ba74b195f9dc7a892616 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:56:09 -0500
Subject: [PATCH] ntdll: Implement NtOpenSemaphore().
@@ -12,10 +12,10 @@ Subject: [PATCH] ntdll: Implement NtOpenSemaphore().
5 files changed, 96 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 6d8653cd107..8e7e50ce777 100644
index cdf5f602695..583afebb17c 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -336,6 +336,45 @@ static NTSTATUS create_esync( enum esync_type type, HANDLE *handle, ACCESS_MASK
@@ -329,6 +329,45 @@ static NTSTATUS create_esync( enum esync_type type, HANDLE *handle, ACCESS_MASK
return ret;
}
@@ -61,7 +61,7 @@ index 6d8653cd107..8e7e50ce777 100644
extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, LONG initial, LONG max)
{
@@ -345,6 +384,14 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
@@ -338,6 +377,14 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
return create_esync( ESYNC_SEMAPHORE, handle, access, attr, initial, max );
}
@@ -90,11 +90,11 @@ index bee08ff857f..2738e8b7f87 100644
extern NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index a51462abeac..36322f6afb6 100644
index ce3061a7f31..dd8ed16f868 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -353,6 +353,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
NTSTATUS ret;
@@ -301,6 +301,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
unsigned int ret;
*handle = 0;
+
@@ -105,10 +105,10 @@ index a51462abeac..36322f6afb6 100644
SERVER_START_REQ( open_semaphore )
diff --git a/server/esync.c b/server/esync.c
index 913104e3dd4..da97c6c140b 100644
index 3f1c61bc1f0..eca9b6aa67d 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -412,6 +412,37 @@ DECL_HANDLER(create_esync)
@@ -410,6 +410,37 @@ DECL_HANDLER(create_esync)
if (root) release_object( root );
}
@@ -147,10 +147,10 @@ index 913104e3dd4..da97c6c140b 100644
* server. The client should only read from (i.e. wait on) this object. */
DECL_HANDLER(get_esync_fd)
diff --git a/server/protocol.def b/server/protocol.def
index 776d3d72dc2..575cf291bb0 100644
index 40bdd8a70b4..acd90615cf7 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3750,6 +3750,18 @@ enum esync_type
@@ -3812,6 +3812,18 @@ enum esync_type
unsigned int shm_idx;
@END
@@ -170,5 +170,5 @@ index 776d3d72dc2..575cf291bb0 100644
@REQ(get_esync_fd)
obj_handle_t handle; /* handle to the object */
--
2.30.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 161ae4c64b5e3bd33771671f518c482a6a66700b Mon Sep 17 00:00:00 2001
From 614c13aed3d20a772c3ccd26547fa93a56fcc40b Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sun, 10 Jun 2018 19:08:18 -0500
Subject: [PATCH] server: Implement esync_map_access().
@@ -8,10 +8,10 @@ Subject: [PATCH] server: Implement esync_map_access().
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/server/esync.c b/server/esync.c
index 1703608263f..20f149cdad3 100644
index eca9b6aa67d..3a334b3b330 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -114,6 +114,7 @@ struct esync
@@ -112,6 +112,7 @@ struct esync
};
static void esync_dump( struct object *obj, int verbose );
@@ -19,16 +19,16 @@ index 1703608263f..20f149cdad3 100644
static void esync_destroy( struct object *obj );
const struct object_ops esync_ops =
@@ -128,7 +129,7 @@ const struct object_ops esync_ops =
@@ -126,7 +127,7 @@ const struct object_ops esync_ops =
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
- no_map_access, /* map_access */
- default_map_access, /* map_access */
+ esync_map_access, /* map_access */
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
default_get_full_name, /* get_full_name */
@@ -148,6 +149,16 @@ static void esync_dump( struct object *obj, int verbose )
@@ -146,6 +147,16 @@ static void esync_dump( struct object *obj, int verbose )
fprintf( stderr, "esync fd=%d\n", esync->fd );
}
@@ -46,5 +46,5 @@ index 1703608263f..20f149cdad3 100644
{
struct esync *esync = (struct esync *)obj;
--
2.28.0
2.38.1

View File

@@ -1,4 +1,4 @@
From bb81fa475b3aa206fe1e8ff914d41de292aa9807 Mon Sep 17 00:00:00 2001
From 1d7cb4fe562903aa56abe64c97d0d84357b67f49 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 17:56:40 -0500
Subject: [PATCH] ntdll: Implement NtPulseEvent().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtPulseEvent().
3 files changed, 29 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 91a85253a83..d7511f39601 100644
index ff0210f3cd4..3a47b5aa39e 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -607,6 +607,31 @@ NTSTATUS esync_reset_event( HANDLE handle )
@@ -600,6 +600,31 @@ NTSTATUS esync_reset_event( HANDLE handle )
return STATUS_SUCCESS;
}
@@ -58,12 +58,12 @@ index 18788fa273b..188304f3be7 100644
extern NTSTATUS esync_reset_event( HANDLE handle ) DECLSPEC_HIDDEN;
extern NTSTATUS esync_set_event( HANDLE handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index acec96c0a3c..051c672bd12 100644
index 4c745b3b72e..4025a7a3a2f 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -549,6 +549,9 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, LONG *prev_state )
@@ -509,6 +509,9 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, LONG *prev_state )
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_pulse_event( handle );
@@ -72,5 +72,5 @@ index acec96c0a3c..051c672bd12 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.28.0
2.38.1

View File

@@ -1,7 +1,7 @@
From 6e5861b34f4359129d0ebec199e2106db4b7be43 Mon Sep 17 00:00:00 2001
From eba9e414d60a33dfde7e7b978fcdddbaf9bfe5b6 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Wed, 21 Oct 2020 16:03:21 -0500
Subject: [PATCH 08/88] winegstreamer: Allow videoconvert to parallelize.
Subject: [PATCH] winegstreamer: Allow videoconvert to parallelize.
Not sure if this should be called a hack. It's not the *best* solution to the problem, but it's not a wrong one either.
@@ -11,10 +11,10 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
1 file changed, 3 insertions(+)
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
index 0a6cf927187..5f3b4375b4c 100644
index 0573c99858b..5df08dc5fd7 100644
--- a/dlls/winegstreamer/wg_parser.c
+++ b/dlls/winegstreamer/wg_parser.c
@@ -1189,6 +1189,9 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
@@ -760,6 +760,9 @@ static void pad_added_cb(GstElement *element, GstPad *pad, gpointer user)
if (!(vconv = create_element("videoconvert", "base")))
goto out;
@@ -25,5 +25,5 @@ index 0a6cf927187..5f3b4375b4c 100644
if (!(flip = create_element("videoflip", "good")))
goto out;
--
2.34.1
2.37.2

View File

@@ -1,8 +1,7 @@
From 9986fba2a9fd7f37a9d27a0257c8b20f59c56d8f Mon Sep 17 00:00:00 2001
From bd90f10550e2de898517d0a41b94f76f23fc9601 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 19 Mar 2021 17:01:54 -0400
Subject: [PATCH 25/88] winegstreamer: Report streams backwards in media
source.
Subject: [PATCH] winegstreamer: Report streams backwards in media source.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
@@ -10,10 +9,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index bccbf888a4a..2ed31666cad 100644
index 43beb71838a..d39b01b8578 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1491,7 +1491,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
@@ -1480,7 +1480,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
descriptors = malloc(object->stream_count * sizeof(IMFStreamDescriptor *));
for (i = 0; i < object->stream_count; i++)
{
@@ -23,5 +22,5 @@ index bccbf888a4a..2ed31666cad 100644
if (FAILED(hr = MFCreatePresentationDescriptor(object->stream_count, descriptors, &object->pres_desc)))
--
2.34.1
2.37.2

View File

@@ -1,7 +1,7 @@
From 856636245cd3de1bc91d76146e18fef864ec7065 Mon Sep 17 00:00:00 2001
From 1913dfb174c48d60d0b81aba3fb9f03b5cef78c2 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 4 Dec 2020 16:17:11 -0500
Subject: [PATCH 38/88] winegstreamer: In the default configuration, select one
Subject: [PATCH] winegstreamer: In the default configuration, select one
stream of each major type.
---
@@ -9,10 +9,10 @@ Subject: [PATCH 38/88] winegstreamer: In the default configuration, select one
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 2ed31666cad..c97348cc2d6 100644
index d39b01b8578..de6a2c2b232 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1397,6 +1397,7 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl =
@@ -1386,6 +1386,7 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl =
static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_source **out_media_source)
{
@@ -20,7 +20,7 @@ index 2ed31666cad..c97348cc2d6 100644
IMFStreamDescriptor **descriptors = NULL;
unsigned int stream_count = UINT_MAX;
struct media_source *object;
@@ -1497,9 +1498,28 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
@@ -1486,9 +1487,28 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
if (FAILED(hr = MFCreatePresentationDescriptor(object->stream_count, descriptors, &object->pres_desc)))
goto fail;
@@ -51,5 +51,5 @@ index 2ed31666cad..c97348cc2d6 100644
}
free(descriptors);
--
2.34.1
2.37.2

View File

@@ -1,18 +1,18 @@
From 6c81e31b53f5b3f3fd798e3d3fb43f9a2df8fa5b Mon Sep 17 00:00:00 2001
From 7649a8e89c0dff9ecba0314234bedb507c6ade87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Wed, 15 Dec 2021 11:51:33 +0100
Subject: [PATCH 43/88] winegstreamer: Update offset according to the size of
the buffer read.
Subject: [PATCH] winegstreamer: Update offset according to the size of the
buffer read.
---
dlls/winegstreamer/wg_parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
index a11fc8c4f68..42c727fbd0b 100644
index 5df08dc5fd7..6ec8e1bdbd8 100644
--- a/dlls/winegstreamer/wg_parser.c
+++ b/dlls/winegstreamer/wg_parser.c
@@ -1642,7 +1642,7 @@ static void *push_data(void *arg)
@@ -998,7 +998,7 @@ static void *push_data(void *arg)
break;
}
@@ -22,5 +22,5 @@ index a11fc8c4f68..42c727fbd0b 100644
buffer->duration = buffer->pts = -1;
if ((ret = gst_pad_push(parser->my_src, buffer)) < 0)
--
2.34.1
2.37.2

View File

@@ -1,21 +1,21 @@
From 3d8fddbac3026e1eed86f718452f833ac2d6b5c6 Mon Sep 17 00:00:00 2001
From bdf230e4b3fedad3cf63d612dbc57e68fd33094a Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 18 Mar 2021 15:25:17 -0400
Subject: [PATCH 50/88] winegstreamer: Implement MF_SD_LANGUAGE.
Subject: [PATCH] winegstreamer: Implement MF_SD_LANGUAGE.
---
dlls/winegstreamer/gst_private.h | 1 +
dlls/winegstreamer/main.c | 12 ++++++++++++
dlls/winegstreamer/media_source.c | 20 +++++++++++++++++++-
dlls/winegstreamer/unixlib.h | 8 ++++++++
dlls/winegstreamer/wg_parser.c | 30 ++++++++++++++++++++++++++++++
5 files changed, 70 insertions(+), 1 deletion(-)
dlls/winegstreamer/wg_parser.c | 31 +++++++++++++++++++++++++++++++
5 files changed, 71 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 6e7c53782c8..49879fe416d 100644
index c33a89afd5b..21aef431039 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -94,6 +94,7 @@ void wg_parser_stream_notify_qos(struct wg_parser_stream *stream,
@@ -95,6 +95,7 @@ void wg_parser_stream_notify_qos(struct wg_parser_stream *stream,
/* Returns the duration in 100-nanosecond units. */
uint64_t wg_parser_stream_get_duration(struct wg_parser_stream *stream);
@@ -24,10 +24,10 @@ index 6e7c53782c8..49879fe416d 100644
void wg_parser_stream_seek(struct wg_parser_stream *stream, double rate,
uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags);
diff --git a/dlls/winegstreamer/main.c b/dlls/winegstreamer/main.c
index 316becdbc97..a9a9c72136d 100644
index 2efa3bd26ac..2b9f10e7b37 100644
--- a/dlls/winegstreamer/main.c
+++ b/dlls/winegstreamer/main.c
@@ -253,6 +253,18 @@ uint64_t wg_parser_stream_get_duration(struct wg_parser_stream *stream)
@@ -271,6 +271,18 @@ uint64_t wg_parser_stream_get_duration(struct wg_parser_stream *stream)
return params.duration;
}
@@ -40,17 +40,17 @@ index 316becdbc97..a9a9c72136d 100644
+ .size = size,
+ };
+
+ return !__wine_unix_call(unix_handle, unix_wg_parser_stream_get_language, &params);
+ return !__wine_unix_call(__wine_unixlib_handle, unix_wg_parser_stream_get_language, &params);
+}
+
void wg_parser_stream_seek(struct wg_parser_stream *stream, double rate,
uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags)
{
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index fd6479d9879..11040ac159a 100644
index 042c635ae93..7c58dce5e27 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1492,7 +1492,25 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
@@ -1482,7 +1482,25 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
descriptors = malloc(object->stream_count * sizeof(IMFStreamDescriptor *));
for (i = 0; i < object->stream_count; i++)
{
@@ -78,10 +78,10 @@ index fd6479d9879..11040ac159a 100644
if (FAILED(hr = MFCreatePresentationDescriptor(object->stream_count, descriptors, &object->pres_desc)))
diff --git a/dlls/winegstreamer/unixlib.h b/dlls/winegstreamer/unixlib.h
index 17b5c606014..fdcecfc96d5 100644
index 9c53ecbfbc3..0c0fec0e966 100644
--- a/dlls/winegstreamer/unixlib.h
+++ b/dlls/winegstreamer/unixlib.h
@@ -254,6 +254,13 @@ struct wg_parser_stream_get_duration_params
@@ -249,6 +249,13 @@ struct wg_parser_stream_get_duration_params
UINT64 duration;
};
@@ -95,27 +95,27 @@ index 17b5c606014..fdcecfc96d5 100644
struct wg_parser_stream_seek_params
{
struct wg_parser_stream *stream;
@@ -290,6 +297,7 @@ enum unix_funcs
@@ -309,6 +316,7 @@ enum unix_funcs
unix_wg_parser_stream_notify_qos,
unix_wg_parser_stream_get_duration,
+ unix_wg_parser_stream_get_language,
unix_wg_parser_stream_seek,
unix_wg_parser_stream_drain,
unix_wg_transform_create,
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
index 06e07b874bf..dc655b275bd 100644
index 6ec8e1bdbd8..6fa712dd1fb 100644
--- a/dlls/winegstreamer/wg_parser.c
+++ b/dlls/winegstreamer/wg_parser.c
@@ -110,6 +110,7 @@ struct wg_parser_stream
@@ -109,6 +109,7 @@ struct wg_parser_stream
bool flushing, eos, enabled, has_caps;
uint64_t duration;
+ gchar *language_code;
};
static enum wg_audio_format wg_audio_format_from_gst(GstAudioFormat format)
@@ -871,6 +872,14 @@ static NTSTATUS wg_parser_stream_get_duration(void *args)
static NTSTATUS wg_parser_get_stream_count(void *args)
@@ -350,6 +351,14 @@ static NTSTATUS wg_parser_stream_get_duration(void *args)
return S_OK;
}
@@ -130,7 +130,7 @@ index 06e07b874bf..dc655b275bd 100644
static NTSTATUS wg_parser_stream_seek(void *args)
{
GstSeekType start_type = GST_SEEK_TYPE_SET, stop_type = GST_SEEK_TYPE_SET;
@@ -1321,6 +1330,9 @@ static void free_stream(struct wg_parser_stream *stream)
@@ -723,6 +732,9 @@ static void free_stream(struct wg_parser_stream *stream)
pthread_cond_destroy(&stream->event_cond);
pthread_cond_destroy(&stream->event_empty_cond);
@@ -140,7 +140,7 @@ index 06e07b874bf..dc655b275bd 100644
free(stream);
}
@@ -1931,6 +1943,22 @@ static gboolean src_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
@@ -1187,6 +1199,22 @@ static gboolean src_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
return ret;
}
@@ -160,25 +160,26 @@ index 06e07b874bf..dc655b275bd 100644
+ return ret;
+}
+
static HRESULT wg_parser_connect_inner(struct wg_parser *parser)
static NTSTATUS wg_parser_connect(void *args)
{
GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE("wine_src",
@@ -2066,6 +2094,7 @@ static NTSTATUS wg_parser_connect(void *args)
pthread_cond_wait(&parser->init_cond, &parser->mutex);
}
}
GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE("quartz_src",
@@ -1315,6 +1343,8 @@ static NTSTATUS wg_parser_connect(void *args)
* attempting to read anything), but we don't want to waste CPU time
* trying to decode them. */
stream->enabled = true;
+
+ stream->language_code = query_language(stream->their_src);
}
pthread_mutex_unlock(&parser->mutex);
@@ -2561,6 +2590,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
@@ -1631,6 +1661,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
X(wg_parser_stream_notify_qos),
X(wg_parser_stream_get_duration),
+ X(wg_parser_stream_get_language),
X(wg_parser_stream_seek),
X(wg_parser_stream_drain),
X(wg_transform_create),
--
2.34.1
2.37.2

View File

@@ -1,7 +1,7 @@
From 5ebda711a9d8b5e3194464eab3fecf52ed3c8b59 Mon Sep 17 00:00:00 2001
From 56ad22a46d27fdc5313aff459f6334bb0051e21a Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Wed, 12 Jan 2022 22:48:35 +0300
Subject: [PATCH 55/88] winegstreamer: Add MFVideoFormat_ARGB32 output for the
Subject: [PATCH] winegstreamer: Add MFVideoFormat_ARGB32 output for the
source.
(cherry picked from commit 9812591f0003c5c611faa59ab9b3cb73a85be637)
@@ -12,10 +12,10 @@ CW-Bug-Id: #19975
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index e5f25eed63a..9d5a8b831b9 100644
index de6a2c2b232..042c635ae93 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -873,7 +873,7 @@ static HRESULT new_media_stream(struct media_source *source,
@@ -855,7 +855,7 @@ static HRESULT new_media_stream(struct media_source *source,
static HRESULT media_stream_init_desc(struct media_stream *stream)
{
IMFMediaTypeHandler *type_handler = NULL;
@@ -24,7 +24,7 @@ index e5f25eed63a..9d5a8b831b9 100644
struct wg_format format;
DWORD type_count = 0;
unsigned int i;
@@ -892,6 +892,7 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
@@ -874,6 +874,7 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
&MFVideoFormat_YUY2,
&MFVideoFormat_IYUV,
&MFVideoFormat_I420,
@@ -33,5 +33,5 @@ index e5f25eed63a..9d5a8b831b9 100644
IMFMediaType *base_type = mf_media_type_from_wg_format(&format);
--
2.34.1
2.37.2

View File

@@ -1,37 +0,0 @@
From 30e5e0e405af8f99885727687dbcdfbda3e57f08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 18 Jan 2022 13:33:36 +0100
Subject: [PATCH 67/88] winegstreamer: Return S_OK from H264 decoder
GetAttributes.
For: Call of Duty III, Mortal Kombat 11, Shadow Warrior 2,
Yakuza 4 Remastered, Hard Reset Redux.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45988
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47084
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49715
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52183
CW-Bug-Id: #16839
CW-Bug-Id: #18678
CW-Bug-Id: #19362
---
dlls/winegstreamer/h264_decoder.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/h264_decoder.c b/dlls/winegstreamer/h264_decoder.c
index 5db72c55151..f46d6d77f8e 100644
--- a/dlls/winegstreamer/h264_decoder.c
+++ b/dlls/winegstreamer/h264_decoder.c
@@ -120,7 +120,8 @@ static HRESULT WINAPI h264_decoder_GetOutputStreamInfo(IMFTransform *iface, DWOR
static HRESULT WINAPI h264_decoder_GetAttributes(IMFTransform *iface, IMFAttributes **attributes)
{
FIXME("iface %p, attributes %p stub!\n", iface, attributes);
- return E_NOTIMPL;
+
+ return MFCreateAttributes(attributes, 0);
}
static HRESULT WINAPI h264_decoder_GetInputStreamAttributes(IMFTransform *iface, DWORD id,
--
2.34.1

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