Compare commits

...

17 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes
f5ca8f5a0c Release v7.1 2022-01-29 09:47:35 +11:00
Alistair Leslie-Hughes
cafb155af5 Rebase against 85cb1ff91ed4d48559c5500e2ccb0b15801edc05. 2022-01-28 12:48:29 +11:00
Alistair Leslie-Hughes
b1a5648b37 Rebase against 9a4992173e165b04ff79d5283f81064f7585e7ad. 2022-01-27 11:50:15 +11:00
Alistair Leslie-Hughes
b8a377e8d7 Updated ws2_32-SIO_IDEAL_SEND_BACKLOG_QUERY patchset
macos doesn't support SO_PROTOCOL.
2022-01-26 21:10:50 +11:00
Alistair Leslie-Hughes
5b0e78d2c0 Rebase against 1d178982ae5a73b18f367026c8689b56789c39fd. 2022-01-26 10:11:42 +11:00
Alistair Leslie-Hughes
c87f47bcba Updated nvcuda-CUDA_Support patchset 2022-01-26 08:36:09 +11:00
Alistair Leslie-Hughes
d5e8d145c8 Added wined3d-bindless-texture patchset 2022-01-24 09:14:30 +11:00
Alistair Leslie-Hughes
2239795e43 Added xactengine3_7-callbacks patchset 2022-01-24 08:30:24 +11:00
Alistair Leslie-Hughes
766e1ee8f8 Added ws2_32-SIO_IDEAL_SEND_BACKLOG_QUERY patchset 2022-01-23 12:18:17 +11:00
Alistair Leslie-Hughes
95bf669895 Rebase against 6fe37b465649bfff2085ea871ffad0fff7ee7d61. 2022-01-21 09:10:48 +11:00
Alistair Leslie-Hughes
2fc92f8ba6 Release v7.0 2022-01-19 08:16:49 +11:00
Alistair Leslie-Hughes
0111d074e6 Release v7.0-rc6 2022-01-15 13:32:32 +11:00
Alistair Leslie-Hughes
b4028037d9 Rebase against 7aaeec35e2d7cc799461858edb788e412e9a1fbe. 2022-01-13 12:59:06 +11:00
Alistair Leslie-Hughes
e1c496b21e updated nvcuda-CUDA_Support patchset
Thanks Sveinar Søpler.
2022-01-12 11:35:55 +11:00
Alistair Leslie-Hughes
ee4ca71a7f Release v7.0-rc5 2022-01-08 10:48:47 +11:00
Alistair Leslie-Hughes
3b01c6e2c5 Updated nvcuda-CUDA_Support patchset
This patch add functions for CUDA 10, and reorders
them to be easier to update in future.
2022-01-05 17:03:33 +11:00
Alistair Leslie-Hughes
98c906f843 Rebase against 529e4154a34a5a774fe7036552ffbb060740da90. 2022-01-04 11:45:19 +11:00
46 changed files with 2016 additions and 369 deletions

View File

@@ -1,18 +1,17 @@
From b51fdc7e211f676d169c937209bf689e57252c5d Mon Sep 17 00:00:00 2001
From 7e3c4d732bacaeaf37ab8f32a7548715825eff4d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
---
dlls/dwrite/font.c | 4 ++--
dlls/dwrite/layout.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
dlls/dwrite/font.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index aa51c744297..7cad015480f 100644
index 2296c74c1e3..2b5e18aab19 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -2130,7 +2130,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -2514,7 +2514,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@@ -21,7 +20,7 @@ index aa51c744297..7cad015480f 100644
}
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -2138,7 +2138,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -2522,7 +2522,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
@@ -30,19 +29,6 @@ index aa51c744297..7cad015480f 100644
}
static struct dwrite_fontfacereference *unsafe_impl_from_IDWriteFontFaceReference(IDWriteFontFaceReference *iface)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 1f6201a6a93..35791d5c22e 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5886,7 +5886,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
+ CONTAINING_RECORD((IDWriteTextFormat3 *)iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
}
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight,
--
2.29.2
2.34.1

View File

@@ -1,4 +1,4 @@
From a349cc8bdcc3a083ea507dbbdeba9053e3a338e4 Mon Sep 17 00:00:00 2001
From bd6e11aee0fbe2f880f87bec8b3d145b3de15dab Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 23:08:30 +0100
Subject: [PATCH] include: Check element type in CONTAINING_RECORD and similar
@@ -31,31 +31,31 @@ index b4d681fe0f3..287ad394fae 100644
#endif /* __WINE_SERVER_LIST_H */
diff --git a/include/wine/rbtree.h b/include/wine/rbtree.h
index 8aae29c8c10..330b3e8fbc9 100644
index 4e86f3cfb84..694dc039cb1 100644
--- a/include/wine/rbtree.h
+++ b/include/wine/rbtree.h
@@ -23,8 +23,14 @@
#ifndef __WINE_WINE_RBTREE_H
#define __WINE_WINE_RBTREE_H
-#define WINE_RB_ENTRY_VALUE(element, type, field) \
-#define RB_ENTRY_VALUE(element, type, field) \
- ((type *)((char *)(element) - offsetof(type, field)))
+#ifdef __GNUC__
+# define WINE_RB_ENTRY_VALUE(element, type, field) ({ \
+# define RB_ENTRY_VALUE(element, type, field) ({ \
+ const typeof(((type *)0)->field) *__ptr = (element); \
+ (type *)((char *)__ptr - offsetof(type, field)); })
+#else
+# define WINE_RB_ENTRY_VALUE(element, type, field) \
+# define RB_ENTRY_VALUE(element, type, field) \
+ ((type *)((char *)(element) - offsetof(type, field)))
+#endif
struct wine_rb_entry
struct rb_entry
{
diff --git a/include/winnt.h b/include/winnt.h
index 46e17c546a7..d5c65d2017b 100644
index 9296a3dc555..c7406b8db39 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -793,8 +793,14 @@ typedef struct _MEMORY_BASIC_INFORMATION
@@ -840,8 +840,14 @@ typedef struct _WIN32_MEMORY_RANGE_ENTRY
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
#define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))
@@ -73,5 +73,5 @@ index 46e17c546a7..d5c65d2017b 100644
#define ARRAYSIZE(x) (sizeof(x) / sizeof((x)[0]))
#ifdef __WINESRC__
--
2.26.2
2.34.1

View File

@@ -1,4 +1,4 @@
From e3a6b75cbce69e18742135fdd8e105132d8ca9dd Mon Sep 17 00:00:00 2001
From ea3579b5b3d701647f5c7f16de658f1cd7fe876d Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 30 Jul 2021 15:57:29 +1000
Subject: [PATCH] d3dx11_43: Implement D3DX11GetImageInfoFromMemory
@@ -38,7 +38,7 @@ index ccd4319ace2..6854c73ebcb 100644
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/d3dx11_43/main.c b/dlls/d3dx11_43/main.c
index 950f6d76f5c..00c1db35e42 100644
index 5dad027864f..00c1db35e42 100644
--- a/dlls/d3dx11_43/main.c
+++ b/dlls/d3dx11_43/main.c
@@ -66,12 +66,3 @@ HRESULT WINAPI D3DX11GetImageInfoFromFileW(const WCHAR *filename, ID3DX11ThreadP
@@ -49,13 +49,13 @@ index 950f6d76f5c..00c1db35e42 100644
-HRESULT WINAPI D3DX11GetImageInfoFromMemory(const void *src_data, SIZE_T src_data_size, ID3DX11ThreadPump *pump,
- D3DX11_IMAGE_INFO *img_info, HRESULT *hresult)
-{
- FIXME("src_data %p, src_data_size %lu, pump %p, img_info %p, hresult %p stub!\n",
- FIXME("src_data %p, src_data_size %Iu, pump %p, img_info %p, hresult %p stub!\n",
- src_data, src_data_size, pump, img_info, hresult);
-
- return E_NOTIMPL;
-}
diff --git a/dlls/d3dx11_43/texture.c b/dlls/d3dx11_43/texture.c
index ee6808d76d6..8addf4f84d3 100644
index 81ac8ee6db7..6881eec107d 100644
--- a/dlls/d3dx11_43/texture.c
+++ b/dlls/d3dx11_43/texture.c
@@ -15,14 +15,190 @@
@@ -155,7 +155,7 @@ index ee6808d76d6..8addf4f84d3 100644
+ GUID container_format;
+ HRESULT hr;
+
+ TRACE("src_data %p, src_data_size %lu, pump %p, img_info %p, hresult %p.\n",
+ TRACE("src_data %p, src_data_size %Iu, pump %p, img_info %p, hresult %p.\n",
+ src_data, src_data_size, pump, img_info, hresult);
+
+ if (!src_data || !src_data_size || !img_info)
@@ -250,5 +250,5 @@ index ee6808d76d6..8addf4f84d3 100644
SIZE_T data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
ID3D11ShaderResourceView **view, HRESULT *hresult)
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 2f65959901f62bfc6a48c683e6eaa5d6ed5f7416 Mon Sep 17 00:00:00 2001
From 5be34c9e347d4379179eeba742b25986152d4e4f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 3 Aug 2021 11:13:18 +1000
Subject: [PATCH] d3dx11_42: Implement D3DX11CreateTextureFromMemory
@@ -9,7 +9,7 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
1 file changed, 342 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dx11_43/texture.c b/dlls/d3dx11_43/texture.c
index 8addf4f84d3..f47b8583c6c 100644
index 6881eec107d..b91bd8d881a 100644
--- a/dlls/d3dx11_43/texture.c
+++ b/dlls/d3dx11_43/texture.c
@@ -22,6 +22,7 @@
@@ -239,7 +239,7 @@ index 8addf4f84d3..f47b8583c6c 100644
+ SIZE_T src_data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
ID3D11Resource **texture, HRESULT *hresult)
{
- FIXME("device %p, data %p, data_size %lu, load_info %p, pump %p, texture %p, hresult %p stub.\n",
- FIXME("device %p, data %p, data_size %Iu, load_info %p, pump %p, texture %p, hresult %p stub.\n",
- device, data, data_size, load_info, pump, texture, hresult);
+ unsigned int frame_count, width, height, stride, frame_size;
+ IWICFormatConverter *converter = NULL;
@@ -259,7 +259,7 @@ index 8addf4f84d3..f47b8583c6c 100644
+ HRESULT hr;
- return E_NOTIMPL;
+ TRACE("device %p, src_data %p, src_data_size %lu, load_info %p, pump %p, texture %p, hresult %p.\n",
+ TRACE("device %p, data %p, data_size %Iu, load_info %p, pump %p, texture %p, hresult %p.\n",
+ device, src_data, src_data_size, load_info, pump, texture, hresult);
+
+ if (!src_data || !src_data_size || !texture)
@@ -391,5 +391,5 @@ index 8addf4f84d3..f47b8583c6c 100644
HRESULT WINAPI D3DX11SaveTextureToFileW(ID3D11DeviceContext *context, ID3D11Resource *texture,
--
2.30.2
2.34.1

View File

@@ -1,4 +1,4 @@
From b094a7cf3f804ea40e5bd05ad738c48b5464e0bb Mon Sep 17 00:00:00 2001
From ec5d4d8435795cb193909159ed2e692d330f2f1a 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.
@@ -9,23 +9,23 @@ Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in
index 22be2612eeb..f3f31eb3671 100644
index abb440ffbe6..d200e891c8e 100644
--- a/dlls/dbghelp/Makefile.in
+++ b/dlls/dbghelp/Makefile.in
@@ -2,7 +2,7 @@ MODULE = dbghelp.dll
IMPORTLIB = dbghelp
IMPORTS = $(ZLIB_PE_LIBS)
EXTRAINCL = $(ZLIB_PE_CFLAGS)
-EXTRADEFS = -D_IMAGEHLP_SOURCE_
+EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
-EXTRADEFS = -DWINE_NO_LONG_TYPES -D_IMAGEHLP_SOURCE_
+EXTRADEFS = -DWINE_NO_LONG_TYPES -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
DELAYIMPORTS = version
C_SRCS = \
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 553b212c526..3584a27953e 100644
index def8b444e4e..7e664f8074a 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1451,6 +1451,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
@@ -1445,6 +1445,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
load_elf.elf_info = elf_info;
ret = search_unix_path(filename, process_getenv(pcs, L"LD_LIBRARY_PATH"), elf_load_file_cb, &load_elf)
@@ -34,5 +34,5 @@ index 553b212c526..3584a27953e 100644
}
--
2.33.0
2.34.1

View File

@@ -1,18 +1,18 @@
From ef0da9342b0ced44da1ed8532941d53f48ead602 Mon Sep 17 00:00:00 2001
From 8528d4181967d00a7711d32bdaf7ecde5fe7208f Mon Sep 17 00:00:00 2001
From: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Date: Tue, 30 Apr 2019 09:20:54 +1000
Subject: [PATCH] dinput: Allow empty Joystick mappings.
---
dlls/dinput/device.c | 77 ++++++++++++++++++++++++++++++-------
dlls/dinput8/tests/device.c | 50 ++++++++++++++++++++++++
dlls/dinput/tests/device8.c | 50 ++++++++++++++++++++++++
2 files changed, 113 insertions(+), 14 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index b423337c9ce..c9466655ce4 100644
index 1dc3c311f2b..63e6abb54eb 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -356,12 +356,26 @@ static DWORD semantic_to_obj_id( struct dinput_device *This, DWORD dwSemantic )
@@ -357,12 +357,26 @@ static DWORD semantic_to_obj_id( struct dinput_device *This, DWORD dwSemantic )
return type | (0x0000ff00 & (instance << 8));
}
@@ -40,7 +40,7 @@ index b423337c9ce..c9466655ce4 100644
{
static const WCHAR *subkey = L"Software\\Wine\\DirectInput\\Mappings\\%s\\%s\\%s";
HKEY hkey;
@@ -372,8 +386,11 @@ static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WC
@@ -373,8 +387,11 @@ static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WC
swprintf( keyname, len, subkey, username, device, guid );
/* The key used is HKCU\Software\Wine\DirectInput\Mappings\[username]\[device]\[mapping_guid] */
@@ -54,7 +54,7 @@ index b423337c9ce..c9466655ce4 100644
free( keyname );
@@ -393,7 +410,9 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM
@@ -394,7 +411,9 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM
if (StringFromCLSID(&lpdiaf->guidActionMap, &guid_str) != S_OK)
return DI_SETTINGSNOTSAVED;
@@ -65,7 +65,7 @@ index b423337c9ce..c9466655ce4 100644
if (!hkey)
{
@@ -428,7 +447,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -429,7 +448,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
HKEY hkey;
WCHAR *guid_str;
DIDEVICEINSTANCEW didev;
@@ -74,7 +74,7 @@ index b423337c9ce..c9466655ce4 100644
didev.dwSize = sizeof(didev);
IDirectInputDevice8_GetDeviceInfo(&This->IDirectInputDevice8W_iface, &didev);
@@ -436,7 +455,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -437,7 +456,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
if (StringFromCLSID(&lpdiaf->guidActionMap, &guid_str) != S_OK)
return FALSE;
@@ -83,7 +83,7 @@ index b423337c9ce..c9466655ce4 100644
if (!hkey)
{
@@ -456,15 +475,20 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -457,15 +476,20 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
{
lpdiaf->rgoAction[i].dwObjID = id;
lpdiaf->rgoAction[i].guidInstance = didev.guidInstance;
@@ -107,7 +107,7 @@ index b423337c9ce..c9466655ce4 100644
}
static BOOL set_app_data( struct dinput_device *dev, int offset, UINT_PTR app_data )
@@ -1607,13 +1631,18 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
@@ -1914,13 +1938,18 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
load_success = load_mapping_settings( impl, format, username_buf );
}
@@ -130,7 +130,7 @@ index b423337c9ce..c9466655ce4 100644
genre = format->rgoAction[i].dwSemantic & DIGENRE_ANY;
if (devMask == genre || (devMask == DIGENRE_ANY && genre != DIMOUSE_MASK && genre != DIKEYBOARD_MASK))
{
@@ -1645,6 +1674,14 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
@@ -1952,6 +1981,14 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
}
}
@@ -145,7 +145,7 @@ index b423337c9ce..c9466655ce4 100644
if (!has_actions) return DI_NOEFFECT;
if (flags & (DIDBAM_DEFAULT|DIDBAM_PRESERVE|DIDBAM_INITIALIZE|DIDBAM_HWDEFAULTS))
FIXME("Unimplemented flags %#x\n", flags);
@@ -1662,6 +1699,7 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
@@ -1969,6 +2006,7 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
DIPROPSTRING dps;
WCHAR username_buf[MAX_PATH];
DWORD username_len = MAX_PATH;
@@ -153,7 +153,7 @@ index b423337c9ce..c9466655ce4 100644
int i, action = 0, num_actions = 0;
unsigned int offset = 0;
const DIDATAFORMAT *df;
@@ -1694,12 +1732,23 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
@@ -2001,12 +2039,23 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
data_format.dwFlags = DIDF_RELAXIS;
data_format.dwDataSize = format->dwDataSize;
@@ -178,10 +178,10 @@ index b423337c9ce..c9466655ce4 100644
/* Construct the dataformat and actionmap */
obj_df = malloc( sizeof(DIOBJECTDATAFORMAT) * num_actions );
diff --git a/dlls/dinput8/tests/device.c b/dlls/dinput8/tests/device.c
index 5ae9e225dc9..d3e86c68176 100644
--- a/dlls/dinput8/tests/device.c
+++ b/dlls/dinput8/tests/device.c
diff --git a/dlls/dinput/tests/device8.c b/dlls/dinput/tests/device8.c
index 817e843e33c..ad9ee1f006b 100644
--- a/dlls/dinput/tests/device8.c
+++ b/dlls/dinput/tests/device8.c
@@ -48,6 +48,8 @@ struct enum_data {
/* Dummy GUID */
static const GUID ACTION_MAPPING_GUID = { 0x1, 0x2, 0x3, { 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb } };
@@ -254,5 +254,5 @@ index 5ae9e225dc9..d3e86c68176 100644
IDirectInput_Release(pDI);
}
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 0c01c25728780e3419f37ef612b14cc7e29f65f5 Mon Sep 17 00:00:00 2001
From 8c7187f5501fff70df81612dfbdd084e67605189 Mon Sep 17 00:00:00 2001
From: Lucian Poston <lucianposton@pm.me>
Date: Mon, 21 May 2018 18:13:00 -0700
Subject: [PATCH] dwrite: Use font fallback when mapping characters
@@ -11,10 +11,10 @@ Signed-off-by: Lucian Poston <lucianposton@pm.me>
3 files changed, 74 insertions(+), 63 deletions(-)
diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 7112ca71932..43f8c659bfd 100644
index 13ccf8e4434..c535b0cf49d 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -2088,6 +2088,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
@@ -2094,6 +2094,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
IDWriteFont **mapped_font)
{
const struct fallback_mapping *mapping;
@@ -22,7 +22,7 @@ index 7112ca71932..43f8c659bfd 100644
HRESULT hr;
UINT32 i;
@@ -2099,9 +2100,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
@@ -2105,9 +2106,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
return E_FAIL;
}
@@ -39,7 +39,7 @@ index 7112ca71932..43f8c659bfd 100644
weight, style, stretch, mapped_font);
if (hr == S_OK) {
TRACE("Created fallback font using family %s.\n", debugstr_w(mapping->families[i]));
@@ -2158,32 +2165,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID
@@ -2164,32 +2171,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID
if (basefamily && *basefamily) {
hr = create_matching_font(basecollection, basefamily, weight, style, stretch, ret_font);
@@ -124,10 +124,10 @@ index 7112ca71932..43f8c659bfd 100644
free(buff);
return hr;
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index f28c71082c0..9a884824b76 100644
index d4aa49c6a6c..cda50c20777 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -964,6 +964,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout)
@@ -725,6 +725,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout)
goto fatal;
}
@@ -141,10 +141,10 @@ index f28c71082c0..9a884824b76 100644
IDWriteFont_Release(font);
if (FAILED(hr)) {
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index a1bff0d26d6..929d6ec1cc2 100644
index 096fc554253..b622aeb4239 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -3368,35 +3368,23 @@ todo_wine
@@ -3368,35 +3368,23 @@ static void test_GetMetrics(void)
count = 0;
hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
@@ -189,7 +189,7 @@ index a1bff0d26d6..929d6ec1cc2 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
if (font) {
IDWriteFont_Release(font);
@@ -202,7 +202,7 @@ index a1bff0d26d6..929d6ec1cc2 100644
ok(mappedlength == 3, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
- IDWriteFont_Release(font);
@@ -222,7 +222,7 @@ index a1bff0d26d6..929d6ec1cc2 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
IDWriteFont_Release(font);
@@ -239,7 +239,7 @@ index a1bff0d26d6..929d6ec1cc2 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
IDWriteFont_Release(font);
@@ -304,5 +304,5 @@ index a1bff0d26d6..929d6ec1cc2 100644
IDWriteTextLayout_Release(layout);
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 24fa0367db3de31fdc2da7bd61c27699c091cdaa Mon Sep 17 00:00:00 2001
From 3e714e2eb10fe17f12b747731c0ce7e18fd4b7a0 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 15:11:12 -0500
Subject: [PATCH] server: Create eventfd file descriptors for process objects.
@@ -49,7 +49,7 @@ index 7ca4ca89394..6a0a367124d 100644
void esync_init(void);
+int esync_create_fd( int initval, int flags );
diff --git a/server/process.c b/server/process.c
index ca9844c5c90..eca2f8f4bca 100644
index da972a41955..91b26d00ec0 100644
--- a/server/process.c
+++ b/server/process.c
@@ -63,6 +63,7 @@
@@ -86,7 +86,7 @@ index ca9844c5c90..eca2f8f4bca 100644
list_init( &process->thread_list );
list_init( &process->locks );
@@ -741,6 +744,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
if (!token_assign_label( process->token, security_high_label_sid ))
if (!token_assign_label( process->token, &high_label_sid ))
goto error;
+ if (do_esync())

View File

@@ -1,4 +1,4 @@
From 1dc7cd6e5621505199c8ff8ad8f4e67845c478e3 Mon Sep 17 00:00:00 2001
From ba211cf9d8ca7a462c24a62334813c68d41b3fc0 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 30 Aug 2021 15:16:06 +1000
Subject: [PATCH] ntoskrnl.exe: Add FltBuildDefaultSecurityDescriptor test
@@ -10,10 +10,10 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2 files changed, 66 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/tests/Makefile.in b/dlls/ntoskrnl.exe/tests/Makefile.in
index ab1db85adbb..9c89e44e70a 100644
index 052a8618a81..9028a392002 100644
--- a/dlls/ntoskrnl.exe/tests/Makefile.in
+++ b/dlls/ntoskrnl.exe/tests/Makefile.in
@@ -1,7 +1,7 @@
@@ -2,7 +2,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = ntoskrnl.exe
IMPORTS = advapi32 crypt32 newdev setupapi user32 wintrust ws2_32 hid
@@ -23,7 +23,7 @@ index ab1db85adbb..9c89e44e70a 100644
driver2_IMPORTS = winecrt0 ntoskrnl hal
driver2_EXTRADLLFLAGS = -nodefaultlibs -nostartfiles -Wl,--subsystem,native
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index deccc04bc2b..90f5b0ec965 100644
index dabb3b73f15..187f00c8bcb 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -32,6 +32,7 @@
@@ -113,5 +113,5 @@ index deccc04bc2b..90f5b0ec965 100644
IoMarkIrpPending(irp);
IoQueueWorkItem(work_item, main_test_task, DelayedWorkQueue, irp);
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From eee60c1777c710cfcb4283922990a306361548ba Mon Sep 17 00:00:00 2001
From 088f9f0bf9b30749221e28d51d88d910ed458d9c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 5 Sep 2016 15:31:29 +0200
Subject: [PATCH] inseng: Implement CIF reader and download functions.
@@ -18,10 +18,11 @@ FIXME: Needs splitting.
create mode 100644 dlls/inseng/inseng_private.h
diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in
index 0217203791a..ba2388c97ed 100644
index f4b1d4b915f..79121e16c94 100644
--- a/dlls/inseng/Makefile.in
+++ b/dlls/inseng/Makefile.in
@@ -1,8 +1,11 @@
@@ -1,9 +1,12 @@
EXTRADEFS = -DWINE_NO_LONG_TYPES
MODULE = inseng.dll
-IMPORTS = uuid ole32 advapi32
+IMPORTS = uuid ole32 advapi32 urlmon shlwapi
@@ -3862,5 +3863,5 @@ index 8a3f4c4d270..82927418a99 100644
+cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
+cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
--
2.33.0
2.34.1

View File

@@ -1,19 +1,19 @@
From e741e408304cd80852ec392fe491f1cde403e283 Mon Sep 17 00:00:00 2001
From dbe39014190d350ed1379569edce909fa29d69d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 26 Feb 2016 04:04:12 +0100
Subject: mmsystem.dll16: Translate MidiIn messages.
Subject: [PATCH] mmsystem.dll16: Translate MidiIn messages.
---
dlls/mmsystem.dll16/message16.c | 128 +++++++++++++++++++++++++++++++++++++++-
dlls/mmsystem.dll16/message16.c | 128 +++++++++++++++++++++++++++++++-
1 file changed, 126 insertions(+), 2 deletions(-)
diff --git a/dlls/mmsystem.dll16/message16.c b/dlls/mmsystem.dll16/message16.c
index 26e47b2..05a1995 100644
index c6a10f57188..08dbce26d88 100644
--- a/dlls/mmsystem.dll16/message16.c
+++ b/dlls/mmsystem.dll16/message16.c
@@ -95,7 +95,78 @@ static void MMSYSTDRV_Mixer_MapCB(DWORD uMsg, DWORD_PTR* dwUser
*/
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (UINT wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2)
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (DWORD wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2)
{
- return MMSYSTEM_MAP_MSGERROR;
+ MMSYSTEM_MapType ret = MMSYSTEM_MAP_MSGERROR;
@@ -91,9 +91,9 @@ index 26e47b2..05a1995 100644
}
/**************************************************************************
@@ -103,7 +174,60 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (UINT wMsg, DWORD_PTR* lpP
@@ -103,7 +174,60 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (DWORD wMsg, DWORD_PTR* lp
*/
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_UnMap16To32W(UINT wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2, MMRESULT fn_ret)
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_UnMap16To32W(DWORD wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2, MMRESULT fn_ret)
{
- return MMSYSTEM_MAP_MSGERROR;
+ MMSYSTEM_MapType ret = MMSYSTEM_MAP_MSGERROR;
@@ -154,5 +154,5 @@ index 26e47b2..05a1995 100644
/**************************************************************************
--
2.7.1
2.34.1

View File

@@ -1,4 +1,4 @@
From f1500a8dcd6e90680d69fb04ff4f01c1ea4f9fae Mon Sep 17 00:00:00 2001
From c1208e9a19cb0d0752c8d76d6a17f8b848ff0728 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 8 Sep 2020 18:43:52 +0200
Subject: [PATCH] msxml3: Implement FreeThreadedXMLHTTP60.
@@ -15,10 +15,11 @@ Update from Gijs Vermeulen <gijsvrm@gmail.com>
7 files changed, 905 insertions(+), 5 deletions(-)
diff --git a/dlls/msxml3/Makefile.in b/dlls/msxml3/Makefile.in
index 2bf789732da..e2d737599b1 100644
index 7e3eccc0139..b14723d60fd 100644
--- a/dlls/msxml3/Makefile.in
+++ b/dlls/msxml3/Makefile.in
@@ -1,5 +1,5 @@
@@ -1,6 +1,6 @@
EXTRADEFS = -DWINE_NO_LONG_TYPES
MODULE = msxml3.dll
-IMPORTS = $(XSLT_PE_LIBS) $(XML2_PE_LIBS) uuid urlmon shlwapi oleaut32 ole32 user32 advapi32
+IMPORTS = $(XSLT_PE_LIBS) $(XML2_PE_LIBS) uuid urlmon shlwapi oleaut32 ole32 user32 advapi32 rtworkq
@@ -577,10 +578,10 @@ index 934d580064f..65232bbc8af 100644
}
+
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index 07ed09fb480..6b45cc63a9e 100644
index 8003c1a9650..59b8c29845d 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -365,6 +365,7 @@ extern HRESULT XMLDocument_create(void**) DECLSPEC_HIDDEN;
@@ -367,6 +367,7 @@ extern HRESULT XMLDocument_create(void**) DECLSPEC_HIDDEN;
extern HRESULT SAXXMLReader_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN;
extern HRESULT SAXAttributes_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN;
extern HRESULT XMLHTTPRequest_create(void **) DECLSPEC_HIDDEN;
@@ -1065,5 +1066,5 @@ index 333d4f3d3c7..1b4f0452c5f 100644
/*
* Note that because of a #define in msxml2.h, we end up initializing
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From e127c088e6f4cfae3066b31adcd73c4eee9008ed Mon Sep 17 00:00:00 2001
From 0cb1d81c14522afe45b1bb5a8194efd2470efe27 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Mon, 25 Nov 2019 12:19:20 +0300
Subject: [PATCH] ntdll: Force virtual memory allocation order.
@@ -12,14 +12,14 @@ are from higher memory than they expect.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48175
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46568
---
dlls/ntdll/unix/virtual.c | 421 ++++++++++++++++++--------------------
1 file changed, 204 insertions(+), 217 deletions(-)
dlls/ntdll/unix/virtual.c | 417 ++++++++++++++++++--------------------
1 file changed, 202 insertions(+), 215 deletions(-)
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index 606e136dfaa..4899fc7b443 100644
index 7654055f59b..e971e0523ba 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -1217,44 +1217,6 @@ static struct file_view *find_view_range( const void *addr, size_t size )
@@ -1202,44 +1202,6 @@ static struct file_view *find_view_range( const void *addr, size_t size )
}
@@ -64,7 +64,7 @@ index 606e136dfaa..4899fc7b443 100644
/***********************************************************************
* try_map_free_area
*
@@ -1287,110 +1249,6 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
@@ -1272,110 +1234,6 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
return NULL;
}
@@ -94,7 +94,7 @@ index 606e136dfaa..4899fc7b443 100644
- start = ROUND_ADDR( (char *)view->base - size, granularity_mask );
- /* stop if remaining space is not large enough */
- if (!start || start >= end || start < base) return NULL;
- first = wine_rb_prev( first );
- first = rb_prev( first );
- }
- }
- else
@@ -110,7 +110,7 @@ index 606e136dfaa..4899fc7b443 100644
- start = ROUND_ADDR( (char *)view->base + view->size + granularity_mask, granularity_mask );
- /* stop if remaining space is not large enough */
- if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
- first = wine_rb_next( first );
- first = rb_next( first );
- }
- }
-
@@ -175,7 +175,7 @@ index 606e136dfaa..4899fc7b443 100644
/***********************************************************************
* add_reserved_area
*
@@ -1548,8 +1406,7 @@ static void delete_view( struct file_view *view ) /* [in] View */
@@ -1533,8 +1391,7 @@ static void delete_view( struct file_view *view ) /* [in] View */
{
if (!(view->protect & VPROT_SYSTEM)) unmap_area( view->base, view->size );
set_page_vprot( view->base, view->size, 0 );
@@ -185,7 +185,7 @@ index 606e136dfaa..4899fc7b443 100644
wine_rb_remove( &views_tree, &view->entry );
*(struct file_view **)view = next_free_view;
next_free_view = view;
@@ -1597,8 +1454,7 @@ static NTSTATUS create_view( struct file_view **view_ret, void *base, size_t siz
@@ -1582,8 +1439,7 @@ static NTSTATUS create_view( struct file_view **view_ret, void *base, size_t siz
set_page_vprot( base, size, vprot );
wine_rb_put( &views_tree, view->base, &view->entry );
@@ -195,7 +195,7 @@ index 606e136dfaa..4899fc7b443 100644
*view_ret = view;
@@ -1812,51 +1668,218 @@ static inline void *unmap_extra_space( void *ptr, size_t total_size, size_t want
@@ -1797,51 +1653,218 @@ static inline void *unmap_extra_space( void *ptr, size_t total_size, size_t want
struct alloc_area
{
@@ -219,15 +219,15 @@ index 606e136dfaa..4899fc7b443 100644
{
- struct alloc_area *alloc = arg;
- void *end = (char *)start + size;
-
- if (start < address_space_start) start = address_space_start;
- if (is_beyond_limit( start, size, alloc->limit )) end = alloc->limit;
- if (start >= end) return 0;
+ char *intersect_start, *intersect_end;
+ char *end = (char *)start + size;
+ struct alloc_area *area = arg;
+ char *alloc_start;
- if (start < address_space_start) start = address_space_start;
- if (is_beyond_limit( start, size, alloc->limit )) end = alloc->limit;
- if (start >= end) return 0;
-
- /* make sure we don't touch the preloader reserved range */
- if (preload_reserve_end >= start)
+ if (area->top_down)
@@ -250,23 +250,19 @@ index 606e136dfaa..4899fc7b443 100644
{
- if (preload_reserve_start <= start) return 0; /* no space in that area */
- if (preload_reserve_start < end) end = preload_reserve_start;
- }
- else if (preload_reserve_start <= start) start = preload_reserve_end;
- else
- {
- /* range is split in two by the preloader reservation, try first part */
- if ((alloc->result = find_reserved_free_area( start, preload_reserve_start, alloc->size,
- alloc->top_down )))
+ alloc_start = ROUND_ADDR( (char *)area->map_area_end - size, granularity_mask );
+ if ((area->result = try_map_free_area( intersect_end, alloc_start + size, area->step,
+ alloc_start, area->size, area->unix_prot )))
return 1;
- /* then fall through to try second part */
- start = preload_reserve_end;
+ return 1;
}
- else if (preload_reserve_start <= start) start = preload_reserve_end;
- else
+
+ if (intersect_end - intersect_start >= area->size)
+ {
{
- /* range is split in two by the preloader reservation, try first part */
- if ((alloc->result = find_reserved_free_area( start, preload_reserve_start, alloc->size,
- alloc->top_down )))
+ alloc_start = ROUND_ADDR( intersect_end - area->size, granularity_mask );
+ if ((area->result = anon_mmap_fixed( alloc_start, area->size,
+ area->unix_prot, 0 )) != alloc_start)
@@ -298,8 +294,10 @@ index 606e136dfaa..4899fc7b443 100644
+ {
+ if ((area->result = try_map_free_area( area->map_area_start, intersect_start, area->step,
+ area->map_area_start, area->size, area->unix_prot )))
+ return 1;
+ }
return 1;
- /* then fall through to try second part */
- start = preload_reserve_end;
}
+
+ if (intersect_end - intersect_start >= area->size)
+ {
@@ -445,7 +443,7 @@ index 606e136dfaa..4899fc7b443 100644
/***********************************************************************
* map_fixed_area
*
@@ -1928,48 +1951,11 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
@@ -1913,48 +1936,11 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
if (status != STATUS_SUCCESS) return status;
ptr = base;
}
@@ -497,7 +495,7 @@ index 606e136dfaa..4899fc7b443 100644
status = create_view( view_ret, ptr, size, vprot );
if (status != STATUS_SUCCESS) unmap_area( ptr, size );
return status;
@@ -2695,6 +2681,7 @@ void virtual_init(void)
@@ -2680,6 +2666,7 @@ void virtual_init(void)
if (preload_reserve_start)
address_space_start = min( address_space_start, preload_reserve_start );
}
@@ -506,5 +504,5 @@ index 606e136dfaa..4899fc7b443 100644
/* try to find space in a reserved area for the views and pages protection table */
--
2.30.2
2.34.1

View File

@@ -184,11 +184,11 @@ index 4899fc7b443..cee739bd942 100644
+ if (prev && (char *)prev->base >= native_mapped_end)
+ {
+ next = prev;
+ prev = WINE_RB_ENTRY_VALUE( wine_rb_prev( &next->entry ), struct file_view, entry );
+ prev = WINE_RB_ENTRY_VALUE( rb_prev( &next->entry ), struct file_view, entry );
+ }
+ else if (prev)
+ {
+ next = WINE_RB_ENTRY_VALUE( wine_rb_next( &prev->entry ), struct file_view, entry );
+ next = WINE_RB_ENTRY_VALUE( rb_next( &prev->entry ), struct file_view, entry );
+ }
+ else
+ {

View File

@@ -1,4 +1,4 @@
From 8250683de1ca5e4c1c975e6365f7a817b33461b4 Mon Sep 17 00:00:00 2001
From 62e3109b6bd1b3324827063531ae0826571c751b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 00:50:50 +0100
Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
@@ -9,10 +9,11 @@ Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
2 files changed, 81 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
index ed15c51339f..e4ae568532e 100644
index 7e0272498fa..a2c716d11d4 100644
--- a/dlls/ntdll/tests/Makefile.in
+++ b/dlls/ntdll/tests/Makefile.in
@@ -1,5 +1,5 @@
@@ -1,6 +1,6 @@
EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = ntdll.dll
-IMPORTS = user32 advapi32
+IMPORTS = user32 ole32 advapi32
@@ -20,7 +21,7 @@ index ed15c51339f..e4ae568532e 100644
C_SRCS = \
atom.c \
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 897be4fcd12..e7fef1a79ad 100644
index c0168884a0a..c25a9185fad 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -27,6 +27,9 @@
@@ -53,7 +54,7 @@ index 897be4fcd12..e7fef1a79ad 100644
pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification");
pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification");
}
@@ -3664,6 +3673,76 @@ static void test_RtlDestroyHeap(void)
@@ -3682,6 +3691,76 @@ static void test_RtlDestroyHeap(void)
RtlRemoveVectoredExceptionHandler( handler );
}
@@ -130,7 +131,7 @@ index 897be4fcd12..e7fef1a79ad 100644
START_TEST(rtl)
{
InitFunctionPtrs();
@@ -3702,6 +3781,7 @@ START_TEST(rtl)
@@ -3721,6 +3800,7 @@ START_TEST(rtl)
test_RtlInitializeCriticalSectionEx();
test_RtlLeaveCriticalSection();
test_LdrEnumerateLoadedModules();
@@ -139,5 +140,5 @@ index 897be4fcd12..e7fef1a79ad 100644
test_LdrRegisterDllNotification();
test_DbgPrint();
--
2.29.2
2.34.1

View File

@@ -1,4 +1,4 @@
From 2a1f587297f97e8c8f3d1327f2dfd3f5f1fd2300 Mon Sep 17 00:00:00 2001
From 0b292f9ebd14638de48420184e065ce7ec9c4126 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sat, 22 May 2021 18:05:40 -0500
Subject: [PATCH] d3d11: Introduce a COM interface to retrieve the
@@ -11,18 +11,18 @@ Subject: [PATCH] d3d11: Introduce a COM interface to retrieve the
3 files changed, 112 insertions(+)
diff --git a/dlls/d3d11/d3d11_private.h b/dlls/d3d11/d3d11_private.h
index f4c66ca4ce9..8dc8ecc88db 100644
index efe26551258..6079a8ad2db 100644
--- a/dlls/d3d11/d3d11_private.h
+++ b/dlls/d3d11/d3d11_private.h
@@ -545,6 +545,7 @@ struct d3d11_device_context
{
@@ -546,6 +546,7 @@ struct d3d11_device_context
ID3D11DeviceContext1 ID3D11DeviceContext1_iface;
ID3D11Multithread ID3D11Multithread_iface;
ID3DUserDefinedAnnotation ID3DUserDefinedAnnotation_iface;
+ IWineD3DDeviceContext IWineD3DDeviceContext_iface;
LONG refcount;
D3D11_DEVICE_CONTEXT_TYPE type;
@@ -561,6 +562,7 @@ struct d3d_device
@@ -562,6 +563,7 @@ struct d3d_device
ID3D11Device2 ID3D11Device2_iface;
ID3D10Device1 ID3D10Device1_iface;
ID3D10Multithread ID3D10Multithread_iface;
@@ -31,10 +31,10 @@ index f4c66ca4ce9..8dc8ecc88db 100644
IUnknown *outer_unk;
LONG refcount;
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index b5b97c83aba..626e9d47e81 100644
index f0cbb1741ab..82419b2a5bc 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -3223,11 +3223,67 @@ static const struct ID3D11MultithreadVtbl d3d11_multithread_vtbl =
@@ -3191,6 +3191,61 @@ static const struct ID3D11MultithreadVtbl d3d11_multithread_vtbl =
d3d11_multithread_GetMultithreadProtected,
};
@@ -93,16 +93,18 @@ index b5b97c83aba..626e9d47e81 100644
+ context_d3d_device_context_get_wined3d_device_context,
+};
+
static void d3d11_device_context_init(struct d3d11_device_context *context, struct d3d_device *device,
D3D11_DEVICE_CONTEXT_TYPE type)
{
/* ID3DUserDefinedAnnotation methods */
static inline struct d3d11_device_context *impl_from_ID3DUserDefinedAnnotation(ID3DUserDefinedAnnotation *iface)
@@ -3271,6 +3326,7 @@ static void d3d11_device_context_init(struct d3d11_device_context *context, stru
context->ID3D11DeviceContext1_iface.lpVtbl = &d3d11_device_context_vtbl;
context->ID3D11Multithread_iface.lpVtbl = &d3d11_multithread_vtbl;
context->ID3DUserDefinedAnnotation_iface.lpVtbl = &d3d11_user_defined_annotation_vtbl;
+ context->IWineD3DDeviceContext_iface.lpVtbl = &context_d3d_device_context_vtbl;
context->refcount = 1;
context->type = type;
@@ -6631,6 +6687,49 @@ static const struct ID3D10MultithreadVtbl d3d10_multithread_vtbl =
@@ -6695,6 +6751,49 @@ static const struct ID3D10MultithreadVtbl d3d10_multithread_vtbl =
d3d10_multithread_GetMultithreadProtected,
};
@@ -152,7 +154,7 @@ index b5b97c83aba..626e9d47e81 100644
/* IWineDXGIDeviceParent IUnknown methods */
static inline struct d3d_device *device_from_dxgi_device_parent(IWineDXGIDeviceParent *iface)
@@ -6834,6 +6933,7 @@ void d3d_device_init(struct d3d_device *device, void *outer_unknown)
@@ -6898,6 +6997,7 @@ void d3d_device_init(struct d3d_device *device, void *outer_unknown)
device->ID3D11Device2_iface.lpVtbl = &d3d11_device_vtbl;
device->ID3D10Device1_iface.lpVtbl = &d3d10_device1_vtbl;
device->ID3D10Multithread_iface.lpVtbl = &d3d10_multithread_vtbl;
@@ -179,5 +181,5 @@ index 83012047ea7..3c910376cc7 100644
+ struct wined3d_device_context *get_wined3d_device_context();
+}
--
2.30.2
2.34.1

View File

@@ -0,0 +1,439 @@
From 30abce599e93165e426c74dd232159e030adfe28 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 5 Jan 2022 16:51:55 +1100
Subject: [PATCH] nvcuda: Update spec file
---
dlls/nvcuda/nvcuda.spec | 224 +++++++++++++++++++++++++++-------------
1 file changed, 150 insertions(+), 74 deletions(-)
diff --git a/dlls/nvcuda/nvcuda.spec b/dlls/nvcuda/nvcuda.spec
index 70bcc6db833..891920b8699 100644
--- a/dlls/nvcuda/nvcuda.spec
+++ b/dlls/nvcuda/nvcuda.spec
@@ -19,6 +19,7 @@
@ stdcall cuCtxGetCacheConfig(ptr) wine_cuCtxGetCacheConfig
@ stdcall cuCtxGetCurrent(ptr) wine_cuCtxGetCurrent
@ stdcall cuCtxGetDevice(ptr) wine_cuCtxGetDevice
+@ stdcall cuCtxGetFlags(ptr) wine_cuCtxGetFlags
@ stdcall cuCtxGetLimit(ptr long) wine_cuCtxGetLimit
@ stdcall cuCtxGetSharedMemConfig(ptr) wine_cuCtxGetSharedMemConfig
@ stdcall cuCtxGetStreamPriorityRange(ptr ptr) wine_cuCtxGetStreamPriorityRange
@@ -84,15 +85,25 @@
@ stub cuD3D9UnmapVertexBuffer
@ stub cuD3D9UnregisterResource
@ stub cuD3D9UnregisterVertexBuffer
+@ stub cuDestroyExternalMemory
+@ stub cuDestroyExternalSemaphore
@ stdcall cuDeviceCanAccessPeer(ptr long long) wine_cuDeviceCanAccessPeer
@ stdcall cuDeviceComputeCapability(ptr ptr long) wine_cuDeviceComputeCapability
@ stdcall cuDeviceGet(ptr long) wine_cuDeviceGet
@ stdcall cuDeviceGetAttribute(ptr long long) wine_cuDeviceGetAttribute
@ stdcall cuDeviceGetByPCIBusId(ptr str) wine_cuDeviceGetByPCIBusId
@ stdcall cuDeviceGetCount(ptr) wine_cuDeviceGetCount
+@ stub cuDeviceGetLuid
@ stdcall cuDeviceGetName(ptr long long) wine_cuDeviceGetName
+@ stub cuDeviceGetP2PAttribute
@ stdcall cuDeviceGetPCIBusId(ptr long long) wine_cuDeviceGetPCIBusId
@ stdcall cuDeviceGetProperties(ptr long) wine_cuDeviceGetProperties
+@ stub cuDeviceGetUuid
+@ stdcall cuDevicePrimaryCtxGetState(long ptr ptr) wine_cuDevicePrimaryCtxGetState
+@ stdcall cuDevicePrimaryCtxRelease(long) wine_cuDevicePrimaryCtxRelease
+@ stdcall cuDevicePrimaryCtxReset(long) wine_cuDevicePrimaryCtxReset
+@ stdcall cuDevicePrimaryCtxRetain(ptr long) wine_cuDevicePrimaryCtxRetain
+@ stdcall cuDevicePrimaryCtxSetFlags(long long) wine_cuDevicePrimaryCtxSetFlags
@ stdcall cuDeviceTotalMem(ptr long) wine_cuDeviceTotalMem
@ stdcall cuDeviceTotalMem_v2(ptr long) wine_cuDeviceTotalMem_v2
@ stdcall cuDriverGetVersion(ptr) wine_cuDriverGetVersion
@@ -102,8 +113,12 @@
@ stdcall cuEventElapsedTime(ptr ptr ptr) wine_cuEventElapsedTime
@ stdcall cuEventQuery(ptr) wine_cuEventQuery
@ stdcall cuEventRecord(ptr ptr) wine_cuEventRecord
+@ stdcall cuEventRecord_ptsz(ptr ptr) wine_cuEventRecord_ptsz
@ stdcall cuEventSynchronize(ptr) wine_cuEventSynchronize
+@ stub cuExternalMemoryGetMappedBuffer
+@ stub cuExternalMemoryGetMappedMipmappedArray
@ stdcall cuFuncGetAttribute(ptr long ptr) wine_cuFuncGetAttribute
+@ stub cuFuncSetAttribute
@ stdcall cuFuncSetBlockShape(ptr long long long) wine_cuFuncSetBlockShape
@ stdcall cuFuncSetCacheConfig(ptr long) wine_cuFuncSetCacheConfig
@ stdcall cuFuncSetSharedMemConfig(ptr long) wine_cuFuncSetSharedMemConfig
@@ -111,11 +126,14 @@
@ stdcall cuGLCtxCreate(ptr long long) wine_cuGLCtxCreate
@ stdcall cuGLCtxCreate_v2(ptr long long) wine_cuGLCtxCreate_v2
@ stdcall cuGLGetDevices(ptr ptr long long) wine_cuGLGetDevices
+@ stdcall cuGLGetDevices_v2(ptr ptr long long) wine_cuGLGetDevices_v2
@ stdcall cuGLInit() wine_cuGLInit
@ stdcall cuGLMapBufferObject(ptr ptr long) wine_cuGLMapBufferObject
@ stdcall cuGLMapBufferObjectAsync(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync
@ stdcall cuGLMapBufferObjectAsync_v2(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2
+@ stdcall cuGLMapBufferObjectAsync_v2_ptsz(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2_ptsz
@ stdcall cuGLMapBufferObject_v2(ptr ptr long) wine_cuGLMapBufferObject_v2
+@ stdcall cuGLMapBufferObject_v2_ptds(ptr ptr long) wine_cuGLMapBufferObject_v2_ptds
@ stdcall cuGLRegisterBufferObject(long) wine_cuGLRegisterBufferObject
@ stdcall cuGLSetBufferObjectMapFlags(long long) wine_cuGLSetBufferObjectMapFlags
@ stdcall cuGLUnmapBufferObject(long) wine_cuGLUnmapBufferObject
@@ -124,19 +142,57 @@
@ stdcall cuGetErrorName(long ptr) wine_cuGetErrorName
@ stdcall cuGetErrorString(long ptr) wine_cuGetErrorString
@ stdcall cuGetExportTable(ptr ptr) wine_cuGetExportTable
+@ stub cuGraphAddChildGraphNode
+@ stub cuGraphAddDependencies
+@ stub cuGraphAddEmptyNode
+@ stub cuGraphAddHostNode
+@ stub cuGraphAddKernelNode
+@ stub cuGraphAddMemcpyNode
+@ stub cuGraphAddMemsetNode
+@ stub cuGraphChildGraphNodeGetGraph
+@ stub cuGraphClone
+@ stub cuGraphCreate
+@ stub cuGraphDestroy
+@ stub cuGraphDestroyNode
+@ stub cuGraphExecDestroy
+@ stub cuGraphExecKernelNodeSetParams
+@ stub cuGraphGetEdges
+@ stub cuGraphGetNodes
+@ stub cuGraphGetRootNodes
+@ stub cuGraphHostNodeGetParams
+@ stub cuGraphHostNodeSetParams
+@ stub cuGraphInstantiate
+@ stub cuGraphKernelNodeGetParams
+@ stub cuGraphKernelNodeSetParams
+@ stub cuGraphLaunch
+@ stub cuGraphLaunch_ptsz
+@ stub cuGraphMemcpyNodeGetParams
+@ stub cuGraphMemcpyNodeSetParams
+@ stub cuGraphMemsetNodeGetParams
+@ stub cuGraphMemsetNodeSetParams
+@ stub cuGraphNodeFindInClone
+@ stub cuGraphNodeGetDependencies
+@ stub cuGraphNodeGetDependentNodes
+@ stub cuGraphNodeGetType
+@ stub cuGraphRemoveDependencies
@ stub cuGraphicsD3D10RegisterResource
@ stdcall cuGraphicsD3D11RegisterResource(ptr ptr long) wine_cuGraphicsD3D11RegisterResource
@ stub cuGraphicsD3D9RegisterResource
@ stdcall cuGraphicsGLRegisterBuffer(ptr long long) wine_cuGraphicsGLRegisterBuffer
@ stdcall cuGraphicsGLRegisterImage(ptr long long long) wine_cuGraphicsGLRegisterImage
@ stdcall cuGraphicsMapResources(long ptr ptr) wine_cuGraphicsMapResources
+@ stdcall cuGraphicsMapResources_ptsz(long ptr ptr) wine_cuGraphicsMapResources_ptsz
@ stdcall cuGraphicsResourceGetMappedMipmappedArray(ptr ptr) wine_cuGraphicsResourceGetMappedMipmappedArray
@ stdcall cuGraphicsResourceGetMappedPointer(ptr ptr ptr) wine_cuGraphicsResourceGetMappedPointer
@ stdcall cuGraphicsResourceGetMappedPointer_v2(ptr ptr ptr) wine_cuGraphicsResourceGetMappedPointer_v2
@ stdcall cuGraphicsResourceSetMapFlags(ptr long) wine_cuGraphicsResourceSetMapFlags
+@ stdcall cuGraphicsResourceSetMapFlags_v2(ptr long) wine_cuGraphicsResourceSetMapFlags_v2
@ stdcall cuGraphicsSubResourceGetMappedArray(ptr ptr long long) wine_cuGraphicsSubResourceGetMappedArray
@ stdcall cuGraphicsUnmapResources(long ptr ptr) wine_cuGraphicsUnmapResources
+@ stdcall cuGraphicsUnmapResources_ptsz(long ptr ptr) wine_cuGraphicsUnmapResources_ptsz
@ stdcall cuGraphicsUnregisterResource(ptr) wine_cuGraphicsUnregisterResource
+@ stub cuImportExternalMemory
+@ stub cuImportExternalSemaphore
@ stdcall cuInit(long) wine_cuInit
@ stdcall cuIpcCloseMemHandle(long) wine_cuIpcCloseMemHandle
@ stdcall cuIpcGetEventHandle(ptr ptr) wine_cuIpcGetEventHandle
@@ -144,14 +200,24 @@
@ stdcall cuIpcOpenEventHandle(ptr ptr) wine_cuIpcOpenEventHandle
@ stdcall cuIpcOpenMemHandle(ptr ptr long) wine_cuIpcOpenMemHandle
@ stdcall cuLaunch(ptr) wine_cuLaunch
+@ stub cuLaunchCooperativeKernel
+@ stub cuLaunchCooperativeKernelMultiDevice
+@ stub cuLaunchCooperativeKernel_ptsz
@ stdcall cuLaunchGrid(ptr long long) wine_cuLaunchGrid
@ stdcall cuLaunchGridAsync(ptr long long ptr) wine_cuLaunchGridAsync
+@ stub cuLaunchHostFunc
+@ stub cuLaunchHostFunc_ptsz
@ stdcall cuLaunchKernel(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel
+@ stdcall cuLaunchKernel_ptsz(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel_ptsz
@ stdcall cuLinkAddData(ptr long ptr long str long ptr ptr) wine_cuLinkAddData
+@ stdcall cuLinkAddData_v2(ptr long ptr long str long ptr ptr) wine_cuLinkAddData_v2
@ stub cuLinkAddFile
+@ stub cuLinkAddFile_v2
@ stdcall cuLinkComplete(ptr ptr ptr) wine_cuLinkComplete
@ stdcall cuLinkCreate(long ptr ptr ptr) wine_cuLinkCreate
+@ stdcall cuLinkCreate_v2(long ptr ptr ptr) wine_cuLinkCreate_v2
@ stdcall cuLinkDestroy(ptr) wine_cuLinkDestroy
+@ stub cuMemAdvise
@ stdcall cuMemAlloc(ptr long) wine_cuMemAlloc
@ stdcall cuMemAllocHost(ptr long) wine_cuMemAllocHost
@ stdcall cuMemAllocHost_v2(ptr long) wine_cuMemAllocHost_v2
@@ -171,67 +237,108 @@
@ stdcall cuMemHostGetDevicePointer_v2(ptr ptr long) wine_cuMemHostGetDevicePointer_v2
@ stdcall cuMemHostGetFlags(ptr ptr) wine_cuMemHostGetFlags
@ stdcall cuMemHostRegister(ptr long long) wine_cuMemHostRegister
+@ stdcall cuMemHostRegister_v2(ptr long long) wine_cuMemHostRegister_v2
@ stdcall cuMemHostUnregister(ptr) wine_cuMemHostUnregister
+@ stub cuMemPrefetchAsync
+@ stub cuMemPrefetchAsync_ptsz
+@ stub cuMemRangeGetAttribute
+@ stub cuMemRangeGetAttributes
+@ stdcall cuMemcpy(long long long) wine_cuMemcpy
@ stdcall cuMemcpy2D(ptr) wine_cuMemcpy2D
@ stdcall cuMemcpy2DAsync(ptr ptr) wine_cuMemcpy2DAsync
@ stdcall cuMemcpy2DAsync_v2(ptr ptr) wine_cuMemcpy2DAsync_v2
+@ stdcall cuMemcpy2DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy2DAsync_v2_ptsz
@ stdcall cuMemcpy2DUnaligned(ptr) wine_cuMemcpy2DUnaligned
@ stdcall cuMemcpy2DUnaligned_v2(ptr) wine_cuMemcpy2DUnaligned_v2
+@ stdcall cuMemcpy2DUnaligned_v2_ptds(ptr) wine_cuMemcpy2DUnaligned_v2_ptds
@ stdcall cuMemcpy2D_v2(ptr) wine_cuMemcpy2D_v2
+@ stdcall cuMemcpy2D_v2_ptds(ptr) wine_cuMemcpy2D_v2_ptds
@ stdcall cuMemcpy3D(ptr) wine_cuMemcpy3D
@ stdcall cuMemcpy3DAsync(ptr ptr) wine_cuMemcpy3DAsync
@ stdcall cuMemcpy3DAsync_v2(ptr ptr) wine_cuMemcpy3DAsync_v2
+@ stdcall cuMemcpy3DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy3DAsync_v2_ptsz
@ stdcall cuMemcpy3DPeer(ptr) wine_cuMemcpy3DPeer
@ stdcall cuMemcpy3DPeerAsync(ptr ptr) wine_cuMemcpy3DPeerAsync
+@ stdcall cuMemcpy3DPeerAsync_ptsz(ptr ptr) wine_cuMemcpy3DPeerAsync_ptsz
+@ stdcall cuMemcpy3DPeer_ptds(ptr) wine_cuMemcpy3DPeer_ptds
@ stdcall cuMemcpy3D_v2(ptr) wine_cuMemcpy3D_v2
-@ stdcall cuMemcpy(long long long) wine_cuMemcpy
+@ stdcall cuMemcpy3D_v2_ptds(ptr) wine_cuMemcpy3D_v2_ptds
@ stdcall cuMemcpyAsync(long long long ptr) wine_cuMemcpyAsync
+@ stdcall cuMemcpyAsync_ptsz(long long long ptr) wine_cuMemcpyAsync_ptsz
@ stdcall cuMemcpyAtoA(ptr long ptr long long) wine_cuMemcpyAtoA
@ stdcall cuMemcpyAtoA_v2(ptr long ptr long long) wine_cuMemcpyAtoA_v2
+@ stdcall cuMemcpyAtoA_v2_ptds(ptr long ptr long long) wine_cuMemcpyAtoA_v2_ptds
@ stdcall cuMemcpyAtoD(long ptr long long) wine_cuMemcpyAtoD
@ stdcall cuMemcpyAtoD_v2(long ptr long long) wine_cuMemcpyAtoD_v2
+@ stdcall cuMemcpyAtoD_v2_ptds(long ptr long long) wine_cuMemcpyAtoD_v2_ptds
@ stdcall cuMemcpyAtoH(ptr ptr long long) wine_cuMemcpyAtoH
@ stdcall cuMemcpyAtoHAsync(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync
@ stdcall cuMemcpyAtoHAsync_v2(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2
+@ stdcall cuMemcpyAtoHAsync_v2_ptsz(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2_ptsz
@ stdcall cuMemcpyAtoH_v2(ptr ptr long long) wine_cuMemcpyAtoH_v2
+@ stdcall cuMemcpyAtoH_v2_ptds(ptr ptr long long) wine_cuMemcpyAtoH_v2_ptds
@ stdcall cuMemcpyDtoA(ptr long long long) wine_cuMemcpyDtoA
@ stdcall cuMemcpyDtoA_v2(ptr long long long) wine_cuMemcpyDtoA_v2
+@ stdcall cuMemcpyDtoA_v2_ptds(ptr long long long) wine_cuMemcpyDtoA_v2_ptds
@ stdcall cuMemcpyDtoD(long long long) wine_cuMemcpyDtoD
@ stdcall cuMemcpyDtoDAsync(long long long ptr) wine_cuMemcpyDtoDAsync
@ stdcall cuMemcpyDtoDAsync_v2(long long long ptr) wine_cuMemcpyDtoDAsync_v2
+@ stdcall cuMemcpyDtoDAsync_v2_ptsz(long long long ptr) wine_cuMemcpyDtoDAsync_v2_ptsz
@ stdcall cuMemcpyDtoD_v2(long long long) wine_cuMemcpyDtoD_v2
+@ stdcall cuMemcpyDtoD_v2_ptds(long long long) wine_cuMemcpyDtoD_v2_ptds
@ stdcall cuMemcpyDtoH(ptr long long) wine_cuMemcpyDtoH
@ stdcall cuMemcpyDtoHAsync(ptr long long ptr) wine_cuMemcpyDtoHAsync
@ stdcall cuMemcpyDtoHAsync_v2(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2
+@ stdcall cuMemcpyDtoHAsync_v2_ptsz(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2_ptsz
@ stdcall cuMemcpyDtoH_v2(ptr long long) wine_cuMemcpyDtoH_v2
+@ stdcall cuMemcpyDtoH_v2_ptds(ptr long long) wine_cuMemcpyDtoH_v2_ptds
@ stdcall cuMemcpyHtoA(ptr long ptr long) wine_cuMemcpyHtoA
@ stdcall cuMemcpyHtoAAsync(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync
@ stdcall cuMemcpyHtoAAsync_v2(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2
+@ stdcall cuMemcpyHtoAAsync_v2_ptsz(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2_ptsz
@ stdcall cuMemcpyHtoA_v2(ptr long ptr long) wine_cuMemcpyHtoA_v2
+@ stdcall cuMemcpyHtoA_v2_ptds(ptr long ptr long) wine_cuMemcpyHtoA_v2_ptds
@ stdcall cuMemcpyHtoD(long ptr long) wine_cuMemcpyHtoD
@ stdcall cuMemcpyHtoDAsync(long ptr long ptr) wine_cuMemcpyHtoDAsync
@ stdcall cuMemcpyHtoDAsync_v2(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2
+@ stdcall cuMemcpyHtoDAsync_v2_ptsz(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2_ptsz
@ stdcall cuMemcpyHtoD_v2(long ptr long) wine_cuMemcpyHtoD_v2
+@ stdcall cuMemcpyHtoD_v2_ptds(long ptr long) wine_cuMemcpyHtoD_v2_ptds
@ stdcall cuMemcpyPeer(long ptr long ptr long) wine_cuMemcpyPeer
@ stdcall cuMemcpyPeerAsync(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync
+@ stdcall cuMemcpyPeerAsync_ptsz(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync_ptsz
+@ stdcall cuMemcpyPeer_ptds(long ptr long ptr long) wine_cuMemcpyPeer_ptds
+@ stdcall cuMemcpy_ptds(long long long) wine_cuMemcpy_ptds
@ stdcall cuMemsetD16(long long long) wine_cuMemsetD16
@ stdcall cuMemsetD16Async(long long long ptr) wine_cuMemsetD16Async
+@ stdcall cuMemsetD16Async_ptsz(long long long ptr) wine_cuMemsetD16Async_ptsz
@ stdcall cuMemsetD16_v2(long long long) wine_cuMemsetD16_v2
+@ stdcall cuMemsetD16_v2_ptds(long long long) wine_cuMemsetD16_v2_ptds
@ stdcall cuMemsetD2D16(long long long long long) wine_cuMemsetD2D16
@ stdcall cuMemsetD2D16Async(long long long long long ptr) wine_cuMemsetD2D16Async
+@ stdcall cuMemsetD2D16Async_ptsz(long long long long long ptr) wine_cuMemsetD2D16Async_ptsz
@ stdcall cuMemsetD2D16_v2(long long long long long) wine_cuMemsetD2D16_v2
+@ stdcall cuMemsetD2D16_v2_ptds(long long long long long) wine_cuMemsetD2D16_v2_ptds
@ stdcall cuMemsetD2D32(long long long long long) wine_cuMemsetD2D32
@ stdcall cuMemsetD2D32Async(long long long long long ptr) wine_cuMemsetD2D32Async
+@ stdcall cuMemsetD2D32Async_ptsz(long long long long long ptr) wine_cuMemsetD2D32Async_ptsz
@ stdcall cuMemsetD2D32_v2(long long long long long) wine_cuMemsetD2D32_v2
+@ stdcall cuMemsetD2D32_v2_ptds(long long long long long) wine_cuMemsetD2D32_v2_ptds
@ stdcall cuMemsetD2D8(long long long long long) wine_cuMemsetD2D8
@ stdcall cuMemsetD2D8Async(long long long long long ptr) wine_cuMemsetD2D8Async
+@ stdcall cuMemsetD2D8Async_ptsz(long long long long long ptr) wine_cuMemsetD2D8Async_ptsz
@ stdcall cuMemsetD2D8_v2(long long long long long) wine_cuMemsetD2D8_v2
+@ stdcall cuMemsetD2D8_v2_ptds(long long long long long) wine_cuMemsetD2D8_v2_ptds
@ stdcall cuMemsetD32(long long long) wine_cuMemsetD32
@ stdcall cuMemsetD32Async(long long long ptr) wine_cuMemsetD32Async
+@ stdcall cuMemsetD32Async_ptsz(long long long ptr) wine_cuMemsetD32Async_ptsz
@ stdcall cuMemsetD32_v2(long long long) wine_cuMemsetD32_v2
+@ stdcall cuMemsetD32_v2_ptds(long long long) wine_cuMemsetD32_v2_ptds
@ stdcall cuMemsetD8(long long long) wine_cuMemsetD8
@ stdcall cuMemsetD8Async(long long long ptr) wine_cuMemsetD8Async
+@ stdcall cuMemsetD8Async_ptsz(long long long ptr) wine_cuMemsetD8Async_ptsz
@ stdcall cuMemsetD8_v2(long long long) wine_cuMemsetD8_v2
+@ stdcall cuMemsetD8_v2_ptds(long long long) wine_cuMemsetD8_v2_ptds
@ stdcall cuMipmappedArrayCreate(ptr ptr long) wine_cuMipmappedArrayCreate
@ stdcall cuMipmappedArrayDestroy(ptr) wine_cuMipmappedArrayDestroy
@ stdcall cuMipmappedArrayGetLevel(ptr ptr long) wine_cuMipmappedArrayGetLevel
@@ -245,27 +352,63 @@
@ stdcall cuModuleLoadDataEx(ptr ptr long ptr ptr) wine_cuModuleLoadDataEx
@ stdcall cuModuleLoadFatBinary(ptr ptr) wine_cuModuleLoadFatBinary
@ stdcall cuModuleUnload(ptr) wine_cuModuleUnload
+@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessor(ptr ptr long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessor
+@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(ptr ptr long long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
+#@ stdcall cuOccupancyMaxPotentialBlockSize(ptr ptr ptr ptr long long) wine_cuOccupancyMaxPotentialBlockSize
+#@ stdcall cuOccupancyMaxPotentialBlockSizeWithFlags(ptr ptr ptr ptr long long long) wine_cuOccupancyMaxPotentialBlockSizeWithFlags
@ stdcall cuParamSetSize(ptr long) wine_cuParamSetSize
@ stdcall cuParamSetTexRef(ptr long ptr) wine_cuParamSetTexRef
@ stdcall cuParamSetf(ptr long float) wine_cuParamSetf
@ stdcall cuParamSeti(ptr long long) wine_cuParamSeti
@ stdcall cuParamSetv(ptr long ptr long) wine_cuParamSetv
@ stdcall cuPointerGetAttribute(ptr long long) wine_cuPointerGetAttribute
+@ stdcall cuPointerGetAttributes(long ptr ptr long) wine_cuPointerGetAttributes
@ stdcall cuPointerSetAttribute(ptr long long) wine_cuPointerSetAttribute
@ stub cuProfilerInitialize
@ stub cuProfilerStart
@ stub cuProfilerStop
+@ stub cuSignalExternalSemaphoresAsync
+@ stub cuSignalExternalSemaphoresAsync_ptsz
@ stdcall cuStreamAddCallback(ptr ptr ptr long) wine_cuStreamAddCallback
+@ stdcall cuStreamAddCallback_ptsz(ptr ptr ptr long) wine_cuStreamAddCallback_ptsz
@ stdcall cuStreamAttachMemAsync(ptr long long long) wine_cuStreamAttachMemAsync
+@ stdcall cuStreamAttachMemAsync_ptsz(ptr long long long) wine_cuStreamAttachMemAsync_ptsz
+@ stub cuStreamBatchMemOp
+@ stub cuStreamBatchMemOp_ptsz
+@ stub cuStreamBeginCapture
+@ stub cuStreamBeginCapture_ptsz
+@ stub cuStreamBeginCapture_v2
+@ stub cuStreamBeginCapture_v2_ptsz
@ stdcall cuStreamCreate(ptr long) wine_cuStreamCreate
@ stdcall cuStreamCreateWithPriority(ptr long long) wine_cuStreamCreateWithPriority
@ stdcall cuStreamDestroy(ptr) wine_cuStreamDestroy
@ stdcall cuStreamDestroy_v2(ptr) wine_cuStreamDestroy
+@ stub cuStreamEndCapture
+@ stub cuStreamEndCapture_ptsz
+@ stub cuStreamGetCaptureInfo
+@ stub cuStreamGetCaptureInfo_ptsz
+@ stub cuStreamGetCtx
+@ stub cuStreamGetCtx_ptsz
@ stdcall cuStreamGetFlags(ptr ptr) wine_cuStreamGetFlags
+@ stdcall cuStreamGetFlags_ptsz(ptr ptr) wine_cuStreamGetFlags_ptsz
@ stdcall cuStreamGetPriority(ptr ptr) wine_cuStreamGetPriority
+@ stdcall cuStreamGetPriority_ptsz(ptr ptr) wine_cuStreamGetPriority_ptsz
+@ stub cuStreamIsCapturing
+@ stub cuStreamIsCapturing_ptsz
@ stdcall cuStreamQuery(ptr) wine_cuStreamQuery
+@ stdcall cuStreamQuery_ptsz(ptr) wine_cuStreamQuery_ptsz
@ stdcall cuStreamSynchronize(ptr) wine_cuStreamSynchronize
+@ stdcall cuStreamSynchronize_ptsz(ptr) wine_cuStreamSynchronize_ptsz
@ stdcall cuStreamWaitEvent(ptr ptr long) wine_cuStreamWaitEvent
+@ stdcall cuStreamWaitEvent_ptsz(ptr ptr long) wine_cuStreamWaitEvent_ptsz
+@ stub cuStreamWaitValue32
+@ stub cuStreamWaitValue32_ptsz
+@ stub cuStreamWaitValue64
+@ stub cuStreamWaitValue64_ptsz
+@ stub cuStreamWriteValue32
+@ stub cuStreamWriteValue32_ptsz
+@ stub cuStreamWriteValue64
+@ stub cuStreamWriteValue64_ptsz
@ stdcall cuSurfObjectCreate(ptr ptr) wine_cuSurfObjectCreate
@ stdcall cuSurfObjectDestroy(int64) wine_cuSurfObjectDestroy
@ stdcall cuSurfObjectGetResourceDesc(ptr int64) wine_cuSurfObjectGetResourceDesc
@@ -282,6 +425,7 @@
@ stdcall cuTexRefGetAddressMode(ptr ptr long) wine_cuTexRefGetAddressMode
@ stdcall cuTexRefGetAddress_v2(ptr ptr) wine_cuTexRefGetAddress_v2
@ stdcall cuTexRefGetArray(ptr ptr) wine_cuTexRefGetArray
+@ stub cuTexRefGetBorderColor
@ stdcall cuTexRefGetFilterMode(ptr ptr) wine_cuTexRefGetFilterMode
@ stdcall cuTexRefGetFlags(ptr ptr) wine_cuTexRefGetFlags
@ stdcall cuTexRefGetFormat(ptr ptr ptr) wine_cuTexRefGetFormat
@@ -290,13 +434,14 @@
@ stdcall cuTexRefGetMipmapLevelBias(ptr ptr) wine_cuTexRefGetMipmapLevelBias
@ stdcall cuTexRefGetMipmapLevelClamp(ptr ptr ptr) wine_cuTexRefGetMipmapLevelClamp
@ stdcall cuTexRefGetMipmappedArray(ptr ptr) wine_cuTexRefGetMipmappedArray
+@ stdcall cuTexRefSetAddress(ptr ptr long long) wine_cuTexRefSetAddress
@ stdcall cuTexRefSetAddress2D(ptr ptr long long) wine_cuTexRefSetAddress2D
@ stdcall cuTexRefSetAddress2D_v2(ptr ptr long long) wine_cuTexRefSetAddress2D_v2
@ stdcall cuTexRefSetAddress2D_v3(ptr ptr long long) wine_cuTexRefSetAddress2D_v3
-@ stdcall cuTexRefSetAddress(ptr ptr long long) wine_cuTexRefSetAddress
@ stdcall cuTexRefSetAddressMode(ptr long long) wine_cuTexRefSetAddressMode
@ stdcall cuTexRefSetAddress_v2(ptr ptr long long) wine_cuTexRefSetAddress_v2
@ stdcall cuTexRefSetArray(ptr ptr long) wine_cuTexRefSetArray
+@ stub cuTexRefSetBorderColor
@ stdcall cuTexRefSetFilterMode(ptr long) wine_cuTexRefSetFilterMode
@ stdcall cuTexRefSetFlags(ptr long) wine_cuTexRefSetFlags
@ stdcall cuTexRefSetFormat(ptr long long) wine_cuTexRefSetFormat
@@ -305,76 +450,7 @@
@ stdcall cuTexRefSetMipmapLevelBias(ptr float) wine_cuTexRefSetMipmapLevelBias
@ stdcall cuTexRefSetMipmapLevelClamp(ptr float float) wine_cuTexRefSetMipmapLevelClamp
@ stdcall cuTexRefSetMipmappedArray(ptr ptr long) wine_cuTexRefSetMipmappedArray
+@ stub cuThreadExchangeStreamCaptureMode
@ stub cuWGLGetDevice
-
-# CUDA 6.5
-@ stdcall cuGLGetDevices_v2(ptr ptr long long) wine_cuGLGetDevices_v2
-@ stdcall cuGraphicsResourceSetMapFlags_v2(ptr long) wine_cuGraphicsResourceSetMapFlags_v2
-@ stdcall cuLinkAddData_v2(ptr long ptr long str long ptr ptr) wine_cuLinkAddData_v2
-@ stub cuLinkAddFile_v2
-@ stdcall cuLinkCreate_v2(long ptr ptr ptr) wine_cuLinkCreate_v2
-@ stdcall cuMemHostRegister_v2(ptr long long) wine_cuMemHostRegister_v2
-@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessor(ptr ptr long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessor
-@ stub cuOccupancyMaxPotentialBlockSize
-#@ stdcall cuOccupancyMaxPotentialBlockSize(ptr ptr ptr ptr long long) wine_cuOccupancyMaxPotentialBlockSize
-
-# CUDA 7.0
-@ stdcall cuCtxGetFlags(ptr) wine_cuCtxGetFlags
-@ stdcall cuDevicePrimaryCtxGetState(long ptr ptr) wine_cuDevicePrimaryCtxGetState
-@ stdcall cuDevicePrimaryCtxRelease(long) wine_cuDevicePrimaryCtxRelease
-@ stdcall cuDevicePrimaryCtxReset(long) wine_cuDevicePrimaryCtxReset
-@ stdcall cuDevicePrimaryCtxRetain(ptr long) wine_cuDevicePrimaryCtxRetain
-@ stdcall cuDevicePrimaryCtxSetFlags(long long) wine_cuDevicePrimaryCtxSetFlags
-@ stdcall cuEventRecord_ptsz(ptr ptr) wine_cuEventRecord_ptsz
-@ stdcall cuGLMapBufferObjectAsync_v2_ptsz(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2_ptsz
-@ stdcall cuGLMapBufferObject_v2_ptds(ptr ptr long) wine_cuGLMapBufferObject_v2_ptds
-@ stdcall cuGraphicsMapResources_ptsz(long ptr ptr) wine_cuGraphicsMapResources_ptsz
-@ stdcall cuGraphicsUnmapResources_ptsz(long ptr ptr) wine_cuGraphicsUnmapResources_ptsz
-@ stdcall cuLaunchKernel_ptsz(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel_ptsz
-@ stdcall cuMemcpy2DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy2DAsync_v2_ptsz
-@ stdcall cuMemcpy2DUnaligned_v2_ptds(ptr) wine_cuMemcpy2DUnaligned_v2_ptds
-@ stdcall cuMemcpy2D_v2_ptds(ptr) wine_cuMemcpy2D_v2_ptds
-@ stdcall cuMemcpy3DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy3DAsync_v2_ptsz
-@ stdcall cuMemcpy3DPeerAsync_ptsz(ptr ptr) wine_cuMemcpy3DPeerAsync_ptsz
-@ stdcall cuMemcpy3DPeer_ptds(ptr) wine_cuMemcpy3DPeer_ptds
-@ stdcall cuMemcpy3D_v2_ptds(ptr) wine_cuMemcpy3D_v2_ptds
-@ stdcall cuMemcpyAsync_ptsz(long long long ptr) wine_cuMemcpyAsync_ptsz
-@ stdcall cuMemcpyAtoA_v2_ptds(ptr long ptr long long) wine_cuMemcpyAtoA_v2_ptds
-@ stdcall cuMemcpyAtoD_v2_ptds(long ptr long long) wine_cuMemcpyAtoD_v2_ptds
-@ stdcall cuMemcpyAtoHAsync_v2_ptsz(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2_ptsz
-@ stdcall cuMemcpyAtoH_v2_ptds(ptr ptr long long) wine_cuMemcpyAtoH_v2_ptds
-@ stdcall cuMemcpyDtoA_v2_ptds(ptr long long long) wine_cuMemcpyDtoA_v2_ptds
-@ stdcall cuMemcpyDtoDAsync_v2_ptsz(long long long ptr) wine_cuMemcpyDtoDAsync_v2_ptsz
-@ stdcall cuMemcpyDtoD_v2_ptds(long long long) wine_cuMemcpyDtoD_v2_ptds
-@ stdcall cuMemcpyDtoHAsync_v2_ptsz(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2_ptsz
-@ stdcall cuMemcpyDtoH_v2_ptds(ptr long long) wine_cuMemcpyDtoH_v2_ptds
-@ stdcall cuMemcpyHtoAAsync_v2_ptsz(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2_ptsz
-@ stdcall cuMemcpyHtoA_v2_ptds(ptr long ptr long) wine_cuMemcpyHtoA_v2_ptds
-@ stdcall cuMemcpyHtoDAsync_v2_ptsz(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2_ptsz
-@ stdcall cuMemcpyHtoD_v2_ptds(long ptr long) wine_cuMemcpyHtoD_v2_ptds
-@ stdcall cuMemcpyPeerAsync_ptsz(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync_ptsz
-@ stdcall cuMemcpyPeer_ptds(long ptr long ptr long) wine_cuMemcpyPeer_ptds
-@ stdcall cuMemcpy_ptds(long long long) wine_cuMemcpy_ptds
-@ stdcall cuMemsetD16Async_ptsz(long long long ptr) wine_cuMemsetD16Async_ptsz
-@ stdcall cuMemsetD16_v2_ptds(long long long) wine_cuMemsetD16_v2_ptds
-@ stdcall cuMemsetD2D16Async_ptsz(long long long long long ptr) wine_cuMemsetD2D16Async_ptsz
-@ stdcall cuMemsetD2D16_v2_ptds(long long long long long) wine_cuMemsetD2D16_v2_ptds
-@ stdcall cuMemsetD2D32Async_ptsz(long long long long long ptr) wine_cuMemsetD2D32Async_ptsz
-@ stdcall cuMemsetD2D32_v2_ptds(long long long long long) wine_cuMemsetD2D32_v2_ptds
-@ stdcall cuMemsetD2D8Async_ptsz(long long long long long ptr) wine_cuMemsetD2D8Async_ptsz
-@ stdcall cuMemsetD2D8_v2_ptds(long long long long long) wine_cuMemsetD2D8_v2_ptds
-@ stdcall cuMemsetD32Async_ptsz(long long long ptr) wine_cuMemsetD32Async_ptsz
-@ stdcall cuMemsetD32_v2_ptds(long long long) wine_cuMemsetD32_v2_ptds
-@ stdcall cuMemsetD8Async_ptsz(long long long ptr) wine_cuMemsetD8Async_ptsz
-@ stdcall cuMemsetD8_v2_ptds(long long long) wine_cuMemsetD8_v2_ptds
-@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(ptr ptr long long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
-@ stub cuOccupancyMaxPotentialBlockSizeWithFlags
-#@ stdcall cuOccupancyMaxPotentialBlockSizeWithFlags(ptr ptr ptr ptr long long long) wine_cuOccupancyMaxPotentialBlockSizeWithFlags
-@ stdcall cuPointerGetAttributes(long ptr ptr long) wine_cuPointerGetAttributes
-@ stdcall cuStreamAddCallback_ptsz(ptr ptr ptr long) wine_cuStreamAddCallback_ptsz
-@ stdcall cuStreamAttachMemAsync_ptsz(ptr long long long) wine_cuStreamAttachMemAsync_ptsz
-@ stdcall cuStreamGetFlags_ptsz(ptr ptr) wine_cuStreamGetFlags_ptsz
-@ stdcall cuStreamGetPriority_ptsz(ptr ptr) wine_cuStreamGetPriority_ptsz
-@ stdcall cuStreamQuery_ptsz(ptr) wine_cuStreamQuery_ptsz
-@ stdcall cuStreamSynchronize_ptsz(ptr) wine_cuStreamSynchronize_ptsz
-@ stdcall cuStreamWaitEvent_ptsz(ptr ptr long) wine_cuStreamWaitEvent_ptsz
+@ stub cuWaitExternalSemaphoresAsync
+@ stub cuWaitExternalSemaphoresAsync_ptsz
--
2.34.1

View File

@@ -0,0 +1,95 @@
From af088c1d1c1a5757466f620d981b766184b973b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sveinar=20S=C3=B8pler?= <cybermax@dexter.no>
Date: Tue, 11 Jan 2022 17:25:06 +0100
Subject: [PATCH 1/2] nvcuda: Implement cuDeviceGetUuid and cuDeviceGetLuid
This partially resolves #52342
DAZ Studio4 will fail to initialize cuda if no valid UUID and LUID
is obtained. Linux nvCUDA does not provide a LUID, so this will be
a "fake" LUID for now.
---
dlls/nvcuda/nvcuda.c | 33 +++++++++++++++++++++++++++++++++
dlls/nvcuda/nvcuda.spec | 4 ++--
2 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/dlls/nvcuda/nvcuda.c b/dlls/nvcuda/nvcuda.c
index 5b6bf53a1de..dde0bfa8469 100644
--- a/dlls/nvcuda/nvcuda.c
+++ b/dlls/nvcuda/nvcuda.c
@@ -408,6 +408,9 @@ static CUresult (*pcuStreamQuery_ptsz)(CUstream hStream);
static CUresult (*pcuStreamSynchronize_ptsz)(CUstream hStream);
static CUresult (*pcuStreamWaitEvent_ptsz)(CUstream hStream, CUevent hEvent, unsigned int Flags);
+/* Cuda 10.0 */
+static CUresult (*pcuDeviceGetUuid)(CUuuid *uuid, CUdevice dev);
+static CUresult (*pcuDeviceGetLuid)(char *luid, unsigned int *deviceNodeMask, CUdevice dev);
static void *cuda_handle = NULL;
@@ -758,6 +761,10 @@ static BOOL load_functions(void)
TRY_LOAD_FUNCPTR(cuStreamSynchronize_ptsz);
TRY_LOAD_FUNCPTR(cuStreamWaitEvent_ptsz);
+ /* CUDA 10 */
+ TRY_LOAD_FUNCPTR(cuDeviceGetUuid);
+ TRY_LOAD_FUNCPTR(cuDeviceGetLuid);
+
#undef LOAD_FUNCPTR
#undef TRY_LOAD_FUNCPTR
@@ -2904,6 +2911,32 @@ CUresult WINAPI wine_cuStreamWaitEvent_ptsz(CUstream hStream, CUevent hEvent, un
return pcuStreamWaitEvent_ptsz(hStream, hEvent, Flags);
}
+/*
+ * Additions in CUDA 10.0
+ */
+
+CUresult WINAPI wine_cuDeviceGetUuid(CUuuid *uuid, CUdevice dev)
+{
+ TRACE("(%p, %d)\n", uuid, dev);
+ CHECK_FUNCPTR(cuDeviceGetUuid);
+ return pcuDeviceGetUuid(uuid, dev);
+}
+
+CUresult WINAPI wine_cuDeviceGetLuid(char *luid, unsigned int *deviceNodeMask, CUdevice dev)
+{
+ int wine_luid[] = { 0x0000000e, 0x00000000 };
+
+ TRACE("(%p, %p, %d)\n", luid, deviceNodeMask, dev);
+ CHECK_FUNCPTR(cuDeviceGetLuid);
+ /* Linux native libcuda does not provide a LUID, so we need to fake something and return a success */
+
+ memcpy(luid, &wine_luid, sizeof(wine_luid));
+ FIXME("Fix this LUID: (0x%08x)\n", *luid);
+ *deviceNodeMask = 1;
+
+ return CUDA_SUCCESS;
+}
+
#undef CHECK_FUNCPTR
/*
diff --git a/dlls/nvcuda/nvcuda.spec b/dlls/nvcuda/nvcuda.spec
index 891920b8699..85abf5d2e63 100644
--- a/dlls/nvcuda/nvcuda.spec
+++ b/dlls/nvcuda/nvcuda.spec
@@ -93,12 +93,12 @@
@ stdcall cuDeviceGetAttribute(ptr long long) wine_cuDeviceGetAttribute
@ stdcall cuDeviceGetByPCIBusId(ptr str) wine_cuDeviceGetByPCIBusId
@ stdcall cuDeviceGetCount(ptr) wine_cuDeviceGetCount
-@ stub cuDeviceGetLuid
+@ stdcall cuDeviceGetLuid(ptr ptr long) wine_cuDeviceGetLuid
@ stdcall cuDeviceGetName(ptr long long) wine_cuDeviceGetName
@ stub cuDeviceGetP2PAttribute
@ stdcall cuDeviceGetPCIBusId(ptr long long) wine_cuDeviceGetPCIBusId
@ stdcall cuDeviceGetProperties(ptr long) wine_cuDeviceGetProperties
-@ stub cuDeviceGetUuid
+@ stdcall cuDeviceGetUuid(ptr long) wine_cuDeviceGetUuid
@ stdcall cuDevicePrimaryCtxGetState(long ptr ptr) wine_cuDevicePrimaryCtxGetState
@ stdcall cuDevicePrimaryCtxRelease(long) wine_cuDevicePrimaryCtxRelease
@ stdcall cuDevicePrimaryCtxReset(long) wine_cuDevicePrimaryCtxReset
--
2.34.1

View File

@@ -0,0 +1,88 @@
From c81d2443afb5c48bed31a31ad03fde29b8b7d920 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sveinar=20S=C3=B8pler?= <cybermax@dexter.no>
Date: Tue, 11 Jan 2022 17:30:06 +0100
Subject: [PATCH 2/2] nvcuda: Expand the Unknown1 table
This partially resolve #52342
The table for UUID_Unknown1 needs to be expanded because
DAZ Studio4 uses Unknown1_func5 and Unknown1_func6.
This also gets rid of the WARNING about "Your CUDA version supports a
newer interface for Unknown1 then the Wine implementation" when
using recent nVidia proprietary drivers.
---
dlls/nvcuda/internal.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/dlls/nvcuda/internal.c b/dlls/nvcuda/internal.c
index 0b654a967fa..db5f1fd6710 100644
--- a/dlls/nvcuda/internal.c
+++ b/dlls/nvcuda/internal.c
@@ -111,6 +111,10 @@ struct Unknown1_table
void* (WINAPI *func2)(void *param0, void *param1);
void* (WINAPI *func3)(void *param0, void *param1);
void* (WINAPI *func4)(void *param0);
+ void* (WINAPI *func5)(void *param0, void *param1);
+ void* (WINAPI *func6)(void *param0, void *param1);
+ void* (WINAPI *func7)(void *param0, void *param1);
+ void* (WINAPI *func8)(void *param0, void *param1);
};
static const struct
{
@@ -120,6 +124,10 @@ static const struct
void* (*func2)(void *param0, void *param1);
void* (*func3)(void *param0, void *param1);
void* (*func4)(void *param0);
+ void* (*func5)(void *param0, void *param1);
+ void* (*func6)(void *param0, void *param1);
+ void* (*func7)(void *param0, void *param1);
+ void* (*func8)(void *param0, void *param1);
} *Unknown1_orig = NULL;
/*
@@ -233,6 +241,30 @@ static void* WINAPI Unknown1_func4_relay(void *param0)
return Unknown1_orig->func4(param0);
}
+static void* WINAPI Unknown1_func5_relay(void *param0, void *param1)
+{
+ TRACE("(%p, %p)\n", param0, param1);
+ return Unknown1_orig->func5(param0, param1);
+}
+
+static void* WINAPI Unknown1_func6_relay(void *param0, void *param1)
+{
+ TRACE("(%p, %p)\n", param0, param1);
+ return Unknown1_orig->func6(param0, param1);
+}
+
+static void* WINAPI Unknown1_func7_relay(void *param0, void *param1)
+{
+ TRACE("(%p, %p)\n", param0, param1);
+ return Unknown1_orig->func7(param0, param1);
+}
+
+static void* WINAPI Unknown1_func8_relay(void *param0, void *param1)
+{
+ TRACE("(%p, %p)\n", param0, param1);
+ return Unknown1_orig->func8(param0, param1);
+}
+
struct Unknown1_table Unknown1_Impl =
{
sizeof(struct Unknown1_table),
@@ -241,6 +273,10 @@ struct Unknown1_table Unknown1_Impl =
Unknown1_func2_relay,
Unknown1_func3_relay,
Unknown1_func4_relay,
+ Unknown1_func5_relay,
+ Unknown1_func6_relay,
+ Unknown1_func7_relay,
+ Unknown1_func8_relay,
};
static void* WINAPI Unknown2_func0_relay(void *param0, void *param1)
--
2.34.1

View File

@@ -0,0 +1,29 @@
From c70b2b402ac1ca3a923822ddd2128a09ce5de81a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sveinar=20S=C3=B8pler?= <cybermax@dexter.no>
Date: Mon, 24 Jan 2022 16:02:35 +0100
Subject: [PATCH] nvcuda: Make nvcuda attempt to load libcuda.so.1
libcuda.so is not available when running under steam runtime
container. Adding this will make nvcuda attempt to load
libcuda.so.1 which will be available inside the steam runtime.
---
dlls/nvcuda/nvcuda.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/nvcuda/nvcuda.c b/dlls/nvcuda/nvcuda.c
index 2cb3a0e2ecf..84da77941c6 100644
--- a/dlls/nvcuda/nvcuda.c
+++ b/dlls/nvcuda/nvcuda.c
@@ -424,7 +424,8 @@ static BOOL load_functions(void)
"/usr/local/cuda/lib/libcuda.dylib",
"/usr/local/cuda/lib/libcuda.6.0.dylib",
#else
- "libcuda.so"
+ "libcuda.so",
+ "libcuda.so.1"
#endif
};
int i;
--
2.34.1

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