Compare commits

...

103 Commits

Author SHA1 Message Date
Zebediah Figura
716e192182 Release v8.6.1 2023-04-16 12:59:31 -05:00
Zebediah Figura
fba1e773c7 mfplat-streaming-support: Fix rebase. 2023-04-16 12:59:09 -05:00
Zebediah Figura
26a1ee0ee9 Release v8.6 2023-04-15 22:16:28 -05:00
Zebediah Figura
9d65092519 Rebase against 4d610717bbc21d65e41a29f9fe9ab5f2963cf16d. 2023-04-15 18:33:17 -05:00
Zebediah Figura
49dcc78363 Rebase against f512b3c08ccfc9b9c235964002e644e2cbd657cf. 2023-04-12 17:10:01 -05:00
Alistair Leslie-Hughes
64774ec3e5 Rebase against 1546ef3015999ee27066b317773050a5641c2023. 2023-04-12 08:17:52 +10:00
Alistair Leslie-Hughes
4211bac798 Rebase against 9909631f23c037e90fe3ef1ccfeebfff2804d7ed. 2023-04-08 14:18:34 +10:00
Alistair Leslie-Hughes
aaa21bda9c Rebase against e658a30a917b0403a1e8f7ed86a8fc0138d990a8. 2023-04-07 08:28:31 +10:00
Alistair Leslie-Hughes
9d5115a9ee Rebase against b5bc026798c127d5bb4c471d94f7fb5e32b4861c. 2023-04-06 09:14:54 +10:00
Alistair Leslie-Hughes
9cb0330037 Rebase against 64cca153292833151d1adeb185252ca57e2d1625. 2023-04-04 10:40:07 +10:00
Alistair Leslie-Hughes
abe75a7741 Release v8.5 2023-04-01 15:19:47 +11:00
Alistair Leslie-Hughes
be92c5d768 Added ntdll-hidden_file_attr patchset 2023-04-01 11:07:21 +11:00
Alistair Leslie-Hughes
6d45ccd523 Added win32u-GPU_properties patchset 2023-04-01 10:27:27 +11:00
Alistair Leslie-Hughes
6dbab0f2e5 Updated mfplat-streaming-support patchset
Fixes a crash on some videos.
2023-03-29 20:24:12 +11:00
Alistair Leslie-Hughes
e0766792bd Rebase against da0ec7fbbde45126320e15b2bfb00b357b45ffb6. 2023-03-29 13:53:46 +11:00
Alistair Leslie-Hughes
df3886edb6 Rebase against d62e2268d77c237e8430e158bb337958d88486ba. 2023-03-28 18:40:22 +11:00
Alistair Leslie-Hughes
7bcf1f6358 Rebase against 3149d27220acaf276bfa651e040ff006edcd6944. 2023-03-24 09:51:18 +11:00
Zebediah Figura
cd4d265f07 Revert "patchinstall.py: Use --git-dir instead of -C."
This reverts commit cf29ed121d.

This doesn't quite do what I thought it did, and breaks the intended setup.
2023-03-21 00:42:48 -05:00
Zebediah Figura
cf29ed121d patchinstall.py: Use --git-dir instead of -C.
This reportedly works better for nested git trees.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51877
2023-03-20 17:51:52 -05:00
Zebediah Figura
09634de79c dinput-joy-mappings: Restore tests to patch 1.
The patch set is disabled now. We want to make sure that these tests are ported when it's rewritten.
2023-03-20 17:32:58 -05:00
Zebediah Figura
68cc39d3ba Rebase against fd99bd4e247a879e8cb186212d1dc66268aa0888. 2023-03-20 17:32:04 -05:00
Alistair Leslie-Hughes
3a47cfd8a5 Release v8.4 2023-03-18 14:56:06 +11:00
Alistair Leslie-Hughes
fab4cd0932 Rebase against 446da60e78beb321d776b48cdee6f764c81b924b. 2023-03-17 16:05:30 +11:00
Alistair Leslie-Hughes
2ac5cdbf37 Rebase against 7db5431699037d03f26c065a58c400991210c7f7. 2023-03-15 15:06:52 +11:00
Alistair Leslie-Hughes
e3a3dcd0ce Rebase against a8fa80cfb4a1819be12ece459753bc07d4ea8be6. 2023-03-10 16:29:07 +11:00
Alistair Leslie-Hughes
aa36637563 Rebase against 50f5f9af1c27c4380a7489596d20d8048f003365. 2023-03-08 09:45:55 +11:00
Alistair Leslie-Hughes
70958b46d0 Rebase against 45e83cc8c28cece236f1537958f6e21b48193f2c. 2023-03-07 11:24:26 +11:00
Alistair Leslie-Hughes
575f6f67cc Release v8.3 2023-03-05 09:42:43 +11:00
Alistair Leslie-Hughes
9929ac3038 Rebase against e796002ee61bf5dfb2718e8f4fb8fa928ccdc236. 2023-03-04 09:11:01 +11:00
Alistair Leslie-Hughes
cd22a0fb15 Rebase against 10765f2956d6f9fc2d16bb2bec476b12a31786f6. 2023-03-03 14:57:42 +11:00
Alistair Leslie-Hughes
f7b671178c Added vcomp_for_dynamic_init_i8 patchset 2023-03-01 12:48:37 +11:00
Alistair Leslie-Hughes
dc43a031be Rebase against 56db5b0bf1aa6df5edbedbec03e0a1db39d6639b. 2023-03-01 11:25:57 +11:00
Alistair Leslie-Hughes
7b0d44f887 Rebase against 3fb2a5d55e948670222170075f0054a2aabf8d7e. 2023-02-25 19:56:00 +11:00
Alistair Leslie-Hughes
0611b4d10c Rebase against 4d0d7e49b9b33bba023ba67add84486ba4cc8efd. 2023-02-24 10:23:41 +11:00
Zebediah Figura
b9421d8376 ntdll-Heap_Improvements: Remove patch set.
Obviated by the low-fragmentation heap work now upstream.
2023-02-23 11:57:01 -06:00
Zebediah Figura
a11194038c Rebase against 15b176b4f4945d7abfb4adbddc7f140ba1765855. 2023-02-22 15:34:37 -06:00
Zebediah Figura
d8293544f4 patchinstall.py: Pass the wine tree to the "patch" backend. 2023-02-22 15:22:40 -06:00
Alistair Leslie-Hughes
bf7a234e0c Rebase against 2436964d5678956a362a9bef34625885442740f6. 2023-02-21 09:53:38 +11:00
Zebediah Figura
1f76f7faec patchinstall.py: Allow specifying DESTDIR= as an argument. 2023-02-18 23:52:33 -06:00
Alistair Leslie-Hughes
4d98c8839b Release v8.2 2023-02-19 09:16:13 +11:00
Alistair Leslie-Hughes
53e545fe79 Added odbc-remove-unixodbc patchset 2023-02-17 13:38:41 +11:00
Dean M Greer
996b5b4cea macOS.yml: Fix GitHub workflow 2023-02-17 01:21:49 +00:00
Zebediah Figura
c1b4af92f7 patchupdate.py: Delete.
Deprected, replaced by staging/patchinstall.py.

Maintaining the patchinstall.sh script is an annoyance, often missed when modifying patches, which then results in fixup commits. The "new" patchinstall.py script (which has been around for multiple years now) is a complete replacement, and avoids this problem by just generating the list when applying. Precomputing the list is hardly worthwhile anyway.
2023-02-16 14:37:54 -06:00
Zebediah Figura
c542e21406 patchgraph.py: Delete.
This is not nearly interesting enough to keep around.
2023-02-16 14:37:43 -06:00
Alistair Leslie-Hughes
95f5c850de Updated patchinstall.sh for python3 2023-02-16 13:23:29 +11:00
Alistair Leslie-Hughes
daff95e4a0 Rebase against df5f6f66de80085249d392be5efa085e6ee056a0. 2023-02-16 11:43:24 +11:00
Alistair Leslie-Hughes
c920a7b45f Corrected patchinstall.sh 2023-02-14 13:09:39 +11:00
Zebediah Figura
a737381889 Rebase against 25743d46f4103c7345c955b87b4134a065fb5f1d. 2023-02-13 19:27:05 -06:00
Gerald Pfeifer
3367490837 ntdll-Junction_Points: Fix build on FreeBSD 12 2023-02-13 08:21:31 +11:00
Rémi Bernon
b75b4fc0fa Fix ntdll-NtDevicePath patch hunk context. 2023-02-13 07:53:17 +11:00
Rémi Bernon
c1951fe5d2 Replaced winex11-key_translation with winex11-Fixed-scancodes. 2023-02-11 12:34:01 +11:00
Rémi Bernon
7a0d4fb5b3 Port patchupdate.py to Python 3. 2023-02-11 12:17:08 +11:00
Alistair Leslie-Hughes
c26b832223 Added dmime-load-wave patchset 2023-02-11 11:20:39 +11:00
Alistair Leslie-Hughes
0159beff44 Added wined3d-atomic_minmax_merge patchset 2023-02-11 11:20:39 +11:00
Zebediah Figura
87f3369577 Rebase against 9070f0d572e36645f5e5764ef40472f158513d48. 2023-02-10 17:55:25 -06:00
Alistair Leslie-Hughes
86a67397f7 Rebase against a958b5aebfeed4538a4091f49996ae30ee9803fc. 2023-02-07 13:58:00 +11:00
Etienne JUVIGNY
f2f8b949b1 patchinstall.py: Port to python 3. 2023-02-03 16:01:25 -06:00
Alistair Leslie-Hughes
dde734350d Release v8.1 2023-02-03 11:05:06 +11:00
Alistair Leslie-Hughes
e113a09752 Rebase against 6c75cddb9851095694dfa397870919d4cc70d3ef. 2023-02-01 10:02:22 +11:00
Zebediah Figura
0e512f9c79 ntdll-Placeholders: Add some documentation for traceability.
We don't have a WineHQ bug report, and it may be difficult to make one, but let's at least write down what this is for.
2023-01-30 13:47:24 -06:00
Zebediah Figura
e222e26baa readme: Deprecate patchinstall.sh in favor of patchinstall.py. 2023-01-30 12:18:11 -06:00
Zebediah Figura
1e9c7533cb ntdll-Placeholders: Add missing dependency on ntdll-WRITECOPY. 2023-01-30 12:16:14 -06:00
Zebediah Figura
89aa62efe0 Update patchinstall.sh. 2023-01-29 17:11:34 -06:00
Zebediah Figura
6d4f5803c8 ntdll-Builtin_Prot: Remove patch set.
Obviated by upstream commit 6b8cbfe3fd (and more generally full PE conversion
finished in 60eeb92ae03).
2023-01-29 12:32:41 -06:00
Zebediah Figura
33879905f2 Rebase against 4e5fab6214d9304004369d50b6c73b8d88cf46d8. 2023-01-27 17:13:51 -06:00
Alistair Leslie-Hughes
d6ac81a83b Rebase against aabdb15458aaee80b157175bc31cbaf3d57bf5e4. 2023-01-27 10:39:34 +11:00
Alistair Leslie-Hughes
c7feffdb95 Add missed files 2023-01-26 14:56:29 +11:00
Alistair Leslie-Hughes
fc3f586bd4 Rebase against 876742bf2bf23765cd8a845a20b297cdf7803c67. 2023-01-26 10:07:12 +11:00
Alistair Leslie-Hughes
5fe0566802 Restore winex11-wglShareLists patchset 2023-01-25 16:25:53 +11:00
Alistair Leslie-Hughes
484054b204 Rebase against be57ebe01581f709b0e52a29304668eaaf6f0634. 2023-01-25 10:19:48 +11:00
Alistair Leslie-Hughes
e9f69afcab Release v8.0 2023-01-25 09:05:18 +11:00
Alistair Leslie-Hughes
8a7297ab71 Release v8.0-rc5 2023-01-22 14:05:19 +11:00
Alistair Leslie-Hughes
8937409359 Release v8.0-rc4 2023-01-15 12:47:55 +11:00
Alistair Leslie-Hughes
0a970828aa Updated msxml3-FreeThreadedXMLHTTP60 patchset
This allows Tonk Hawk 1+2 on EGS connect to it's servers succesfully.

It would error on SetProperty, and then abort the connection.
2023-01-12 09:32:32 +11:00
Alistair Leslie-Hughes
dc27f103e5 Release v8.0-rc3 2023-01-08 13:13:51 +11:00
Paul Gofman
d1bde95011 Updated ntdll-NtDevicePath patchset. 2023-01-06 16:50:07 -06:00
Alistair Leslie-Hughes
90d6184697 Updated winex11-_NET_ACTIVE_WINDOW patchset
Thanks Gabriel Ivăncescu.
2023-01-06 08:02:06 +11:00
Alistair Leslie-Hughes
d10f51a658 Updated ntdll-Junction_Points patchset
Reorder patch to ensure regression testing can be performed.
2022-12-29 10:15:03 +11:00
Dean M Greer
bad4d30c2c macOS.yml: Skip running 'brew update' 2022-12-24 17:57:12 +00:00
Alistair Leslie-Hughes
3a1f2a42bb Release v8.0-rc2 2022-12-22 21:13:49 +11:00
Alistair Leslie-Hughes
3aca66f24e Rebase against 2b0cd25b5f5794463a59cac999583fb52fa021cc. 2022-12-20 10:58:41 +11:00
Alistair Leslie-Hughes
32c64aa429 Rebase against 17e5ff74308f41ab662d46f684db2c6023a4a16b. 2022-12-17 17:40:41 +11:00
Paul Gofman
ffc4a7a5a0 Update and reenable ntdll-NtDevicePath patchset. 2022-12-15 16:06:29 -06:00
Alistair Leslie-Hughes
13c3e61937 Rebase against ec62575e9d99fc35752760cc37ded207febdfd11. 2022-12-14 13:25:45 +11:00
Alistair Leslie-Hughes
c5281120df Release v8.0-rc1 2022-12-11 15:51:42 +11:00
Alistair Leslie-Hughes
18941e7959 Rebase against 772badd0d7f3286a7881a71f16fad417e2d7787d. 2022-12-11 11:12:41 +11:00
Zebediah Figura
8581775098 Rebase against 7acd3aa429f2d45d96f4699906dc81e47ebd9c13. 2022-12-08 22:22:11 -06:00
Alistair Leslie-Hughes
f912827a38 Rebase against 0da7ad35f130a2ea59380dcad2179b972b3a909d. 2022-12-07 09:31:52 +11:00
Alistair Leslie-Hughes
d269579b4b Rebase against 6b816b8969576a931af25fe5cc32326f03bb7359. 2022-12-06 11:42:36 +11:00
Alistair Leslie-Hughes
cc4bced66e Rebase against 0fe562b4ae3f66f9c0e29ab8f27a4abf2ac78501. 2022-12-03 14:30:04 +11:00
Alistair Leslie-Hughes
ab806dce36 Rebase against 4febd9d880abe22e77a3d8283de245a691cf2b7f. 2022-12-02 12:37:57 +11:00
Alistair Leslie-Hughes
2f85e74399 Rebase against 30c33c2f982fc8c0ef6d97683c6581ebddd46814. 2022-12-01 11:07:36 +11:00
Alistair Leslie-Hughes
d007ef33ee Rebase against 6905b76b9400209ded97983ceca9f9c15de22d98. 2022-11-29 10:30:08 +11:00
Alistair Leslie-Hughes
c3db92d75d Updated nvcuda-CUDA_Support patchset 2022-11-27 13:39:48 +11:00
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
183 changed files with 10794 additions and 9282 deletions

View File

@@ -14,7 +14,6 @@ jobs:
- name: Install dependencies
run: |
brew update
brew install --cask xquartz
brew install bison \
gphoto2 \
@@ -34,12 +33,13 @@ jobs:
mkdir $GITHUB_WORKSPACE/wine
cd wine
git init
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)
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/staging/patchinstall.py --upstream-commit) --depth=1
git checkout $($GITHUB_WORKSPACE/staging/patchinstall.py --upstream-commit)
- name: Run patchinstall.sh --all
- name: Run patchinstall.py --all
run: |
$GITHUB_WORKSPACE/patches/patchinstall.sh DESTDIR=$GITHUB_WORKSPACE/wine --all
cd wine
$GITHUB_WORKSPACE/staging/patchinstall.py DESTDIR=. --all
- name: Configure wine64
env:

1
.gitignore vendored
View File

@@ -1,3 +1,2 @@
staging/wine
*.pyc
.patchupdate.cache

View File

@@ -33,11 +33,11 @@ of information about that is collected in the
[WineHQ Wiki](http://wiki.winehq.org/BuildingWine).
In order to apply all Wine Staging patches it is recommended to use the
`patchinstall.sh` utility which takes care of applying all patches in the
`patchinstall.py` utility which takes care of applying all patches in the
correct order. For reference, the possible commandline arguments are:
```
Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]
Usage: ./staging/patchinstall.py [DESTDIR=path] [-W patchset] [patchset ...]
Autogenerated script to apply all Wine Staging patches on your Wine
source tree.
@@ -55,17 +55,14 @@ Configuration:
Backends:
--backend=patch Use regular 'patch' utility to apply patches (default)
--backend=eapply Use 'eapply' to apply patches (Gentoo only)
--backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)
--backend=git-am Use 'git am' to apply patches
--backend=git-apply Use 'git apply' to apply patches
--backend=stg Import the patches using stacked git
```
If you want to apply *all* patches with the `patch` utility, the commandline
should look similar to this:
```
./patches/patchinstall.sh DESTDIR="/path/to/wine" --all
./staging/patchinstall.py DESTDIR="/path/to/wine" --all
```
Before you proceed with the compilation, please make sure that you installed all

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,25 +0,0 @@
From e35d665256d08ebccee30361867ba57f790d519f Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 23:01:32 +0100
Subject: rpcrt4: Avoid implicit cast of interface pointer.
---
dlls/rpcrt4/cstub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/rpcrt4/cstub.c b/dlls/rpcrt4/cstub.c
index 838ed03..992c235 100644
--- a/dlls/rpcrt4/cstub.c
+++ b/dlls/rpcrt4/cstub.c
@@ -59,7 +59,7 @@ typedef struct
static inline cstdstubbuffer_delegating_t *impl_from_delegating( IRpcStubBuffer *iface )
{
- return CONTAINING_RECORD(iface, cstdstubbuffer_delegating_t, stub_buffer);
+ return CONTAINING_RECORD((void *)iface, cstdstubbuffer_delegating_t, stub_buffer);
}
HRESULT CStdStubBuffer_Construct(REFIID riid,
--
2.7.1

View File

@@ -67,7 +67,7 @@ index cacb7ea7751..19a807c1624 100644
- Note: Launching internal wine processes cannot specify a full path to exe */
- status = CreateProcessW(thisDir,
- command, NULL, NULL, TRUE, 0, NULL, NULL, &st, &pe);
- heap_free(st.lpReserved2);
- free(st.lpReserved2);
- if ((opt_c || opt_k) && !opt_s && !status
- && GetLastError()==ERROR_FILE_NOT_FOUND && command[0]=='\"') {
- /* strip first and last quote WCHARacters and try again */
@@ -143,7 +143,7 @@ index cacb7ea7751..19a807c1624 100644
+ WINE_TRACE("Launching via CreateProcess\n");
+ status = CreateProcessW(thisDir,
+ command, NULL, NULL, TRUE, 0, NULL, NULL, &st, &pe);
+ heap_free(st.lpReserved2);
+ free(st.lpReserved2);
+ if ((opt_c || opt_k) && !opt_s && !status
+ && GetLastError()==ERROR_FILE_NOT_FOUND && command[0]=='\"') {
+ /* strip first and last quote WCHARacters and try again */

View File

@@ -1,4 +1,4 @@
From c88a1acf9ac625cb2a7cbfc90ac3bb2d426889a0 Mon Sep 17 00:00:00 2001
From 7362e037e8160046fffcf062a663ea8e7ac45290 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 12 Nov 2019 18:13:20 +0800
Subject: [PATCH] comctl32: Bump version to 6.0.
@@ -14,10 +14,10 @@ Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/comctl32/comctl32.h b/dlls/comctl32/comctl32.h
index 66b341ae5ad..1af9baea7ee 100644
index 7dfdf089eb1..17ec7eeab40 100644
--- a/dlls/comctl32/comctl32.h
+++ b/dlls/comctl32/comctl32.h
@@ -193,7 +193,7 @@ BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc) DECLSPEC_HIDDEN;
@@ -194,7 +194,7 @@ BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc) DECLSPEC_HIDDEN;
BOOL Str_SetPtrWtoA (LPSTR *lppDest, LPCWSTR lpSrc) DECLSPEC_HIDDEN;
BOOL imagelist_has_alpha(HIMAGELIST, UINT) DECLSPEC_HIDDEN;
@@ -40,12 +40,12 @@ index c9aa1ba6253..be6e2425193 100644
#define WINE_PRODUCTVERSION_STR WINE_FILEVERSION_STR
diff --git a/include/commctrl.h b/include/commctrl.h
index dfd2f4a37d2..0784478ce14 100644
index a54de13d8b2..e0b0e22d4dc 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -51,7 +51,7 @@ enum _LI_METRIC
HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE, const WCHAR *, int, int, HICON *);
HRESULT WINAPI LoadIconMetric(HINSTANCE, const WCHAR *, int, HICON *);
@@ -59,7 +59,7 @@ enum _LI_METRIC
WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE, const WCHAR *, int, int, HICON *);
WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE, const WCHAR *, int, HICON *);
-#define COMCTL32_VERSION 5 /* dll version */
+#define COMCTL32_VERSION 6 /* dll version */
@@ -53,5 +53,5 @@ index dfd2f4a37d2..0784478ce14 100644
#define ICC_LISTVIEW_CLASSES 0x00000001 /* listview, header */
#define ICC_TREEVIEW_CLASSES 0x00000002 /* treeview, tooltips */
--
2.25.1
2.35.1

View File

@@ -1,4 +1,4 @@
From 6c3aa646aff81104eb7783138a71d4bb8cf192a7 Mon Sep 17 00:00:00 2001
From 0ba05ea85f8f2de3c802083340eb3a9ee8df209e Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 13 Feb 2016 15:29:37 +0100
Subject: [PATCH] d3dx9_36: Implement D3DXDisassembleShader. (v2)
@@ -6,11 +6,11 @@ Subject: [PATCH] d3dx9_36: Implement D3DXDisassembleShader. (v2)
Changes in v2 (by Christian Costa):
* More generic code for D3DXDisassembleShader.
---
dlls/d3dx9_36/shader.c | 332 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 327 insertions(+), 5 deletions(-)
dlls/d3dx9_36/shader.c | 335 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 329 insertions(+), 6 deletions(-)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index fe0f99180ac..54d0b158568 100644
index 1aa75d64dc5..d98345e2288 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -1,6 +1,7 @@
@@ -21,22 +21,27 @@ index fe0f99180ac..54d0b158568 100644
* Copyright 2011 Travis Athougies
*
* This library is free software; you can redistribute it and/or
@@ -18,7 +19,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
@@ -19,6 +20,7 @@
*/
-
#include <assert.h>
+#include <stdio.h>
#include "d3dx9_private.h"
#include "d3dcommon.h"
#include "d3dcompiler.h"
@@ -2336,13 +2337,334 @@ HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **sample
@@ -2347,13 +2349,334 @@ HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **sample
return D3D_OK;
}
-HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const char *comments,
- ID3DXBuffer **buffer)
-{
- TRACE("shader %p, colorcode %d, comments %s, buffer %p.\n", shader, colorcode, debugstr_a(comments), buffer);
+static const char *decl_usage[] = { "position", "blendweight", "blendindices", "normal", "psize", "texcoord",
+ "tangent", "binormal", "tessfactor", "positiont", "color" };
+
- return D3DDisassemble(shader, D3DXGetShaderSize(shader), colorcode ? D3D_DISASM_ENABLE_COLOR_CODE : 0,
- comments, (ID3DBlob **)buffer);
+static const char *tex_type[] = { "", "1d", "2d", "cube", "volume" };
+
+static int add_modifier(char *buffer, DWORD param)
@@ -298,11 +303,9 @@ index fe0f99180ac..54d0b158568 100644
+ { D3DSIO_COMMENT, "", 0, instr_comment, 0x0100, 0xFFFF }
+};
+
HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const char *comments,
- ID3DXBuffer **buffer)
+HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const char *comments,
+ ID3DXBuffer **disassembly)
{
- TRACE("shader %p, colorcode %d, comments %s, buffer %p.\n", shader, colorcode, debugstr_a(comments), buffer);
+{
+ DWORD *ptr = (DWORD *)shader;
+ char *buffer, *buf;
+ UINT capacity = 4096;
@@ -314,9 +317,7 @@ index fe0f99180ac..54d0b158568 100644
+
+ if (!shader || !disassembly)
+ return D3DERR_INVALIDCALL;
- return D3DDisassemble(shader, D3DXGetShaderSize(shader), colorcode ? D3D_DISASM_ENABLE_COLOR_CODE : 0,
- comments, (ID3DBlob **)buffer);
+
+ buf = buffer = HeapAlloc(GetProcessHeap(), 0, capacity);
+ if (!buffer)
+ return E_OUTOFMEMORY;
@@ -370,5 +371,5 @@ index fe0f99180ac..54d0b158568 100644
struct d3dx9_texture_shader
--
2.32.0
2.39.0

View File

@@ -1,16 +1,16 @@
From 33e4e3219056f09ed8b406d154b87bafedb1ebe0 Mon Sep 17 00:00:00 2001
From 7ba5e4a89be15deeb704078ad8321c7cc5aa02eb Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 22 Jul 2013 21:51:20 +0200
Subject: d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
Subject: [PATCH] d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
This patch fixes last problem of bug 32572.
---
dlls/d3dx9_36/skin.c | 86 ++++++++++++++++++++++++++++++++++++++++++++--
dlls/d3dx9_36/tests/mesh.c | 83 ++++++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/skin.c | 86 ++++++++++++++++++++++++++++++++++++--
dlls/d3dx9_36/tests/mesh.c | 83 ++++++++++++++++++++++++++++++++++++
2 files changed, 166 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/skin.c b/dlls/d3dx9_36/skin.c
index aa5acf2..bd7e581 100644
index b81fb6863d3..75ee6d44a95 100644
--- a/dlls/d3dx9_36/skin.c
+++ b/dlls/d3dx9_36/skin.c
@@ -2,6 +2,7 @@
@@ -21,7 +21,7 @@ index aa5acf2..bd7e581 100644
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -375,10 +376,89 @@ static HRESULT WINAPI d3dx9_skin_info_GetDeclaration(ID3DXSkinInfo *iface,
@@ -399,10 +400,89 @@ static HRESULT WINAPI d3dx9_skin_info_GetDeclaration(ID3DXSkinInfo *iface,
static HRESULT WINAPI d3dx9_skin_info_UpdateSkinnedMesh(ID3DXSkinInfo *iface, const D3DXMATRIX *bone_transforms,
const D3DXMATRIX *bone_inv_transpose_transforms, const void *src_vertices, void *dst_vertices)
{
@@ -115,11 +115,11 @@ index aa5acf2..bd7e581 100644
static HRESULT WINAPI d3dx9_skin_info_ConvertToBlendedMesh(ID3DXSkinInfo *iface, ID3DXMesh *mesh_in,
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index 17c5d9c..e255eac 100644
index 1daec158a5f..64b02276843 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -5152,6 +5152,88 @@ static void test_create_skin_info(void)
ok(hr == D3DERR_INVALIDCALL, "Expected D3DERR_INVALIDCALL, got %#x\n", hr);
@@ -5241,6 +5241,88 @@ static void test_create_skin_info(void)
ok(hr == D3DERR_INVALIDCALL, "Expected D3DERR_INVALIDCALL, got %#lx\n", hr);
}
+static void test_update_skinned_mesh(void)
@@ -207,7 +207,7 @@ index 17c5d9c..e255eac 100644
static void test_convert_adjacency_to_point_reps(void)
{
HRESULT hr;
@@ -10468,6 +10550,7 @@ START_TEST(mesh)
@@ -11484,6 +11566,7 @@ START_TEST(mesh)
D3DXGenerateAdjacencyTest();
test_update_semantics();
test_create_skin_info();
@@ -216,5 +216,5 @@ index 17c5d9c..e255eac 100644
test_convert_point_reps_to_adjacency();
test_weld_vertices();
--
2.1.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 8c78d1203c965927d0a0e6fcde31dd651cc704db Mon Sep 17 00:00:00 2001
From f78fc333748a6c4f664bb10ee2115c86690b3b16 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 6 Oct 2014 05:06:06 +0200
Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
@@ -22,7 +22,7 @@ index 22be2612eeb..2e11bb2b62d 100644
C_SRCS = \
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 404c7c11dbb..e0779e4e3a7 100644
index 3c1e225e195..4468f7fa4ed 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1445,6 +1445,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
@@ -30,9 +30,9 @@ index 404c7c11dbb..e0779e4e3a7 100644
ret = search_unix_path(filename, process_getenv(pcs, L"LD_LIBRARY_PATH"), elf_load_file_cb, &load_elf)
+ || search_unix_path(filename, BINDIR, elf_load_file_cb, &load_elf)
|| search_dll_path(pcs, filename, elf_load_file_cb, &load_elf);
|| search_dll_path(pcs, filename, IMAGE_FILE_MACHINE_UNKNOWN, elf_load_file_cb, &load_elf);
}
--
2.34.1
2.39.1

View File

@@ -1,73 +0,0 @@
From 98a9b8337d40c1f6df21227dff3d993f270aef46 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 24 May 2019 16:16:13 +1000
Subject: [PATCH] dinput: Allow mapping of controls based of Genre type.
---
dlls/dinput/device.c | 41 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index e826cc89c1e..a4815f24958 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -1741,8 +1741,15 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
/* Count the actions */
for (i = 0; i < format->dwNumActions; i++)
- if (IsEqualGUID( &impl->guid, &format->rgoAction[i].guidInstance ))
+ {
+ if (IsEqualGUID(&impl->guid, &format->rgoAction[i].guidInstance) ||
+ (IsEqualGUID(&IID_NULL, &format->rgoAction[i].guidInstance) &&
+ ((format->rgoAction[i].dwSemantic & format->dwGenre) == format->dwGenre ||
+ (format->rgoAction[i].dwSemantic & 0xff000000) == 0xff000000 /* Any Axis */) ))
+ {
num_actions++;
+ }
+ }
/* Should return DI_NOEFFECT if we dont have any actions and actionformat has not changed */
if (num_actions == 0 && format->dwCRC == new_crc && !(flags & DIDSAM_FORCESAVE)) return DI_NOEFFECT;
@@ -1779,7 +1786,39 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
action++;
}
+ else if ((format->rgoAction[i].dwSemantic & format->dwGenre) == format->dwGenre ||
+ (format->rgoAction[i].dwSemantic & 0xff000000) == 0xff000000 /* Any Axis */)
+ {
+ DWORD obj_id = semantic_to_obj_id(impl, format->rgoAction[i].dwSemantic);
+ DWORD type = DIDFT_GETTYPE(obj_id);
+ DWORD inst = DIDFT_GETINSTANCE(obj_id);
+ LPDIOBJECTDATAFORMAT obj;
+
+ if (type == DIDFT_PSHBUTTON) type = DIDFT_BUTTON;
+ else if (type == DIDFT_RELAXIS) type = DIDFT_AXIS;
+
+ obj = dataformat_to_odf_by_type(df, inst, type);
+ TRACE("obj %p, inst 0x%08lx, type 0x%08lx\n", obj, inst, type);
+ if(obj)
+ {
+ memcpy(&obj_df[action], obj, df->dwObjSize);
+
+ impl->action_map[action].uAppData = format->rgoAction[i].uAppData;
+ impl->action_map[action].offset = offset;
+ obj_df[action].dwOfs = offset;
+ offset += (type & DIDFT_BUTTON) ? 1 : 4;
+
+ action++;
+ }
+ }
+ }
+
+ if (action == 0)
+ {
+ free( obj_df );
+ return DI_NOEFFECT;
}
+ data_format.dwNumObjs = action;
IDirectInputDevice8_SetDataFormat( iface, &data_format );
--
2.33.0

View File

@@ -1,3 +1,5 @@
Fixes: [34108] dinput: Improve support for user Joystick configuration.
Fixes: [47326] dinput: Allow mapping of controls based of genre type.
Fixes: [35815] dinput: Allow remapping of joystick buttons.
# Seeing active work...
Disabled: true

View File

@@ -0,0 +1,100 @@
From 4b20338821a19304650d1acc1229b0e8615896bc Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 3 Aug 2022 16:25:11 +1000
Subject: [PATCH] dmime: Store WAVE data when Loading.
---
dlls/dmime/segment.c | 56 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 52 insertions(+), 4 deletions(-)
diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
index bf44c5e73b3..6bf9f3abf0c 100644
--- a/dlls/dmime/segment.c
+++ b/dlls/dmime/segment.c
@@ -33,6 +33,10 @@ typedef struct IDirectMusicSegment8Impl {
DMUS_IO_SEGMENT_HEADER header;
IDirectMusicGraph *pGraph;
struct list Tracks;
+
+ PCMWAVEFORMAT wave_format;
+ void *wave_data;
+ int data_size;
} IDirectMusicSegment8Impl;
IDirectMusicSegment8Impl *create_segment(void);
@@ -86,6 +90,9 @@ static ULONG WINAPI IDirectMusicSegment8Impl_Release(IDirectMusicSegment8 *iface
TRACE("(%p) ref=%ld\n", This, ref);
if (!ref) {
+ if (This->wave_data)
+ free(This->wave_data);
+
HeapFree(GetProcessHeap(), 0, This);
DMIME_UnlockModule();
}
@@ -818,6 +825,49 @@ static inline IDirectMusicSegment8Impl *impl_from_IPersistStream(IPersistStream
return CONTAINING_RECORD(iface, IDirectMusicSegment8Impl, dmobj.IPersistStream_iface);
}
+static HRESULT parse_wave_form(IDirectMusicSegment8Impl *This, IStream *stream, const struct chunk_entry *riff)
+{
+ HRESULT hr;
+ struct chunk_entry chunk = {.parent = riff};
+
+ TRACE("Parsing segment wave in %p: %s\n", stream, debugstr_chunk(riff));
+
+ while ((hr = stream_next_chunk(stream, &chunk)) == S_OK) {
+ switch (chunk.id) {
+ case mmioFOURCC('f','m','t',' '): {
+ if (FAILED(hr = stream_chunk_get_data(stream, &chunk, &This->wave_format, chunk.size)))
+ return hr;
+ TRACE("Wave Format tag %d\n", This->wave_format.wf.wFormatTag);
+ break;
+ }
+ case mmioFOURCC('d','a','t','a'): {
+ TRACE("Wave Data size %lu\n", chunk.size);
+ This->wave_data = malloc(chunk.size);
+ This->data_size = chunk.size;
+ if (!This->wave_data)
+ return E_OUTOFMEMORY;
+ if (FAILED(hr = stream_chunk_get_data(stream, &chunk, This->wave_data, chunk.size)))
+ return hr;
+ break;
+ }
+ case FOURCC_LIST: {
+ FIXME("Skipping LIST tag\n");
+ break;
+ }
+ case mmioFOURCC('I','S','F','T'): {
+ FIXME("Skipping ISFT tag\n");
+ break;
+ }
+ case mmioFOURCC('f','a','c','t'): {
+ FIXME("Skipping fact tag\n");
+ break;
+ }
+ }
+ }
+
+ return S_OK;
+}
+
static HRESULT WINAPI seg_IPersistStream_Load(IPersistStream *iface, IStream *stream)
{
IDirectMusicSegment8Impl *This = impl_from_IPersistStream(iface);
@@ -847,10 +897,8 @@ static HRESULT WINAPI seg_IPersistStream_Load(IPersistStream *iface, IStream *st
if (riff.type == DMUS_FOURCC_SEGMENT_FORM)
hr = parse_segment_form(This, stream, &riff);
- else {
- FIXME("WAVE form loading not implemented\n");
- hr = S_OK;
- }
+ else
+ hr = parse_wave_form(This, stream, &riff);
return hr;
}
--
2.39.1

View File

@@ -0,0 +1,157 @@
From f58dbcdfedf4d5d78d586d54f507c647e58379c8 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 2 Dec 2022 14:41:30 +1100
Subject: [PATCH] dmime: Implement IDirectMusicSegment8 Download
---
dlls/dmime/dmime_private.h | 2 +
dlls/dmime/performance.c | 7 +++
dlls/dmime/segment.c | 87 ++++++++++++++++++++++++++++++++++++--
3 files changed, 93 insertions(+), 3 deletions(-)
diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h
index 4159abffa99..030aab50094 100644
--- a/dlls/dmime/dmime_private.h
+++ b/dlls/dmime/dmime_private.h
@@ -71,6 +71,8 @@ extern void set_audiopath_perf_pointer(IDirectMusicAudioPath*,IDirectMusicPerfor
extern void set_audiopath_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*) DECLSPEC_HIDDEN;
extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*) DECLSPEC_HIDDEN;
+extern IDirectSound *get_dsound_interface(IDirectMusicPerformance8*) DECLSPEC_HIDDEN;
+
/*****************************************************************************
* Auxiliary definitions
*/
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c
index d69a27540d6..5578c3e523b 100644
--- a/dlls/dmime/performance.c
+++ b/dlls/dmime/performance.c
@@ -252,6 +252,13 @@ static inline IDirectMusicPerformance8Impl *impl_from_IDirectMusicPerformance8(I
return CONTAINING_RECORD(iface, IDirectMusicPerformance8Impl, IDirectMusicPerformance8_iface);
}
+IDirectSound *get_dsound_interface(IDirectMusicPerformance8* iface)
+{
+ IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface);
+ return This->dsound;
+}
+
+
/* IDirectMusicPerformance8 IUnknown part: */
static HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface(IDirectMusicPerformance8 *iface,
REFIID riid, void **ppv)
diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
index 6bf9f3abf0c..0ea0c15c5e0 100644
--- a/dlls/dmime/segment.c
+++ b/dlls/dmime/segment.c
@@ -37,6 +37,7 @@ typedef struct IDirectMusicSegment8Impl {
PCMWAVEFORMAT wave_format;
void *wave_data;
int data_size;
+ IDirectSoundBuffer *buffer;
} IDirectMusicSegment8Impl;
IDirectMusicSegment8Impl *create_segment(void);
@@ -90,6 +91,8 @@ static ULONG WINAPI IDirectMusicSegment8Impl_Release(IDirectMusicSegment8 *iface
TRACE("(%p) ref=%ld\n", This, ref);
if (!ref) {
+ if (This->buffer)
+ IDirectSoundBuffer_Release(This->buffer);
if (This->wave_data)
free(This->wave_data);
@@ -559,9 +562,87 @@ static HRESULT WINAPI IDirectMusicSegment8Impl_Compose(IDirectMusicSegment8 *ifa
static HRESULT WINAPI IDirectMusicSegment8Impl_Download(IDirectMusicSegment8 *iface,
IUnknown *pAudioPath)
{
- IDirectMusicSegment8Impl *This = impl_from_IDirectMusicSegment8(iface);
- FIXME("(%p, %p): stub\n", This, pAudioPath);
- return S_OK;
+ IDirectMusicSegment8Impl *This = impl_from_IDirectMusicSegment8(iface);
+ IDirectMusicPerformance8 *perf;
+ IDirectMusicAudioPath *audio;
+ IDirectSound *dsound;
+ HRESULT hr;
+ DSBUFFERDESC dsbd = {.dwSize = sizeof(dsbd)};
+ void *data;
+ DWORD size;
+ DWORD buffer = 0;
+
+ TRACE("(%p, %p)\n", This, pAudioPath);
+
+ if (!pAudioPath)
+ return E_INVALIDARG;
+
+ if (This->buffer)
+ {
+ TRACE("Using Cached buffer\n");
+ return S_OK;
+ }
+
+ /* pAudioPath can either be IDirectMusicAudioPath or IDirectMusicPerformance */
+ hr = IUnknown_QueryInterface(pAudioPath, &IID_IDirectMusicPerformance8, (void**)&perf);
+ if (FAILED(hr))
+ {
+ TRACE("Checking for IDirectMusicAudioPath interface\n");
+ hr = IUnknown_QueryInterface(pAudioPath, &IID_IDirectMusicAudioPath, (void**)&audio);
+ if (FAILED(hr))
+ {
+ WARN("Cannot query for IDirectMusicAudioPath\n");
+ return E_INVALIDARG;
+ }
+
+ IDirectMusicAudioPath_GetObjectInPath(audio, DMUS_PCHANNEL_ALL, DMUS_PATH_PERFORMANCE, buffer, &GUID_NULL,
+ 0, &IID_IDirectMusicPerformance, (void**)&perf);
+ IDirectMusicAudioPath_Release(audio);
+ }
+
+ if (!perf)
+ {
+ ERR("Failed to get IDirectMusicPerformance interface\n");
+ return E_INVALIDARG;
+ }
+
+ dsound = get_dsound_interface(perf);
+ if (!dsound)
+ {
+ ERR("Failed get_dsound_interface\n");
+ return E_INVALIDARG;
+ }
+
+ if (This->data_size == 0)
+ {
+ FIXME("No wave data skipping\n");
+ return S_OK;
+ }
+
+ dsbd.dwBufferBytes = This->data_size;
+ dsbd.lpwfxFormat = (WAVEFORMATEX*)&This->wave_format;
+
+ hr = IDirectSound_CreateSoundBuffer(dsound, &dsbd, &This->buffer, NULL);
+ if (FAILED(hr))
+ {
+ ERR("IDirectSound_CreateSoundBuffer failed 0x%08lx\n", hr);
+ return E_INVALIDARG;
+ }
+
+ TRACE("CreateSoundBuffer successful\n");
+
+ hr = IDirectSoundBuffer_Lock(This->buffer, 0, This->data_size, &data, &size, NULL, 0, 0);
+ TRACE("IDirectSoundBuffer_Lock hr 0x%08lx\n", hr);
+
+ memcpy(data, This->wave_data, This->data_size);
+
+ hr = IDirectSoundBuffer_Unlock(This->buffer, data, This->data_size, NULL, 0);
+ TRACE("IDirectSoundBuffer_Unlock hr 0x%08lx\n", hr);
+
+ /*hr = IDirectSoundBuffer_Play(This->buffer, 0, 0, 0);
+ TRACE("IDirectSoundBuffer_Play hr 0x%08lx\n", hr);*/
+
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicSegment8Impl_Unload(IDirectMusicSegment8 *iface,
--
2.39.1

View File

@@ -0,0 +1,81 @@
From 8ef2197cd4c77bf562ab5b83f2a137ae565bc22d Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 12 Dec 2022 15:20:10 +1100
Subject: [PATCH 3/3] dmime: Play a sound in IDirectMusicPerformance8
PlaySegmentEx
---
dlls/dmime/dmime_private.h | 1 +
dlls/dmime/performance.c | 25 +++++++++++++++++++------
dlls/dmime/segment.c | 6 ++++++
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h
index 030aab50094..d09aba02a5c 100644
--- a/dlls/dmime/dmime_private.h
+++ b/dlls/dmime/dmime_private.h
@@ -72,6 +72,7 @@ extern void set_audiopath_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffe
extern void set_audiopath_primary_dsound_buffer(IDirectMusicAudioPath*,IDirectSoundBuffer*) DECLSPEC_HIDDEN;
extern IDirectSound *get_dsound_interface(IDirectMusicPerformance8*) DECLSPEC_HIDDEN;
+extern IDirectSoundBuffer *get_segment_buffer(IDirectMusicSegment8 *iface) DECLSPEC_HIDDEN;
/*****************************************************************************
* Auxiliary definitions
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c
index 5578c3e523b..03e59e95af3 100644
--- a/dlls/dmime/performance.c
+++ b/dlls/dmime/performance.c
@@ -1043,13 +1043,26 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegmentEx(IDirectMusicPer
__int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom,
IUnknown *pAudioPath)
{
- IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface);
+ IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface);
+ IDirectMusicSegment8 *segment;
+ IDirectSoundBuffer *buffer;
+ HRESULT hr;
- FIXME("(%p, %p, %p, %p, %ld, 0x%s, %p, %p, %p): stub\n", This, pSource, pwzSegmentName,
- pTransition, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState, pFrom, pAudioPath);
- if (ppSegmentState)
- return create_dmsegmentstate(&IID_IDirectMusicSegmentState,(void**)ppSegmentState);
- return S_OK;
+ FIXME("(%p, %p, %p, %p, %ld, 0x%s, %p, %p, %p): semi-stub\n", This, pSource, pwzSegmentName,
+ pTransition, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState, pFrom, pAudioPath);
+
+ hr = IUnknown_QueryInterface(pSource, &IID_IDirectMusicSegment8, (void**)&segment);
+ if (FAILED(hr))
+ return hr;
+
+ buffer = get_segment_buffer(segment);
+
+ if (segment)
+ hr = IDirectSoundBuffer_Play(buffer, 0, 0, 0);
+
+ if (ppSegmentState)
+ return create_dmsegmentstate(&IID_IDirectMusicSegmentState,(void**)ppSegmentState);
+ return S_OK;
}
static HRESULT WINAPI IDirectMusicPerformance8Impl_StopEx(IDirectMusicPerformance8 *iface,
diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
index dbf2f8203d8..9213fbf4a4c 100644
--- a/dlls/dmime/segment.c
+++ b/dlls/dmime/segment.c
@@ -45,6 +45,12 @@ static inline IDirectMusicSegment8Impl *impl_from_IDirectMusicSegment8(IDirectMu
return CONTAINING_RECORD(iface, IDirectMusicSegment8Impl, IDirectMusicSegment8_iface);
}
+IDirectSoundBuffer *get_segment_buffer(IDirectMusicSegment8 *iface)
+{
+ IDirectMusicSegment8Impl *This = impl_from_IDirectMusicSegment8(iface);
+ return This->buffer;
+}
+
static HRESULT WINAPI IDirectMusicSegment8Impl_QueryInterface(IDirectMusicSegment8 *iface,
REFIID riid, void **ret_iface)
{
--
2.38.1

View File

@@ -0,0 +1,13 @@
Fixes: [48220] dmime: Handle basic loading of Wave files and playing them.
Fixes: [61322] dmine: No Sound in Black Rockman Shooter.
Fixes: [34751] dmime: Aura: Fate of the Ages: sounds aren't played, but music works fine
Fixes: [9027] dmime: No sound for rise of nations - all versions.
# Also
# - Cloning Clyde demo
# Doesnt fix
# The following are known not to work, at the moment.
# [31586] : Myst sounds (Voices)
# [30969] : Tron 2.0 Background music
# [32896] : Serious Sam: The Random Encounter

View File

@@ -1,30 +1,29 @@
From da59fcb896bc204ea0ea1d866eeddef0c9b962c4 Mon Sep 17 00:00:00 2001
From d09ac9a348309f956a2f3985a1b465b51b6e174c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 28 Mar 2015 08:18:10 +0100
Subject: [PATCH] dsound: Apply filters before sound is multiplied to speakers.
Based on a patch by Mark Harmstone.
---
dlls/dsound/dsound.c | 2 +
dlls/dsound/dsound.c | 1 +
dlls/dsound/dsound_private.h | 4 +-
dlls/dsound/mixer.c | 109 ++++++++++++++++++++++++-----------
3 files changed, 80 insertions(+), 35 deletions(-)
dlls/dsound/mixer.c | 112 ++++++++++++++++++++++++-----------
3 files changed, 81 insertions(+), 36 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 346cc4ceca3..e869c4dd251 100644
index 0b8edaaaf06..bdf3a824511 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -234,6 +234,8 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
@@ -234,6 +234,7 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
if(device->mmdevice)
IMMDevice_Release(device->mmdevice);
CloseHandle(device->sleepev);
+
+ HeapFree(GetProcessHeap(), 0, device->dsp_buffer);
HeapFree(GetProcessHeap(), 0, device->tmp_buffer);
HeapFree(GetProcessHeap(), 0, device->cp_buffer);
HeapFree(GetProcessHeap(), 0, device->buffer);
+ free(device->dsp_buffer);
free(device->tmp_buffer);
free(device->cp_buffer);
free(device->buffer);
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index f89588de4d9..d4e74ed0e82 100644
index 124a4311b4c..fe39ca221fa 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -89,8 +89,8 @@ struct DirectSoundDevice
@@ -39,7 +38,7 @@ index f89588de4d9..d4e74ed0e82 100644
DSVOLUMEPAN volpan;
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index 50816b1a582..ddab45893ac 100644
index c26b19ea8c1..68a45c46d1e 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -283,10 +283,9 @@ static inline float get_current_sample(const IDirectSoundBufferImpl *dsb,
@@ -150,7 +149,7 @@ index 50816b1a582..ddab45893ac 100644
/**
* Mix at most the given amount of data into the allocated temporary buffer
* of the given secondary buffer, starting from the dsb's first currently
@@ -497,34 +511,63 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
@@ -497,31 +511,61 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
*/
static void DSOUND_MixToTemporary(IDirectSoundBufferImpl *dsb, DWORD frames)
{
@@ -165,21 +164,20 @@ index 50816b1a582..ddab45893ac 100644
- if (dsb->device->tmp_buffer_len < size_bytes || !dsb->device->tmp_buffer)
- {
- dsb->device->tmp_buffer_len = size_bytes;
- dsb->device->tmp_buffer = realloc(dsb->device->tmp_buffer, size_bytes);
- }
- if(dsb->put_aux == putieee32_sum)
- memset(dsb->device->tmp_buffer, 0, dsb->device->tmp_buffer_len);
+ put = dsb->put;
+ ostride = dsb->device->pwfx->nChannels * sizeof(float);
+ size_bytes = frames * ostride;
+
+ if (dsb->device->tmp_buffer_len < size_bytes || !dsb->device->tmp_buffer) {
if (dsb->device->tmp_buffer)
dsb->device->tmp_buffer = HeapReAlloc(GetProcessHeap(), 0, dsb->device->tmp_buffer, size_bytes);
else
dsb->device->tmp_buffer = HeapAlloc(GetProcessHeap(), 0, size_bytes);
+ dsb->device->tmp_buffer_len = size_bytes;
}
- if(dsb->put_aux == putieee32_sum)
- memset(dsb->device->tmp_buffer, 0, dsb->device->tmp_buffer_len);
-
- cp_fields(dsb, frames, &dsb->freqAccNum);
+ if (dsb->device->tmp_buffer_len < size_bytes || !dsb->device->tmp_buffer)
+ {
+ dsb->device->tmp_buffer_len = size_bytes;
+ dsb->device->tmp_buffer = realloc(dsb->device->tmp_buffer, size_bytes);
+ }
+ if(dsb->put_aux == putieee32_sum)
+ memset(dsb->device->tmp_buffer, 0, dsb->device->tmp_buffer_len);
+
@@ -234,5 +232,5 @@ index 50816b1a582..ddab45893ac 100644
static void DSOUND_MixerVol(const IDirectSoundBufferImpl *dsb, INT frames)
--
2.35.1
2.39.2

View File

@@ -1,4 +1,4 @@
From 5d29a2de174042ce7bdd52d92337591933e0f761 Mon Sep 17 00:00:00 2001
From 42c58e406220e9351337b079ae44364fbc39365d Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Fri, 27 Mar 2015 20:58:37 +0000
Subject: [PATCH] dsound: Add EAX init and free stubs.
@@ -10,10 +10,10 @@ Subject: [PATCH] dsound: Add EAX init and free stubs.
3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index e8b3fb4a832..28f2e95994e 100644
index 22b23c9f877..72e96765883 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1153,6 +1153,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
@@ -1152,6 +1152,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
DSOUND_RecalcVolPan(&(dsb->volpan));
InitializeSRWLock(&dsb->lock);
@@ -22,17 +22,17 @@ index e8b3fb4a832..28f2e95994e 100644
/* register buffer */
err = DirectSoundDevice_AddBuffer(device, dsb);
@@ -1194,6 +1196,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This)
HeapFree(GetProcessHeap(), 0, This->filters);
@@ -1193,6 +1195,8 @@ void secondarybuffer_destroy(IDirectSoundBufferImpl *This)
free(This->filters);
}
+ free_eax_buffer(This);
+
TRACE("(%p) released\n", This);
HeapFree(GetProcessHeap(), 0, This);
free(This);
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 267b2c044bc..c906eb2adb1 100644
index 09566b28a12..703b5da8225 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -240,6 +240,8 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -97,5 +97,5 @@ index 03b6e0a9813..91438efc335 100644
HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
--
2.35.1
2.39.2

View File

@@ -1,4 +1,4 @@
From 3760db8daceee555842425400af01de2075b4568 Mon Sep 17 00:00:00 2001
From 673e9f32e39fce78a02f6519a435051ffec3664d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 4 Apr 2015 21:09:18 +0200
Subject: [PATCH] dsound: Various improvements to EAX support.
@@ -24,19 +24,19 @@ the buffers).
5 files changed, 37 insertions(+), 39 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 6b7414d34ff..b1efa0d3012 100644
index 72e96765883..bdb93657017 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1213,7 +1213,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
@@ -1223,7 +1223,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
VOID *committedbuff;
TRACE("(%p,%p,%p)\n", device, ppdsb, pdsb);
- dsb = HeapAlloc(GetProcessHeap(),0,sizeof(*dsb));
+ dsb = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(*dsb));
- dsb = malloc(sizeof(*dsb));
+ dsb = calloc(1, sizeof(*dsb));
if (dsb == NULL) {
WARN("out of memory\n");
*ppdsb = NULL;
@@ -1261,6 +1261,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
@@ -1271,6 +1271,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
InitializeSRWLock(&dsb->lock);
@@ -46,7 +46,7 @@ index 6b7414d34ff..b1efa0d3012 100644
hres = DirectSoundDevice_AddBuffer(device, dsb);
if (hres != DS_OK) {
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 91fa94b943e..a0931325ebc 100644
index bdf3a824511..4df26e93c6e 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -182,6 +182,8 @@ static HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice)
@@ -71,10 +71,10 @@ index a650108f570..a555a75e458 100644
float *SampleBuffer;
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 43e62626161..065fe820055 100644
index 9131fa8792e..f2b2c353643 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -239,6 +239,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -240,6 +240,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData) DECLSPEC_HIDDEN;
@@ -83,7 +83,7 @@ index 43e62626161..065fe820055 100644
void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count) DECLSPEC_HIDDEN;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index a05b00e1c02..ef802b95a7d 100644
index 5f2b8ef07e2..2244565897b 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -114,6 +114,8 @@ static const float LATE_LINE_MULTIPLIER = 4.0f;
@@ -244,5 +244,5 @@ index a05b00e1c02..ef802b95a7d 100644
switch (dwPropID) {
case DSPROPERTY_EAXBUFFER_ALL:
--
2.33.0
2.39.2

View File

@@ -1,4 +1,4 @@
From f2401390227b40c68bb97983fc028d5060a70e8c Mon Sep 17 00:00:00 2001
From d3262875b2ce7d2a6746f2139ca00e3d0f13fb33 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 3be31e40cf6..0a2cdc0dfcd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -478,6 +478,7 @@ AC_CHECK_HEADERS(\
@@ -453,6 +453,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(\
@@ -2024,6 +2025,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
@@ -2049,6 +2051,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 fe2fc36a914..8e8c57d711c 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -362,6 +362,9 @@
@@ -309,6 +309,9 @@
/* Define to 1 if you have the `posix_fallocate' function. */
#undef HAVE_POSIX_FALLOCATE
@@ -58,17 +58,17 @@ index 197c3b97f09..13f822cb36c 100644
/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL
@@ -434,6 +437,9 @@
@@ -375,6 +378,9 @@
/* Define to 1 if `interface_id' is a member of `sg_io_hdr_t'. */
#undef HAVE_SG_IO_HDR_T_INTERFACE_ID
+/* Define to 1 if you have the `shm_open' function. */
+#undef HAVE_SHM_OPEN
+
/* Define if sigaddset is supported */
#undef HAVE_SIGADDSET
/* Define to 1 if `si_fd' is a member of `siginfo_t'. */
#undef HAVE_SIGINFO_T_SI_FD
@@ -574,6 +580,9 @@
@@ -510,6 +516,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.39.0

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