You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
69 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0f00e37c68 | ||
|
8c06be6529 | ||
|
50d26744b0 | ||
|
046b1ab22c | ||
|
1ebf4bd23f | ||
|
b113f99f07 | ||
|
813bfa288e | ||
|
c814617e2c | ||
|
cb7a9792d7 | ||
|
96a8cc2920 | ||
|
a1a2d65488 | ||
|
7d496bf02c | ||
|
4d8896cc35 | ||
|
977e5237da | ||
|
708e63e63f | ||
|
921d247b6b | ||
|
a918fa9a1c | ||
|
592b9480ef | ||
|
552dc36846 | ||
|
deed76f394 | ||
|
20e795b107 | ||
|
ac30cf5d62 | ||
|
99759f003a | ||
|
7eb07f1d50 | ||
|
68f87944cf | ||
|
0c8991562d | ||
|
27fae2dc15 | ||
|
39f66ddd9f | ||
|
33d85bda8a | ||
|
ba9a7a6a74 | ||
|
85fbfed5eb | ||
|
20303a53ec | ||
|
30c9d5a0f8 | ||
|
425f75f839 | ||
|
d805441f46 | ||
|
2211b6664e | ||
|
a886228fbc | ||
|
e353590528 | ||
|
b582d2d018 | ||
|
00aab80494 | ||
|
86424f3ac1 | ||
|
661df7b889 | ||
|
64ea26c0cb | ||
|
9319c38de2 | ||
|
03f7334e65 | ||
|
eb40bf85d6 | ||
|
d1169e15ee | ||
|
0c295023f1 | ||
|
733a420dd7 | ||
|
545073aafa | ||
|
4e2dc89043 | ||
|
2929606a6a | ||
|
d90a798a26 | ||
|
2e42e7d996 | ||
|
34ba08404f | ||
|
7b199110bb | ||
|
3d3cbfce86 | ||
|
0547bb4578 | ||
|
f20c33fa04 | ||
|
a644c49d6d | ||
|
d2102728fe | ||
|
a93d3b6369 | ||
|
09fdb3b5c9 | ||
|
5897bc1d27 | ||
|
f8b6fde40c | ||
|
34d5c3568f | ||
|
44af049de7 | ||
|
c747e46d75 | ||
|
1f89c15143 |
4
.github/workflows/macOS.yml
vendored
4
.github/workflows/macOS.yml
vendored
@@ -38,7 +38,7 @@ jobs:
|
||||
mkdir $GITHUB_WORKSPACE/wine
|
||||
cd wine
|
||||
git init
|
||||
git fetch https://github.com/wine-mirror/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
|
||||
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
|
||||
git checkout $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit)
|
||||
|
||||
- name: Run patchinstall.sh --all
|
||||
@@ -98,7 +98,7 @@ jobs:
|
||||
mkdir $GITHUB_WORKSPACE/wine
|
||||
cd wine
|
||||
git init
|
||||
git fetch https://github.com/wine-mirror/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
|
||||
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit) --depth=1
|
||||
git checkout $($GITHUB_WORKSPACE/patches/patchinstall.sh --upstream-commit)
|
||||
|
||||
- name: Configure wine64
|
||||
|
@@ -1,15 +1,15 @@
|
||||
From 0cf6433af95363c5fbba2af482b2ba50b863dfb7 Mon Sep 17 00:00:00 2001
|
||||
From e51b05c3a9d03e4dd84a107a30841d95f8a519c3 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
branch name and version.
|
||||
|
||||
---
|
||||
dlls/ntdll/loader.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
dlls/ntdll/loader.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 20bc3f977d1..c2187a19397 100644
|
||||
index ee453700e51..c2d4b3c2f86 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -44,6 +44,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
@@ -20,15 +20,15 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
|
||||
#ifdef _WIN64
|
||||
#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232)
|
||||
@@ -3456,6 +3457,7 @@ static void process_breakpoint(void)
|
||||
__ENDTRY
|
||||
@@ -3307,6 +3308,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
process_detach();
|
||||
}
|
||||
|
||||
+extern const char * CDECL wine_get_version(void);
|
||||
|
||||
/******************************************************************
|
||||
* LdrInitializeThunk (NTDLL.@)
|
||||
@@ -3465,6 +3467,9 @@ static void process_breakpoint(void)
|
||||
* RtlExitUserProcess (NTDLL.@)
|
||||
@@ -3673,6 +3675,9 @@ static void init_wow64(void)
|
||||
*/
|
||||
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR unknown3, ULONG_PTR unknown4 )
|
||||
{
|
||||
@@ -38,9 +38,9 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
static int attach_done;
|
||||
int i;
|
||||
NTSTATUS status;
|
||||
@@ -3483,6 +3488,16 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
entry = (void **)&context->u.s.X0;
|
||||
#endif
|
||||
@@ -3753,6 +3758,17 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR
|
||||
}
|
||||
else wm = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
|
||||
|
||||
+ RtlInitUnicodeString( &staging_event_string, L"\\__wine_staging_warn_event" );
|
||||
+ InitializeObjectAttributes( &staging_event_attr, &staging_event_string, OBJ_OPENIF, NULL, NULL );
|
||||
@@ -52,9 +52,10 @@ index 20bc3f977d1..c2187a19397 100644
|
||||
+ else
|
||||
+ WARN_(winediag)("wine-staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+
|
||||
if (process_detaching) NtTerminateThread( GetCurrentThread(), 0 );
|
||||
|
||||
RtlEnterCriticalSection( &loader_section );
|
||||
+
|
||||
RtlAcquirePebLock();
|
||||
InsertHeadList( &tls_links, &NtCurrentTeb()->TlsLinks );
|
||||
RtlReleasePebLock();
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,100 +0,0 @@
|
||||
From 452c42b4855e2f6338fa9b8746377ff9fe9ee706 Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Wed, 23 Apr 2014 04:16:53 +0800
|
||||
Subject: [PATCH] atl: Implement AtlAxDialogBox[A,W]
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=32749
|
||||
---
|
||||
dlls/atl/atl_ax.c | 60 +++++++++++++++++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 50 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/atl/atl_ax.c b/dlls/atl/atl_ax.c
|
||||
index 8121278..92fcb84 100644
|
||||
--- a/dlls/atl/atl_ax.c
|
||||
+++ b/dlls/atl/atl_ax.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "winerror.h"
|
||||
#include "winuser.h"
|
||||
#include "wine/debug.h"
|
||||
+#include "wine/heap.h"
|
||||
#include "objbase.h"
|
||||
#include "objidl.h"
|
||||
#include "ole2.h"
|
||||
@@ -1407,25 +1408,64 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
- * AtlAxDialogBoxW [atl100.35]
|
||||
+ * AtlAxDialogBoxA [atl100.@]
|
||||
*
|
||||
*/
|
||||
-INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
|
||||
- LPARAM dwInitParam)
|
||||
+INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
|
||||
{
|
||||
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_w(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
|
||||
- return 0;
|
||||
+ INT_PTR res = 0;
|
||||
+ int length;
|
||||
+ WCHAR *nameW;
|
||||
+
|
||||
+ if (IS_INTRESOURCE(name))
|
||||
+ return AtlAxDialogBoxW( hInst, (LPCWSTR) name, owner, dlgProc, param );
|
||||
+
|
||||
+ length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
|
||||
+ nameW = heap_alloc( length * sizeof(WCHAR) );
|
||||
+ if (nameW)
|
||||
+ {
|
||||
+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, length );
|
||||
+ res = AtlAxDialogBoxW( hInst, nameW, owner, dlgProc, param );
|
||||
+ heap_free( nameW );
|
||||
+ }
|
||||
+ return res;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
- * AtlAxDialogBoxA [atl100.36]
|
||||
+ * AtlAxDialogBoxW [atl100.@]
|
||||
*
|
||||
*/
|
||||
-INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
|
||||
- LPARAM dwInitParam)
|
||||
+INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
|
||||
{
|
||||
- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
|
||||
- return 0;
|
||||
+ HRSRC hrsrc;
|
||||
+ HGLOBAL hgl;
|
||||
+ LPCDLGTEMPLATEW ptr;
|
||||
+ LPDLGTEMPLATEW newptr;
|
||||
+ INT_PTR res;
|
||||
+
|
||||
+ TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param);
|
||||
+
|
||||
+ hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG );
|
||||
+ if ( !hrsrc )
|
||||
+ return 0;
|
||||
+ hgl = LoadResource (hInst, hrsrc);
|
||||
+ if ( !hgl )
|
||||
+ return 0;
|
||||
+ ptr = LockResource ( hgl );
|
||||
+ if (!ptr)
|
||||
+ {
|
||||
+ FreeResource( hgl );
|
||||
+ return 0;
|
||||
+ }
|
||||
+ newptr = AX_ConvertDialogTemplate( ptr );
|
||||
+ if ( newptr )
|
||||
+ {
|
||||
+ res = DialogBoxIndirectParamW( hInst, newptr, owner, dlgProc, param );
|
||||
+ heap_free( newptr );
|
||||
+ } else
|
||||
+ res = 0;
|
||||
+ FreeResource ( hrsrc );
|
||||
+ return res;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
--
|
||||
1.9.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [32749] atl: Implemented AtlAxDialogBox[A,W]
|
@@ -1,4 +1,4 @@
|
||||
From 3478a4e41c07a66e7e913c54bcf5ad52e16a8fee Mon Sep 17 00:00:00 2001
|
||||
From 6d925cb20409888ada3e469a2a09b1bfc726fa79 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 2 Oct 2020 11:29:24 -0500
|
||||
Subject: [PATCH] bcrypt: Allow multiple backends to coexist.
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
create mode 100644 dlls/bcrypt/unixlib.c
|
||||
|
||||
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
|
||||
index 24803fb2d7cb..46a20d473dd7 100644
|
||||
index 24803fb2d7c..46a20d473dd 100644
|
||||
--- a/dlls/bcrypt/Makefile.in
|
||||
+++ b/dlls/bcrypt/Makefile.in
|
||||
@@ -11,6 +11,7 @@ C_SRCS = \
|
||||
@@ -27,7 +27,7 @@ index 24803fb2d7cb..46a20d473dd7 100644
|
||||
|
||||
RC_SRCS = version.rc
|
||||
diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h
|
||||
index eb1361115093..3c7110d05f84 100644
|
||||
index eb136111509..3c7110d05f8 100644
|
||||
--- a/dlls/bcrypt/bcrypt_internal.h
|
||||
+++ b/dlls/bcrypt/bcrypt_internal.h
|
||||
@@ -218,4 +218,7 @@ struct key_funcs
|
||||
@@ -39,10 +39,10 @@ index eb1361115093..3c7110d05f84 100644
|
||||
+
|
||||
#endif /* __BCRYPT_INTERNAL_H */
|
||||
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
|
||||
index c065ac31fba3..9490ea8612a8 100644
|
||||
index 2f0c62bc6da..4a9dcf9de8a 100644
|
||||
--- a/dlls/bcrypt/gnutls.c
|
||||
+++ b/dlls/bcrypt/gnutls.c
|
||||
@@ -371,9 +371,12 @@ fail:
|
||||
@@ -372,9 +372,12 @@ fail:
|
||||
|
||||
static void gnutls_uninitialize(void)
|
||||
{
|
||||
@@ -58,7 +58,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
}
|
||||
|
||||
struct buffer
|
||||
@@ -1949,19 +1952,28 @@ static const struct key_funcs key_funcs =
|
||||
@@ -1899,19 +1902,28 @@ static const struct key_funcs key_funcs =
|
||||
key_import_rsa
|
||||
};
|
||||
|
||||
@@ -74,7 +74,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
+ if (!gnutls_initialize()) return NULL;
|
||||
+ return &key_funcs;
|
||||
case DLL_PROCESS_DETACH:
|
||||
gnutls_uninitialize();
|
||||
if (libgnutls_handle) gnutls_uninitialize();
|
||||
- break;
|
||||
}
|
||||
- return STATUS_SUCCESS;
|
||||
@@ -95,7 +95,7 @@ index c065ac31fba3..9490ea8612a8 100644
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c
|
||||
index 44906519cef0..2a88aec8362c 100644
|
||||
index 44906519cef..2a88aec8362 100644
|
||||
--- a/dlls/bcrypt/macos.c
|
||||
+++ b/dlls/bcrypt/macos.c
|
||||
@@ -302,11 +302,21 @@ static const struct key_funcs key_funcs =
|
||||
@@ -126,7 +126,7 @@ index 44906519cef0..2a88aec8362c 100644
|
||||
#endif
|
||||
diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c
|
||||
new file mode 100644
|
||||
index 000000000000..9cbb25f5740c
|
||||
index 00000000000..9cbb25f5740
|
||||
--- /dev/null
|
||||
+++ b/dlls/bcrypt/unixlib.c
|
||||
@@ -0,0 +1,211 @@
|
||||
@@ -342,5 +342,5 @@ index 000000000000..9cbb25f5740c
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.29.2
|
||||
2.30.2
|
||||
|
||||
|
@@ -2,4 +2,3 @@ Fixes: [47699] Multiple games fail to connect to online services (missing BCrypt
|
||||
# Needs to be moved to the unix lib, but that's a nontrivial amount of work, and
|
||||
# using gcrypt is the wrong way forward (we should expose the missing APIs from
|
||||
# gnutls instead).
|
||||
#Disabled: true
|
||||
|
@@ -1,54 +0,0 @@
|
||||
From 3497a2faa4ebab67b65bcf99d4ed56baa70ddf96 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 12 Jul 2014 23:58:19 +0200
|
||||
Subject: [PATCH] comctl32: Preserve custom colors between subitems. (v2)
|
||||
|
||||
---
|
||||
dlls/comctl32/listview.c | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
|
||||
index dba16d13a4c..35cab333b7b 100644
|
||||
--- a/dlls/comctl32/listview.c
|
||||
+++ b/dlls/comctl32/listview.c
|
||||
@@ -1063,7 +1063,7 @@ static void prepaint_setup (const LISTVIEW_INFO *infoPtr, HDC hdc, const NMLVCUS
|
||||
textcolor = cd->clrText;
|
||||
|
||||
/* apparently, for selected items, we have to override the returned values */
|
||||
- if (!SubItem)
|
||||
+ if (!SubItem || (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
|
||||
{
|
||||
if (cd->nmcd.uItemState & CDIS_SELECTED)
|
||||
{
|
||||
@@ -4786,6 +4786,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
|
||||
while (iterator_next(subitems))
|
||||
{
|
||||
DWORD subitemstage = CDRF_DODEFAULT;
|
||||
+ NMLVCUSTOMDRAW temp_nmlvcd;
|
||||
|
||||
/* We need to query for each subitem, item's data (subitem == 0) is already here at this point */
|
||||
if (subitems->nItem)
|
||||
@@ -4813,13 +4814,15 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
|
||||
if (cdsubitemmode & CDRF_NOTIFYSUBITEMDRAW)
|
||||
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPREPAINT, &nmlvcd);
|
||||
|
||||
- if (subitems->nItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
|
||||
- prepaint_setup(infoPtr, hdc, &nmlvcd, FALSE);
|
||||
- else if (!(infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
|
||||
- prepaint_setup(infoPtr, hdc, &nmlvcd, TRUE);
|
||||
+ /*
|
||||
+ * A selection should neither affect the colors in the post paint notification nor
|
||||
+ * affect the colors of the next drawn subitem. Copy the structure to prevent this.
|
||||
+ */
|
||||
+ temp_nmlvcd = nmlvcd;
|
||||
+ prepaint_setup(infoPtr, hdc, &temp_nmlvcd, subitems->nItem);
|
||||
|
||||
if (!(subitemstage & CDRF_SKIPDEFAULT))
|
||||
- LISTVIEW_DrawItemPart(infoPtr, &lvItem, &nmlvcd, &pos);
|
||||
+ LISTVIEW_DrawItemPart(infoPtr, &lvItem, &temp_nmlvcd, &pos);
|
||||
|
||||
if (subitemstage & CDRF_NOTIFYPOSTPAINT)
|
||||
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPOSTPAINT, &nmlvcd);
|
||||
--
|
||||
2.27.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [38941] Preserve custom colors between subitems for listview control
|
@@ -1,4 +1,4 @@
|
||||
From 881e39d338d1b8faed36440376460d498262c532 Mon Sep 17 00:00:00 2001
|
||||
From 1d756dd5a98e84afa53a487cd6b7ecbf0a576422 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 19 Jan 2017 16:54:42 +0100
|
||||
Subject: [PATCH] wined3d: Add wined3d_resource_map_info function.
|
||||
@@ -13,10 +13,10 @@ Subject: [PATCH] wined3d: Add wined3d_resource_map_info function.
|
||||
6 files changed, 70 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
index 89dab8ebfdd..5ef9a48eeb7 100644
|
||||
index ea21f85bc9e..d030a1cecd6 100644
|
||||
--- a/dlls/wined3d/buffer.c
|
||||
+++ b/dlls/wined3d/buffer.c
|
||||
@@ -1121,6 +1121,24 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc
|
||||
@@ -949,6 +949,24 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ index 89dab8ebfdd..5ef9a48eeb7 100644
|
||||
static HRESULT buffer_resource_sub_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
|
||||
{
|
||||
struct wined3d_buffer *buffer = buffer_from_resource(resource);
|
||||
@@ -1279,6 +1297,7 @@ static const struct wined3d_resource_ops buffer_resource_ops =
|
||||
@@ -1085,6 +1103,7 @@ static const struct wined3d_resource_ops buffer_resource_ops =
|
||||
buffer_resource_preload,
|
||||
buffer_resource_unload,
|
||||
buffer_resource_sub_resource_map,
|
||||
@@ -50,11 +50,11 @@ index 89dab8ebfdd..5ef9a48eeb7 100644
|
||||
};
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index bba940f42cb..ff31c004b06 100644
|
||||
index 6e34605f547..b3a46950f4e 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -383,6 +383,14 @@ HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned i
|
||||
return wined3d_cs_map(resource->device->cs, resource, sub_resource_idx, map_desc, box, flags);
|
||||
@@ -323,6 +323,14 @@ HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned i
|
||||
return wined3d_device_context_map(&resource->device->cs->c, resource, sub_resource_idx, map_desc, box, flags);
|
||||
}
|
||||
|
||||
+HRESULT CDECL wined3d_resource_map_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
||||
@@ -69,10 +69,10 @@ index bba940f42cb..ff31c004b06 100644
|
||||
{
|
||||
TRACE("resource %p, sub_resource_idx %u.\n", resource, sub_resource_idx);
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 7c9c8298519..73e79ff25b5 100644
|
||||
index 333002ebfd5..ad34329af1d 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -3155,6 +3155,36 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
||||
@@ -3509,6 +3509,36 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ index 7c9c8298519..73e79ff25b5 100644
|
||||
static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
|
||||
{
|
||||
struct wined3d_texture_sub_resource *sub_resource;
|
||||
@@ -3207,6 +3237,7 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
@@ -3561,6 +3591,7 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
texture_resource_preload,
|
||||
texture_resource_unload,
|
||||
texture_resource_sub_resource_map,
|
||||
@@ -118,10 +118,10 @@ index 7c9c8298519..73e79ff25b5 100644
|
||||
};
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
|
||||
index e03c57055b7..f68f8199f7e 100644
|
||||
index 7c81eff1593..63e7b82abda 100644
|
||||
--- a/dlls/wined3d/wined3d.spec
|
||||
+++ b/dlls/wined3d/wined3d.spec
|
||||
@@ -218,6 +218,7 @@
|
||||
@@ -230,6 +230,7 @@
|
||||
@ cdecl wined3d_resource_get_parent(ptr)
|
||||
@ cdecl wined3d_resource_get_priority(ptr)
|
||||
@ cdecl wined3d_resource_map(ptr long ptr ptr long)
|
||||
@@ -130,10 +130,10 @@ index e03c57055b7..f68f8199f7e 100644
|
||||
@ cdecl wined3d_resource_set_parent(ptr ptr)
|
||||
@ cdecl wined3d_resource_set_priority(ptr long)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 8f9ad1ce856..c7f75d1983c 100644
|
||||
index 4d5f4765f57..385d0511d56 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3368,6 +3368,8 @@ struct wined3d_resource_ops
|
||||
@@ -4046,6 +4046,8 @@ struct wined3d_resource_ops
|
||||
void (*resource_unload)(struct wined3d_resource *resource);
|
||||
HRESULT (*resource_sub_resource_map)(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
|
||||
@@ -143,10 +143,10 @@ index 8f9ad1ce856..c7f75d1983c 100644
|
||||
};
|
||||
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index bafab04d3d3..ea50fb7c8d4 100644
|
||||
index 2c4b93ce805..760bb709c2b 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -1851,6 +1851,13 @@ struct wined3d_map_desc
|
||||
@@ -1861,6 +1861,13 @@ struct wined3d_map_desc
|
||||
void *data;
|
||||
};
|
||||
|
||||
@@ -160,7 +160,7 @@ index bafab04d3d3..ea50fb7c8d4 100644
|
||||
struct wined3d_sub_resource_data
|
||||
{
|
||||
const void *data;
|
||||
@@ -2663,6 +2670,8 @@ void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resour
|
||||
@@ -2749,6 +2756,8 @@ void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resour
|
||||
DWORD __cdecl wined3d_resource_get_priority(const struct wined3d_resource *resource);
|
||||
HRESULT __cdecl wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
|
||||
@@ -170,5 +170,5 @@ index bafab04d3d3..ea50fb7c8d4 100644
|
||||
void __cdecl wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent);
|
||||
DWORD __cdecl wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority);
|
||||
--
|
||||
2.24.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 504969929eb7932fe22880768461f2172080f0eb Mon Sep 17 00:00:00 2001
|
||||
From 4527c01f3e96ad841fb26002c1e73a2b4d9ac55e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 19 Jan 2017 16:56:56 +0100
|
||||
Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
1 file changed, 1041 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 454003128dc..4beb7cea4fa 100644
|
||||
index 47f43a796e3..ca21e9be6ea 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -18,8 +18,8 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
+#include "wine/list.h"
|
||||
|
||||
#define NONAMELESSUNION
|
||||
#include "d3d11_private.h"
|
||||
@@ -48,6 +49,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
|
||||
#define WINE_NO_NAMELESS_EXTENSION
|
||||
@@ -49,6 +50,174 @@ static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, S
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
/* ID3D11DeviceContext - deferred context */
|
||||
struct d3d11_deferred_context
|
||||
{
|
||||
@@ -55,9 +224,532 @@ struct d3d11_deferred_context
|
||||
@@ -56,9 +225,532 @@ struct d3d11_deferred_context
|
||||
ID3D11Device *device;
|
||||
LONG refcount;
|
||||
|
||||
@@ -727,7 +727,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
|
||||
|
||||
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
|
||||
@@ -1415,7 +2107,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
@@ -1428,7 +2120,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext1 *iface,
|
||||
ID3D11CommandList *command_list, BOOL restore_state)
|
||||
{
|
||||
@@ -749,7 +749,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext1 *iface,
|
||||
@@ -3169,6 +3874,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
@@ -3167,6 +3872,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
|
||||
if (!refcount)
|
||||
{
|
||||
@@ -757,7 +757,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
wined3d_private_store_cleanup(&context->private_store);
|
||||
ID3D11Device_Release(context->device);
|
||||
HeapFree(GetProcessHeap(), 0, context);
|
||||
@@ -3220,43 +3926,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
@@ -3218,43 +3924,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -850,7 +850,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
|
||||
@@ -3269,53 +4018,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
@@ -3267,53 +4016,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
|
||||
UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource)
|
||||
{
|
||||
@@ -1029,7 +1029,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface,
|
||||
@@ -3344,7 +4209,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
@@ -3342,7 +4207,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
|
||||
D3D11_PRIMITIVE_TOPOLOGY topology)
|
||||
{
|
||||
@@ -1047,7 +1047,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3404,8 +4278,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
@@ -3402,8 +4276,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views,
|
||||
ID3D11DepthStencilView *depth_stencil_view)
|
||||
{
|
||||
@@ -1077,7 +1077,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews(
|
||||
@@ -3425,15 +4319,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
@@ -3423,15 +4317,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface,
|
||||
ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask)
|
||||
{
|
||||
@@ -1124,7 +1124,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count,
|
||||
@@ -3475,13 +4398,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
@@ -3473,13 +4396,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface,
|
||||
ID3D11RasterizerState *rasterizer_state)
|
||||
{
|
||||
@@ -1161,7 +1161,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface,
|
||||
@@ -3596,8 +4540,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
@@ -3594,8 +4538,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface,
|
||||
ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
|
||||
{
|
||||
@@ -1181,7 +1181,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface,
|
||||
@@ -3610,36 +4564,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
@@ -3608,36 +4562,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -1249,7 +1249,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3940,7 +4920,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
@@ -3938,7 +4918,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface)
|
||||
{
|
||||
@@ -1266,7 +1266,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface)
|
||||
@@ -3965,9 +4953,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
@@ -3963,9 +4951,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface,
|
||||
BOOL restore, ID3D11CommandList **command_list)
|
||||
{
|
||||
@@ -1298,7 +1298,7 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
}
|
||||
|
||||
static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl =
|
||||
@@ -4582,6 +5590,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
@@ -4580,6 +5588,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
object->device = (ID3D11Device *)iface;
|
||||
object->refcount = 1;
|
||||
|
||||
@@ -1308,5 +1308,5 @@ index 454003128dc..4beb7cea4fa 100644
|
||||
wined3d_private_store_init(&object->private_store);
|
||||
|
||||
--
|
||||
2.30.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,20 +1,20 @@
|
||||
From 2aca1492440a076d00c910b6479b76fe69c1b2ee Mon Sep 17 00:00:00 2001
|
||||
From 8fe0dad5a51a6ddd712dfc87949e4b3d453c9e0f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 31 Aug 2017 05:04:15 +0200
|
||||
Subject: [PATCH] d3d11: Implement d3d11_deferred_context_UpdateSubresource.
|
||||
|
||||
---
|
||||
dlls/d3d11/device.c | 75 +++++++++++++++++++++++++++++++++++++-
|
||||
dlls/wined3d/resource.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/d3d11/device.c | 75 ++++++++++++++++++++++++++++++-
|
||||
dlls/wined3d/resource.c | 93 +++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/wined3d.spec | 1 +
|
||||
include/wine/wined3d.h | 2 +
|
||||
4 files changed, 170 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index c83d6a0..4f3700d 100644
|
||||
index 21da04547a6..70eecdd5a9e 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -45,6 +45,7 @@ enum deferred_cmd
|
||||
@@ -69,6 +69,7 @@ enum deferred_cmd
|
||||
DEFERRED_COPYRESOURCE, /* copy_resource_info */
|
||||
DEFERRED_SETRESOURCEMINLOD, /* set_resource_min_lod_info */
|
||||
DEFERRED_COPYSUBRESOURCEREGION, /* copy_subresource_region_info */
|
||||
@@ -22,10 +22,11 @@ index c83d6a0..4f3700d 100644
|
||||
DEFERRED_RESOLVESUBRESOURCE, /* resolve_subresource_info */
|
||||
DEFERRED_COPYSTRUCTURECOUNT, /* copy_structure_count_info */
|
||||
|
||||
@@ -185,6 +186,15 @@ struct deferred_call
|
||||
@@ -208,6 +209,15 @@ struct deferred_call
|
||||
D3D11_BOX *src_box;
|
||||
} copy_subresource_region_info;
|
||||
struct
|
||||
{
|
||||
+ {
|
||||
+ ID3D11Resource *resource;
|
||||
+ UINT subresource_idx;
|
||||
+ D3D11_BOX *box;
|
||||
@@ -34,11 +35,10 @@ index c83d6a0..4f3700d 100644
|
||||
+ UINT depth_pitch;
|
||||
+ } update_subresource_info;
|
||||
+ struct
|
||||
+ {
|
||||
{
|
||||
ID3D11Resource *dst_resource;
|
||||
UINT dst_subresource_idx;
|
||||
ID3D11Resource *src_resource;
|
||||
@@ -568,6 +578,12 @@ static void free_deferred_calls(struct list *commands)
|
||||
@@ -592,6 +602,12 @@ static void free_deferred_calls(struct list *commands)
|
||||
ID3D11Resource_Release(call->copy_subresource_region_info.src_resource);
|
||||
break;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ index c83d6a0..4f3700d 100644
|
||||
case DEFERRED_RESOLVESUBRESOURCE:
|
||||
{
|
||||
if (call->resolve_subresource_info.dst_resource)
|
||||
@@ -899,6 +915,17 @@ static void exec_deferred_calls(ID3D11DeviceContext1 *iface, struct list *comman
|
||||
@@ -923,6 +939,17 @@ static void exec_deferred_calls(ID3D11DeviceContext1 *iface, struct list *comman
|
||||
call->copy_structure_count_info.src_view);
|
||||
break;
|
||||
}
|
||||
@@ -69,7 +69,7 @@ index c83d6a0..4f3700d 100644
|
||||
case DEFERRED_CSSETSHADER:
|
||||
{
|
||||
ID3D11DeviceContext1_CSSetShader(iface, call->cs_info.shader, NULL, 0);
|
||||
@@ -5054,8 +5081,54 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_UpdateSubresource(ID3D11Dev
|
||||
@@ -5281,8 +5308,54 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_UpdateSubresource(ID3D11Dev
|
||||
ID3D11Resource *resource, UINT subresource_idx, const D3D11_BOX *box,
|
||||
const void *data, UINT row_pitch, UINT depth_pitch)
|
||||
{
|
||||
@@ -126,11 +126,11 @@ index c83d6a0..4f3700d 100644
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_CopyStructureCount(ID3D11DeviceContext *iface,
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 28581a1..c2a9933 100644
|
||||
index b3a46950f4e..fae2cae4398 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -373,6 +373,99 @@ HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned
|
||||
return wined3d_cs_unmap(resource->device->cs, resource, sub_resource_idx);
|
||||
@@ -338,6 +338,99 @@ HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned
|
||||
return wined3d_device_context_unmap(&resource->device->cs->c, resource, sub_resource_idx);
|
||||
}
|
||||
|
||||
+UINT CDECL wined3d_resource_update_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
||||
@@ -230,10 +230,10 @@ index 28581a1..c2a9933 100644
|
||||
{
|
||||
wined3d_cs_emit_preload_resource(resource->device->cs, resource);
|
||||
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
|
||||
index 58dc0a9..fe6e0af 100644
|
||||
index 63e7b82abda..9879f394699 100644
|
||||
--- a/dlls/wined3d/wined3d.spec
|
||||
+++ b/dlls/wined3d/wined3d.spec
|
||||
@@ -234,6 +234,7 @@
|
||||
@@ -235,6 +235,7 @@
|
||||
@ cdecl wined3d_resource_set_parent(ptr ptr)
|
||||
@ cdecl wined3d_resource_set_priority(ptr long)
|
||||
@ cdecl wined3d_resource_unmap(ptr long)
|
||||
@@ -242,10 +242,10 @@ index 58dc0a9..fe6e0af 100644
|
||||
@ cdecl wined3d_rendertarget_view_create(ptr ptr ptr ptr ptr)
|
||||
@ cdecl wined3d_rendertarget_view_create_from_sub_resource(ptr long ptr ptr ptr)
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index fa929e5..0adb891 100644
|
||||
index 760bb709c2b..7cd6682d494 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -2597,6 +2597,8 @@ void __cdecl wined3d_resource_preload(struct wined3d_resource *resource);
|
||||
@@ -2762,6 +2762,8 @@ void __cdecl wined3d_resource_preload(struct wined3d_resource *resource);
|
||||
void __cdecl wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent);
|
||||
DWORD __cdecl wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority);
|
||||
HRESULT __cdecl wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx);
|
||||
@@ -255,5 +255,5 @@ index fa929e5..0adb891 100644
|
||||
HRESULT __cdecl wined3d_rendertarget_view_create(const struct wined3d_view_desc *desc,
|
||||
struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
|
||||
--
|
||||
1.9.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From d6805cde0e8f01e672f17fb03af947e7d2f83dde Mon Sep 17 00:00:00 2001
|
||||
From cf45f6b66c0babf760c2a27ff7aa6842696fb22f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 1 Oct 2017 04:43:22 +0200
|
||||
Subject: [PATCH] d3d11: Implement restoring of state after executing a command
|
||||
list.
|
||||
|
||||
---
|
||||
dlls/d3d11/device.c | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
dlls/d3d11/device.c | 233 +++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 229 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 4f3700d..e214202 100644
|
||||
index 639727e4af4..c2c63d97351 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -367,6 +367,62 @@ struct deferred_call
|
||||
@@ -391,6 +391,62 @@ struct deferred_call
|
||||
};
|
||||
};
|
||||
|
||||
@@ -75,7 +75,7 @@ index 4f3700d..e214202 100644
|
||||
/* ID3D11CommandList - command list */
|
||||
struct d3d11_command_list
|
||||
{
|
||||
@@ -2513,22 +2569,191 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
@@ -2730,22 +2786,191 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
wined3d_mutex_unlock();
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ index 4f3700d..e214202 100644
|
||||
+ ID3D11DeviceContext1_SOGetTargets(context, D3D11_SO_BUFFER_SLOT_COUNT, stateblock->so_buffers);
|
||||
+ /* For some reason the d3d11 get function is missing the offset parameter */
|
||||
+ for (i = 0; i < D3D11_SO_BUFFER_SLOT_COUNT; i++)
|
||||
+ wined3d_device_get_stream_output(device->wined3d_device, i, &stateblock->so_offsets[i]);
|
||||
+ wined3d_device_context_get_stream_output(device->immediate_context.wined3d_context, i, &stateblock->so_offsets[i]);
|
||||
+
|
||||
+ ID3D11DeviceContext1_GetPredication(context, &stateblock->predicate, &stateblock->predicate_value);
|
||||
+
|
||||
@@ -272,5 +272,5 @@ index 4f3700d..e214202 100644
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,18 +1,18 @@
|
||||
From a6a89266f71551cd6ee6b80dc758825957087a37 Mon Sep 17 00:00:00 2001
|
||||
From 7e0e8ea02fa2670a29e1c312f88205b870521a9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:55:03 +0200
|
||||
Subject: [PATCH] ddraw: Allow size and format conversions in
|
||||
IDirect3DTexture2::Load.
|
||||
|
||||
---
|
||||
dlls/ddraw/surface.c | 152 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 81 insertions(+), 71 deletions(-)
|
||||
dlls/ddraw/surface.c | 153 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 82 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
index f5c3528cfa4..a8b919c05c2 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -5310,6 +5310,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
@@ -5316,6 +5316,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
return impl_from_IDirectDrawSurface7(next_level);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
/*****************************************************************************
|
||||
* IDirect3DTexture2::Load
|
||||
*
|
||||
@@ -5331,7 +5371,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5337,7 +5377,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
{
|
||||
struct ddraw_surface *dst_surface = impl_from_IDirect3DTexture2(iface);
|
||||
struct ddraw_surface *src_surface = unsafe_impl_from_IDirect3DTexture2(src_texture);
|
||||
@@ -68,7 +68,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("iface %p, src_texture %p.\n", iface, src_texture);
|
||||
@@ -5344,90 +5384,61 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5350,90 +5390,62 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
|
||||
wined3d_mutex_lock();
|
||||
|
||||
@@ -184,7 +184,8 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
|
||||
- wined3d_resource_unmap(dst_resource, dst_surface->sub_resource_idx);
|
||||
- wined3d_resource_unmap(src_resource, src_surface->sub_resource_idx);
|
||||
+ hr = wined3d_texture_blt(ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
|
||||
+ hr = wined3d_device_context_blt(dst_surface->ddraw->immediate_context,
|
||||
+ ddraw_surface_get_default_texture(dst_surface, DDRAW_SURFACE_WRITE),
|
||||
+ dst_surface->sub_resource_idx, &dst_rect,
|
||||
+ ddraw_surface_get_default_texture(src_surface, DDRAW_SURFACE_READ),
|
||||
+ src_surface->sub_resource_idx, &src_rect, 0, NULL, WINED3D_TEXF_LINEAR);
|
||||
@@ -196,7 +197,7 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
}
|
||||
|
||||
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_MIPMAP)
|
||||
@@ -5440,12 +5451,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5446,12 +5458,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
else
|
||||
dst_surface = NULL;
|
||||
|
||||
@@ -213,5 +214,5 @@ index 19a1ae3d2d2..ed46ff0534a 100644
|
||||
|
||||
wined3d_mutex_unlock();
|
||||
--
|
||||
2.20.1
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,183 +0,0 @@
|
||||
From 3cf6891f84548a9519bed5db83ad19e801ad8d22 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Thu, 4 Apr 2019 02:25:00 +0300
|
||||
Subject: [PATCH] ddraw: Allow setting texture without DDSCAPS_TEXTURE for
|
||||
software device.
|
||||
|
||||
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
|
||||
---
|
||||
dlls/ddraw/device.c | 20 ++++++--
|
||||
dlls/ddraw/tests/ddraw4.c | 102 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 118 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
|
||||
index c99eafc7524..49aae2feef5 100644
|
||||
--- a/dlls/ddraw/device.c
|
||||
+++ b/dlls/ddraw/device.c
|
||||
@@ -4822,7 +4822,8 @@ static HRESULT d3d_device7_SetTexture(IDirect3DDevice7 *iface,
|
||||
struct ddraw_surface *surf = unsafe_impl_from_IDirectDrawSurface7(texture);
|
||||
struct wined3d_texture *wined3d_texture = NULL;
|
||||
|
||||
- TRACE("iface %p, stage %u, texture %p.\n", iface, stage, texture);
|
||||
+ TRACE("iface %p, stage %u, texture %p, surf %p, surf->surface_desc.ddsCaps.dwCaps %#x.\n",
|
||||
+ iface, stage, texture, surf, surf ? surf->surface_desc.ddsCaps.dwCaps : 0);
|
||||
|
||||
if (surf && (surf->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE))
|
||||
wined3d_texture = surf->draw_texture ? surf->draw_texture : surf->wined3d_texture;
|
||||
@@ -4858,19 +4859,30 @@ static HRESULT WINAPI d3d_device3_SetTexture(IDirect3DDevice3 *iface,
|
||||
{
|
||||
struct d3d_device *device = impl_from_IDirect3DDevice3(iface);
|
||||
struct ddraw_surface *tex = unsafe_impl_from_IDirect3DTexture2(texture);
|
||||
- HRESULT hr;
|
||||
+ struct wined3d_texture *wined3d_texture;
|
||||
|
||||
TRACE("iface %p, stage %u, texture %p.\n", iface, stage, texture);
|
||||
|
||||
wined3d_mutex_lock();
|
||||
|
||||
- hr = IDirect3DDevice7_SetTexture(&device->IDirect3DDevice7_iface, stage, &tex->IDirectDrawSurface7_iface);
|
||||
+ if (tex && ((tex->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE) || !device->hardware_device))
|
||||
+ {
|
||||
+ if (!(tex->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE))
|
||||
+ WARN("Setting texture without DDSCAPS_TEXTURE.\n");
|
||||
+ wined3d_texture = tex->wined3d_texture;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ wined3d_texture = NULL;
|
||||
+ }
|
||||
+
|
||||
+ wined3d_stateblock_set_texture(device->state, stage, wined3d_texture);
|
||||
|
||||
fixup_texture_alpha_op(device);
|
||||
|
||||
wined3d_mutex_unlock();
|
||||
|
||||
- return hr;
|
||||
+ return D3D_OK;
|
||||
}
|
||||
|
||||
static const struct tss_lookup
|
||||
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
|
||||
index 5af824c3f78..032ae01fbf8 100644
|
||||
--- a/dlls/ddraw/tests/ddraw4.c
|
||||
+++ b/dlls/ddraw/tests/ddraw4.c
|
||||
@@ -18326,6 +18326,107 @@ static void run_for_each_device_type(void (*test_func)(const GUID *))
|
||||
test_func(&IID_IDirect3DRGBDevice);
|
||||
}
|
||||
|
||||
+static void test_texture_wrong_caps(const GUID *device_guid)
|
||||
+{
|
||||
+ static struct
|
||||
+ {
|
||||
+ struct vec3 position;
|
||||
+ struct vec2 texcoord;
|
||||
+ }
|
||||
+ quad[] =
|
||||
+ {
|
||||
+ {{-1.0f, -1.0f, 0.0f}, {0.0f, 1.0f}},
|
||||
+ {{-1.0f, 1.0f, 0.0f}, {0.0f, 0.0f}},
|
||||
+ {{ 1.0f, -1.0f, 0.0f}, {1.0f, 1.0f}},
|
||||
+ {{ 1.0f, 1.0f, 0.0f}, {1.0f, 0.0f}},
|
||||
+ };
|
||||
+ static DDPIXELFORMAT fmt =
|
||||
+ {
|
||||
+ sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
|
||||
+ {32}, {0x00ff0000}, {0x0000ff00}, {0x000000ff}, {0xff000000}
|
||||
+ };
|
||||
+ D3DRECT clear_rect = {{0}, {0}, {640}, {480}};
|
||||
+ IDirectDrawSurface4 *surface, *rt;
|
||||
+ D3DCOLOR color, expected_color;
|
||||
+ IDirect3DViewport3 *viewport;
|
||||
+ IDirect3DTexture2 *texture;
|
||||
+ IDirect3DDevice3 *device;
|
||||
+ IDirectDraw4 *ddraw;
|
||||
+ DDSURFACEDESC2 ddsd;
|
||||
+ IDirect3D3 *d3d;
|
||||
+ ULONG refcount;
|
||||
+ HWND window;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ window = create_window();
|
||||
+ if (!(device = create_device_ex(window, DDSCL_NORMAL, device_guid)))
|
||||
+ {
|
||||
+ skip("Failed to create a 3D device, skipping test.\n");
|
||||
+ DestroyWindow(window);
|
||||
+ return;
|
||||
+ }
|
||||
+ hr = IDirect3DDevice3_GetDirect3D(device, &d3d);
|
||||
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3D3_QueryInterface(d3d, &IID_IDirectDraw4, (void **)&ddraw);
|
||||
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_GetRenderTarget(device, &rt);
|
||||
+ ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+
|
||||
+ viewport = create_viewport(device, 0, 0, 640, 480);
|
||||
+ hr = IDirect3DDevice3_SetCurrentViewport(device, viewport);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+
|
||||
+ memset(&ddsd, 0, sizeof(ddsd));
|
||||
+ ddsd.dwSize = sizeof(ddsd);
|
||||
+ ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT;
|
||||
+ ddsd.dwHeight = 16;
|
||||
+ ddsd.dwWidth = 16;
|
||||
+ ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
|
||||
+ U4(ddsd).ddpfPixelFormat = fmt;
|
||||
+ hr = IDirectDraw4_CreateSurface(ddraw, &ddsd, &surface, NULL);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirectDrawSurface4_QueryInterface(surface, &IID_IDirect3DTexture2, (void **)&texture);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+
|
||||
+ fill_surface(surface, 0xff00ff00);
|
||||
+
|
||||
+ hr = IDirect3DDevice3_SetRenderState(device, D3DRENDERSTATE_ZENABLE, D3DZB_FALSE);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+
|
||||
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_SetTextureStageState(device, 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
|
||||
+
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_SetTexture(device, 0, texture);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DViewport3_Clear2(viewport, 1, &clear_rect, D3DCLEAR_TARGET, 0x000000ff, 0.0f, 0);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_BeginScene(device);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_DrawPrimitive(device, D3DPT_TRIANGLESTRIP,
|
||||
+ D3DFVF_XYZ | D3DFVF_TEX1, quad, 4, 0);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+ hr = IDirect3DDevice3_EndScene(device);
|
||||
+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
+
|
||||
+ expected_color = is_software_device_type(device_guid) ? 0x0000ff00 : 0x00ffffff;
|
||||
+ color = get_surface_color(rt, 320, 240);
|
||||
+ ok(color == expected_color, "Got color 0x%08x, expected 0x%08x.\n", color, expected_color);
|
||||
+
|
||||
+ IDirect3DTexture2_Release(texture);
|
||||
+ IDirectDrawSurface4_Release(surface);
|
||||
+ IDirectDraw4_Release(ddraw);
|
||||
+ IDirect3D3_Release(d3d);
|
||||
+ refcount = IDirect3DDevice3_Release(device);
|
||||
+ ok(!refcount, "Device has %u references left.\n", refcount);
|
||||
+ DestroyWindow(window);
|
||||
+}
|
||||
+
|
||||
START_TEST(ddraw4)
|
||||
{
|
||||
DDDEVICEIDENTIFIER identifier;
|
||||
@@ -18458,6 +18559,7 @@ START_TEST(ddraw4)
|
||||
test_gdi_surface();
|
||||
test_alphatest();
|
||||
test_clipper_refcount();
|
||||
+ run_for_each_device_type(test_texture_wrong_caps);
|
||||
test_caps();
|
||||
test_d32_support();
|
||||
test_surface_format_conversion_alpha();
|
||||
--
|
||||
2.20.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [46948] Allow setting texture without DDSCAPS_TEXTURE for software device
|
@@ -1,21 +1,21 @@
|
||||
From cdfc54a6363804cc8ee9146c3adbd51e431bcbf2 Mon Sep 17 00:00:00 2001
|
||||
From 4ff4b0b2c1a5aeabeec286dc76868acbccc8779d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 5 Apr 2015 19:13:18 +0200
|
||||
Subject: dsound: Allow disabling of EAX support in the registry.
|
||||
Subject: [PATCH] dsound: Allow disabling of EAX support in the registry.
|
||||
|
||||
Based on a patch by Mark Harmstone.
|
||||
---
|
||||
dlls/dsound/buffer.c | 16 ++++++----------
|
||||
dlls/dsound/dsound_main.c | 9 ++++++++-
|
||||
dlls/dsound/dsound_main.c | 8 ++++++++
|
||||
dlls/dsound/dsound_private.h | 2 ++
|
||||
dlls/dsound/eax.c | 28 ++++++++++++++++++++++++++++
|
||||
4 files changed, 44 insertions(+), 11 deletions(-)
|
||||
4 files changed, 44 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index b763514..ca93972 100644
|
||||
index 926dbab1289..6393656c9fa 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -35,6 +35,7 @@
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "dsconf.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(dsound);
|
||||
@@ -23,7 +23,7 @@ index b763514..ca93972 100644
|
||||
|
||||
/*******************************************************************************
|
||||
* IDirectSoundNotify
|
||||
@@ -1329,16 +1330,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
@@ -1311,16 +1312,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
|
||||
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
|
||||
@@ -46,31 +46,21 @@ index b763514..ca93972 100644
|
||||
|
||||
return E_PROP_ID_UNSUPPORTED;
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index b349eb4..db2ca50 100644
|
||||
index fecb9489678..8b396a1939e 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -94,8 +94,12 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
|
||||
@@ -93,6 +93,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
|
||||
int ds_hel_buflen = 32768 * 2;
|
||||
int ds_hq_buffers_max = 4;
|
||||
+BOOL ds_eax_enabled = FALSE;
|
||||
static HINSTANCE instance;
|
||||
|
||||
+
|
||||
+#define IS_OPTION_TRUE(ch) \
|
||||
+ ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
|
||||
+
|
||||
|
||||
/*
|
||||
* Get a config key from either the app-specific or the default config
|
||||
*/
|
||||
@@ -108,7 +112,6 @@ static inline DWORD get_config_key( HKEY defkey, HKEY appkey, const char *name,
|
||||
return ERROR_FILE_NOT_FOUND;
|
||||
}
|
||||
|
||||
-
|
||||
/*
|
||||
* Setup the dsound options.
|
||||
*/
|
||||
@@ -149,11 +152,15 @@ void setup_dsound_options(void)
|
||||
@@ -147,11 +151,15 @@ void setup_dsound_options(void)
|
||||
if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
|
||||
ds_hq_buffers_max = atoi(buffer);
|
||||
|
||||
@@ -87,7 +77,7 @@ index b349eb4..db2ca50 100644
|
||||
|
||||
static const char * get_device_id(LPCGUID pGuid)
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index 5a986ba..4e928a4 100644
|
||||
index bca2bf46601..47a42e62e7c 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -37,6 +37,7 @@
|
||||
@@ -98,7 +88,7 @@ index 5a986ba..4e928a4 100644
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interface implementation structures
|
||||
@@ -230,6 +231,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
@@ -228,6 +229,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
|
||||
|
||||
/* eax.c */
|
||||
@@ -107,7 +97,7 @@ index 5a986ba..4e928a4 100644
|
||||
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
|
||||
ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
|
||||
index e10156e..857f924 100644
|
||||
index ef802b95a7d..570207709f0 100644
|
||||
--- a/dlls/dsound/eax.c
|
||||
+++ b/dlls/dsound/eax.c
|
||||
@@ -809,6 +809,28 @@ void free_eax_buffer(IDirectSoundBufferImpl *dsb)
|
||||
@@ -160,5 +150,5 @@ index e10156e..857f924 100644
|
||||
buf->device->eax.using_eax = TRUE;
|
||||
|
||||
--
|
||||
2.8.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 25450e6cf073bde4f26fec40c59224087017f332 Mon Sep 17 00:00:00 2001
|
||||
From 173f555d0d4639122bd47d30310152263c1b27bf Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 1 Jan 2021 13:32:48 +1100
|
||||
Subject: [PATCH] dsound: Enable EAX by default
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] dsound: Enable EAX by default
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index e12c2208199..bda9a446a08 100644
|
||||
index 8b396a1939e..44463992e92 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -93,7 +93,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
@@ -17,9 +17,9 @@ index e12c2208199..bda9a446a08 100644
|
||||
int ds_hq_buffers_max = 4;
|
||||
-BOOL ds_eax_enabled = FALSE;
|
||||
+BOOL ds_eax_enabled = TRUE;
|
||||
static HINSTANCE instance;
|
||||
|
||||
#define IS_OPTION_TRUE(ch) \
|
||||
((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
|
||||
--
|
||||
2.29.2
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,28 +1,28 @@
|
||||
From fe24cfe8b8e99c4e41fc9d147d7815bce37d2fa0 Mon Sep 17 00:00:00 2001
|
||||
From cdbe11004fe8b7fb87fff18f2a458259be02fe2d Mon Sep 17 00:00:00 2001
|
||||
From: "Alexander E. Patrakov" <patrakov at gmail.com>
|
||||
Date: Thu, 7 Aug 2014 17:15:00 -0600
|
||||
Subject: dsound: Add a linear resampler for use with a large number of mixing
|
||||
buffers. (rev 2)
|
||||
Subject: [PATCH] dsound: Add a linear resampler for use with a large number of
|
||||
mixing buffers. (rev 2)
|
||||
|
||||
---
|
||||
dlls/dsound/dsound_main.c | 5 +++++
|
||||
dlls/dsound/dsound_main.c | 5 ++++
|
||||
dlls/dsound/dsound_private.h | 1 +
|
||||
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++++++++++---
|
||||
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++---
|
||||
3 files changed, 51 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index 112ce78..b349eb4 100644
|
||||
index f3bce6062fe..fecb9489678 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -93,6 +93,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
|
||||
@@ -92,6 +92,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
|
||||
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
|
||||
int ds_hel_buflen = 32768 * 2;
|
||||
+int ds_hq_buffers_max = 4;
|
||||
static HINSTANCE instance;
|
||||
|
||||
/*
|
||||
@@ -145,10 +146,14 @@ void setup_dsound_options(void)
|
||||
* Get a config key from either the app-specific or the default config
|
||||
@@ -143,10 +144,14 @@ void setup_dsound_options(void)
|
||||
if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH ))
|
||||
ds_hel_buflen = atoi(buffer);
|
||||
|
||||
@@ -38,7 +38,7 @@ index 112ce78..b349eb4 100644
|
||||
|
||||
static const char * get_device_id(LPCGUID pGuid)
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index b980453..b6bce1d 100644
|
||||
index bdb9ebee544..d154e67b0a0 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -35,6 +35,7 @@
|
||||
@@ -50,10 +50,10 @@ index b980453..b6bce1d 100644
|
||||
/*****************************************************************************
|
||||
* Predeclare the interface implementation structures
|
||||
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
|
||||
index dec8ffd..c358385 100644
|
||||
index a6402b09eff..28f32e9d092 100644
|
||||
--- a/dlls/dsound/mixer.c
|
||||
+++ b/dlls/dsound/mixer.c
|
||||
@@ -278,7 +278,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
|
||||
@@ -295,7 +295,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ index dec8ffd..c358385 100644
|
||||
{
|
||||
UINT i, channel;
|
||||
UINT istride = dsb->pwfx->nBlockAlign;
|
||||
@@ -349,9 +389,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
|
||||
@@ -374,9 +414,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
|
||||
DWORD ipos, adv;
|
||||
|
||||
if (dsb->freqAdjustNum == dsb->freqAdjustDen)
|
||||
@@ -117,5 +117,5 @@ index dec8ffd..c358385 100644
|
||||
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
|
||||
if (ipos >= dsb->buflen) {
|
||||
--
|
||||
2.8.0
|
||||
2.30.2
|
||||
|
||||
|
@@ -1,82 +0,0 @@
|
||||
From ea0fedf84c544522583b39bdd78a30b2d7a52a41 Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Tue, 13 Oct 2020 04:41:57 -0500
|
||||
Subject: [PATCH] d3dpmesh: add stub dll
|
||||
|
||||
Signed-off-by: Austin English <austinenglish@gmail.com>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/d3dpmesh/Makefile.in | 6 ++++++
|
||||
dlls/d3dpmesh/d3dpmesh.spec | 1 +
|
||||
dlls/d3dpmesh/version.rc | 26 ++++++++++++++++++++++++++
|
||||
4 files changed, 34 insertions(+)
|
||||
create mode 100644 dlls/d3dpmesh/Makefile.in
|
||||
create mode 100644 dlls/d3dpmesh/d3dpmesh.spec
|
||||
create mode 100644 dlls/d3dpmesh/version.rc
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c80e2691f65..25e1ef17993 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3124,6 +3124,7 @@ WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_47)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_47/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3dim)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3dim700)
|
||||
+WINE_CONFIG_MAKEFILE(dlls/d3dpmesh)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3drm)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3drm/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/d3dx10_33)
|
||||
diff --git a/dlls/d3dpmesh/Makefile.in b/dlls/d3dpmesh/Makefile.in
|
||||
new file mode 100644
|
||||
index 00000000000..334dacd1090
|
||||
--- /dev/null
|
||||
+++ b/dlls/d3dpmesh/Makefile.in
|
||||
@@ -0,0 +1,6 @@
|
||||
+MODULE = d3dpmesh.dll
|
||||
+
|
||||
+EXTRADLLFLAGS = -Wb,--prefer-native
|
||||
+
|
||||
+
|
||||
+RC_SRCS = version.rc
|
||||
diff --git a/dlls/d3dpmesh/d3dpmesh.spec b/dlls/d3dpmesh/d3dpmesh.spec
|
||||
new file mode 100644
|
||||
index 00000000000..d4b9a46bd7a
|
||||
--- /dev/null
|
||||
+++ b/dlls/d3dpmesh/d3dpmesh.spec
|
||||
@@ -0,0 +1 @@
|
||||
+@ stub CreateD3DRMPMeshVisual
|
||||
diff --git a/dlls/d3dpmesh/version.rc b/dlls/d3dpmesh/version.rc
|
||||
new file mode 100644
|
||||
index 00000000000..87e601a95a7
|
||||
--- /dev/null
|
||||
+++ b/dlls/d3dpmesh/version.rc
|
||||
@@ -0,0 +1,26 @@
|
||||
+/*
|
||||
+ * Copyright 2020 Austin English
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#define WINE_FILEDESCRIPTION_STR "Wine d3dpmesh"
|
||||
+#define WINE_FILENAME_STR "d3dpmesh.dll"
|
||||
+#define WINE_FILEVERSION 5,0,2134,1
|
||||
+#define WINE_FILEVERSION_STR "5.0.2134.1"
|
||||
+#define WINE_PRODUCTVERSION 5,0,2134,1
|
||||
+#define WINE_PRODUCTVERSION_STR "5.0.2134.1"
|
||||
+
|
||||
+#include "wine/wine_common_ver.rc"
|
||||
--
|
||||
2.20.1
|
||||
|
@@ -1,85 +0,0 @@
|
||||
From 08a6b78031ae7b2b9fb042c3d411d4366a19d81c Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Tue, 13 Oct 2020 04:43:09 -0500
|
||||
Subject: [PATCH] diactfrm: add stub dll
|
||||
|
||||
Signed-off-by: Austin English <austinenglish@gmail.com>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/diactfrm/Makefile.in | 6 ++++++
|
||||
dlls/diactfrm/diactfrm.spec | 4 ++++
|
||||
dlls/diactfrm/version.rc | 26 ++++++++++++++++++++++++++
|
||||
4 files changed, 37 insertions(+)
|
||||
create mode 100644 dlls/diactfrm/Makefile.in
|
||||
create mode 100644 dlls/diactfrm/diactfrm.spec
|
||||
create mode 100644 dlls/diactfrm/version.rc
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 25e1ef17993..8a7a58d413e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3182,6 +3182,7 @@ WINE_CONFIG_MAKEFILE(dlls/devenum/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dhcpcsvc)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dhcpcsvc/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dhtmled.ocx)
|
||||
+WINE_CONFIG_MAKEFILE(dlls/diactfrm)
|
||||
WINE_CONFIG_MAKEFILE(dlls/difxapi)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dinput)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dinput/tests)
|
||||
diff --git a/dlls/diactfrm/Makefile.in b/dlls/diactfrm/Makefile.in
|
||||
new file mode 100644
|
||||
index 00000000000..9f6ec3cd702
|
||||
--- /dev/null
|
||||
+++ b/dlls/diactfrm/Makefile.in
|
||||
@@ -0,0 +1,6 @@
|
||||
+MODULE = diactfrm.dll
|
||||
+
|
||||
+EXTRADLLFLAGS = -Wb,--prefer-native
|
||||
+
|
||||
+
|
||||
+RC_SRCS = version.rc
|
||||
diff --git a/dlls/diactfrm/diactfrm.spec b/dlls/diactfrm/diactfrm.spec
|
||||
new file mode 100644
|
||||
index 00000000000..c5fc87af6d5
|
||||
--- /dev/null
|
||||
+++ b/dlls/diactfrm/diactfrm.spec
|
||||
@@ -0,0 +1,4 @@
|
||||
+@ stub DllCanUnloadNow
|
||||
+@ stub DllGetClassObject
|
||||
+@ stub DllRegisterServer
|
||||
+@ stub DllUnregisterServer
|
||||
diff --git a/dlls/diactfrm/version.rc b/dlls/diactfrm/version.rc
|
||||
new file mode 100644
|
||||
index 00000000000..b6b6692b831
|
||||
--- /dev/null
|
||||
+++ b/dlls/diactfrm/version.rc
|
||||
@@ -0,0 +1,26 @@
|
||||
+/*
|
||||
+ * Copyright 2020 Austin English
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#define WINE_FILEDESCRIPTION_STR "Wine diactfrm"
|
||||
+#define WINE_FILENAME_STR "diactfrm.dll"
|
||||
+#define WINE_FILEVERSION 5,1,2600,881
|
||||
+#define WINE_FILEVERSION_STR "5.1.2600.881"
|
||||
+#define WINE_PRODUCTVERSION 5,1,2600,881
|
||||
+#define WINE_PRODUCTVERSION_STR "5.1.2600.881"
|
||||
+
|
||||
+#include "wine/wine_common_ver.rc"
|
||||
--
|
||||
2.20.1
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user