You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e004127f41 | ||
|
5cba568c93 | ||
|
e2610f8a45 | ||
|
e250393ba4 | ||
|
ce66dea197 | ||
|
7cd95e9f79 | ||
|
c605cf204a | ||
|
a8f798fc3c | ||
|
a8a6d7b0ed | ||
|
f09ef9a3ca | ||
|
a877872a9a | ||
|
e2390e2637 | ||
|
999c6a11d6 | ||
|
dde6218e4e | ||
|
6336965159 | ||
|
18084e82a7 | ||
|
89d2f58ebd | ||
|
1db546cd7e | ||
|
5e73b4fe8b | ||
|
54295e8aaa |
@@ -1,14 +1,14 @@
|
||||
From 05dfee93e261b38037c370611ab0f63a2785a08c Mon Sep 17 00:00:00 2001
|
||||
From 956a8db76088ebaa82e0093ab0e62ed1ed2aa69b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Feb 2016 00:04:10 +0100
|
||||
Subject: [PATCH] krnl386.exe16: Emulate GDT and LDT access.
|
||||
|
||||
---
|
||||
dlls/krnl386.exe16/instr.c | 65 ++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 56 insertions(+), 9 deletions(-)
|
||||
dlls/krnl386.exe16/instr.c | 57 +++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 50 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/krnl386.exe16/instr.c b/dlls/krnl386.exe16/instr.c
|
||||
index 666ef71363f..c6d05b7a0c9 100644
|
||||
index 6af3ca30d59..bc05db6a719 100644
|
||||
--- a/dlls/krnl386.exe16/instr.c
|
||||
+++ b/dlls/krnl386.exe16/instr.c
|
||||
@@ -60,7 +60,8 @@ static inline void *get_stack( CONTEXT *context )
|
||||
@@ -21,7 +21,7 @@ index 666ef71363f..c6d05b7a0c9 100644
|
||||
{
|
||||
WORD limit;
|
||||
BYTE *base;
|
||||
@@ -68,19 +69,41 @@ struct idtr
|
||||
@@ -68,12 +69,30 @@ struct idtr
|
||||
#pragma pack(pop)
|
||||
|
||||
static LDT_ENTRY idt[256];
|
||||
@@ -32,43 +32,30 @@ index 666ef71363f..c6d05b7a0c9 100644
|
||||
+static BOOL emulate_idtr( BYTE *data, unsigned int data_size, unsigned int *offset )
|
||||
{
|
||||
- struct idtr ret;
|
||||
#if defined(__i386__) && defined(__GNUC__)
|
||||
+ struct dtr ret;
|
||||
__asm__( "sidtl %0" : "=m" (ret) );
|
||||
- return ret;
|
||||
+ *offset = data - ret.base;
|
||||
+ return (*offset <= ret.limit + 1 - data_size);
|
||||
+#else
|
||||
+ return FALSE;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static BOOL emulate_gdtr( BYTE *data, unsigned int data_size, unsigned int *offset )
|
||||
+{
|
||||
+#if defined(__i386__) && defined(__GNUC__)
|
||||
+ struct dtr ret;
|
||||
+ __asm__( "sgdtl %0" : "=m" (ret) );
|
||||
+ *offset = data - ret.base;
|
||||
+ return (*offset <= ret.limit + 1 - data_size);
|
||||
#else
|
||||
- ret.base = (BYTE *)idt;
|
||||
- ret.limit = sizeof(idt) - 1;
|
||||
+ return FALSE;
|
||||
#endif
|
||||
- return ret;
|
||||
}
|
||||
|
||||
+}
|
||||
+
|
||||
+static inline WORD get_ldt(void)
|
||||
+{
|
||||
+ WORD seg = 1;
|
||||
+#if defined(__i386__) && defined(__GNUC__)
|
||||
+ __asm__( "sldt %0" : "=m" (seg) );
|
||||
+#endif
|
||||
+ return seg;
|
||||
+}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* INSTR_ReplaceSelector
|
||||
@@ -705,10 +728,9 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
|
||||
@@ -700,10 +719,9 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
BYTE *data = INSTR_GetOperandAddr(context, instr + 1, long_addr,
|
||||
segprefix, &len);
|
||||
unsigned int data_size = (*instr == 0x8b) ? (long_op ? 4 : 2) : 1;
|
||||
@@ -81,7 +68,7 @@ index 666ef71363f..c6d05b7a0c9 100644
|
||||
{
|
||||
idt[1].LimitLow = 0x100; /* FIXME */
|
||||
idt[2].LimitLow = 0x11E; /* FIXME */
|
||||
@@ -722,6 +744,31 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
@@ -717,6 +735,31 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
context->Eip += prefixlen + len + 1;
|
||||
return ExceptionContinueExecution;
|
||||
}
|
||||
|
@@ -1,50 +1,26 @@
|
||||
From d1d83243555801226876f651b6f3304d3e595ae4 Mon Sep 17 00:00:00 2001
|
||||
From 684fb32612284520e8e4b61cb015f546c8b5d218 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 1 Jul 2019 09:58:55 +1000
|
||||
Subject: [PATCH] loader: Add Keyboard Layouts registry enteries.
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
loader/wine.inf.in | 209 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 209 insertions(+)
|
||||
loader/wine.inf.in | 206 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 206 insertions(+)
|
||||
|
||||
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
|
||||
index d5f943861a8..b07843ff237 100644
|
||||
index f204c458511..62cc028a0d0 100644
|
||||
--- a/loader/wine.inf.in
|
||||
+++ b/loader/wine.inf.in
|
||||
@@ -63,6 +63,7 @@ AddReg=\
|
||||
Debugger,\
|
||||
@@ -64,6 +64,7 @@ AddReg=\
|
||||
DirectX,\
|
||||
Fonts,\
|
||||
LicenseInformation,\
|
||||
+ KeyboardLayouts,\
|
||||
MCI,\
|
||||
Misc,\
|
||||
OLE,\
|
||||
@@ -86,6 +87,7 @@ AddReg=\
|
||||
Debugger,\
|
||||
DirectX,\
|
||||
Fonts,\
|
||||
+ KeyboardLayouts,\
|
||||
MCI,\
|
||||
Misc,\
|
||||
OLE,\
|
||||
@@ -111,6 +113,7 @@ AddReg=\
|
||||
Debugger,\
|
||||
DirectX,\
|
||||
Fonts,\
|
||||
+ KeyboardLayouts,\
|
||||
MCI,\
|
||||
Misc,\
|
||||
OLE,\
|
||||
@@ -156,6 +159,7 @@ AddReg=\
|
||||
CurrentVersionWow64.ntx86,\
|
||||
Debugger,\
|
||||
DirectX,\
|
||||
+ KeyboardLayouts,\
|
||||
MCI,\
|
||||
Misc,\
|
||||
Tapi,\
|
||||
@@ -628,6 +632,211 @@ HKCU,Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoic
|
||||
@@ -632,6 +633,211 @@ HKCU,Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoic
|
||||
HKCU,Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice,"ProgId",,"http"
|
||||
HKCU,Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice,"ProgId",,"https"
|
||||
|
||||
@@ -257,5 +233,5 @@ index d5f943861a8..b07843ff237 100644
|
||||
HKLM,"Software\Microsoft\OLE","EnableDCOM",,"Y"
|
||||
HKLM,"Software\Microsoft\OLE","EnableRemoteConnect",,"N"
|
||||
--
|
||||
2.39.2
|
||||
2.50.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e27b26f100bedf8f8374333ce9026fd96ed9102b Mon Sep 17 00:00:00 2001
|
||||
From d529517d43a4747ab61dde9c6eff4a14a261d678 Mon Sep 17 00:00:00 2001
|
||||
From: Torge Matthies <tmatthies@codeweavers.com>
|
||||
Date: Fri, 25 Oct 2024 10:47:30 +0200
|
||||
Subject: [PATCH] mf/tests: Add network bytestream tests.
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH] mf/tests: Add network bytestream tests.
|
||||
1 file changed, 347 insertions(+)
|
||||
|
||||
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
|
||||
index 1070e9c1b2d..9d41b05fad3 100644
|
||||
index a02f2859f91..db58a55d145 100644
|
||||
--- a/dlls/mf/tests/mf.c
|
||||
+++ b/dlls/mf/tests/mf.c
|
||||
@@ -4908,6 +4908,7 @@ static void test_evr(void)
|
||||
@@ -5190,6 +5190,7 @@ static void test_evr(void)
|
||||
|
||||
hr = IMFActivate_ActivateObject(activate, &IID_IMFMediaSink, (void **)&sink);
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
@@ -19,8 +19,8 @@ index 1070e9c1b2d..9d41b05fad3 100644
|
||||
|
||||
check_interface(sink, &IID_IMFMediaSinkPreroll, TRUE);
|
||||
check_interface(sink, &IID_IMFVideoRenderer, TRUE);
|
||||
@@ -7130,6 +7131,351 @@ static void test_media_session_thinning(void)
|
||||
ok(hr == S_OK, "Shutdown failure, hr %#lx.\n", hr);
|
||||
@@ -8040,6 +8041,351 @@ static void test_media_session_seek(void)
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
}
|
||||
|
||||
+static void test_network_bytestream(void)
|
||||
@@ -371,14 +371,14 @@ index 1070e9c1b2d..9d41b05fad3 100644
|
||||
START_TEST(mf)
|
||||
{
|
||||
init_functions();
|
||||
@@ -7165,6 +7511,7 @@ START_TEST(mf)
|
||||
@@ -8075,6 +8421,7 @@ START_TEST(mf)
|
||||
test_media_session_Start();
|
||||
test_MFEnumDeviceSources();
|
||||
test_media_session_Close();
|
||||
+ test_network_bytestream();
|
||||
test_media_session_source_shutdown();
|
||||
test_media_session_thinning();
|
||||
}
|
||||
test_media_session_seek();
|
||||
--
|
||||
2.47.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 5b94720ada0b6f75ddff60cf19472a2685dbeaf0 Mon Sep 17 00:00:00 2001
|
||||
From 6b96b85136b078f9779c07e5c0daecd7b1006e09 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sun, 4 Sep 2022 13:19:16 -0600
|
||||
Subject: [PATCH] ntdll: Allow reparse points to target the applicable Unix
|
||||
@@ -9,14 +9,14 @@ the user to follow the symlink outside of Wine.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
dlls/ntdll/unix/file.c | 118 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 118 insertions(+)
|
||||
dlls/ntdll/unix/file.c | 90 ++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 90 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index c54fd1119e1..33f26ceb89a 100644
|
||||
index f83a30d36ed..234a0fa7397 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -3712,6 +3712,114 @@ static NTSTATUS get_reparse_target( UNICODE_STRING *nt_target, REPARSE_DATA_BUFF
|
||||
@@ -3714,6 +3714,86 @@ static NTSTATUS get_reparse_target( UNICODE_STRING *nt_target, REPARSE_DATA_BUFF
|
||||
}
|
||||
|
||||
|
||||
@@ -24,12 +24,9 @@ index c54fd1119e1..33f26ceb89a 100644
|
||||
+NTSTATUS create_reparse_target( int dirfd, const char *unix_src, int depth, const char *link_path,
|
||||
+ REPARSE_DATA_BUFFER *buffer )
|
||||
+{
|
||||
+ ULONG nt_path_len = PATH_MAX, unix_path_len = PATH_MAX;
|
||||
+ UNICODE_STRING nt_target, nt_full_target;
|
||||
+ ULONG unix_target_len = PATH_MAX;
|
||||
+ char *unix_path = NULL, *d;
|
||||
+ char target_path[PATH_MAX];
|
||||
+ OBJECT_ATTRIBUTES attr;
|
||||
+ int nt_target_len;
|
||||
+ char *unix_target;
|
||||
+ int is_relative;
|
||||
@@ -41,8 +38,6 @@ index c54fd1119e1..33f26ceb89a 100644
|
||||
+ /* if the target path is relative then turn the source path into an NT path */
|
||||
+ if (is_relative)
|
||||
+ {
|
||||
+ UNICODE_STRING nt_path_tmp;
|
||||
+
|
||||
+ /* resolve the NT path of the source */
|
||||
+ unix_path = malloc( strlen(unix_src) + 2 );
|
||||
+ if (!unix_path) return STATUS_NO_MEMORY;
|
||||
@@ -55,17 +50,7 @@ index c54fd1119e1..33f26ceb89a 100644
|
||||
+ if (status != STATUS_SUCCESS)
|
||||
+ return status;
|
||||
+ /* re-resolve the unix path for the source */
|
||||
+ nt_path_tmp.Buffer = nt_path;
|
||||
+ nt_path_tmp.Length = wcslen(nt_path) * sizeof(WCHAR);
|
||||
+ InitializeObjectAttributes( &attr, &nt_path_tmp, 0, 0, NULL );
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ unix_path = malloc( unix_path_len );
|
||||
+ if (!unix_path) return STATUS_NO_MEMORY;
|
||||
+ status = wine_nt_to_unix_file_name( &attr, unix_path, &unix_path_len, FILE_OPEN_IF );
|
||||
+ if (status != STATUS_BUFFER_TOO_SMALL) break;
|
||||
+ free( unix_path );
|
||||
+ }
|
||||
+ status = ntdll_get_unix_file_name( nt_path, &unix_path, FILE_OPEN_IF );
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
@@ -85,21 +70,8 @@ index c54fd1119e1..33f26ceb89a 100644
|
||||
+ wcscpy( nt_full_target.Buffer, nt_path );
|
||||
+ free( nt_path );
|
||||
+ memcpy( &nt_full_target.Buffer[wcslen(nt_full_target.Buffer)], nt_target.Buffer, nt_target_len );
|
||||
+ nt_full_target.Length = wcslen( nt_full_target.Buffer ) * sizeof(WCHAR);
|
||||
+ /* find the unix path for the target */
|
||||
+ InitializeObjectAttributes( &attr, &nt_full_target, 0, 0, NULL );
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ unix_target = malloc( unix_target_len );
|
||||
+ if (!unix_target)
|
||||
+ {
|
||||
+ status = STATUS_NO_MEMORY;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ status = wine_nt_to_unix_file_name( &attr, unix_target, &unix_target_len, FILE_OPEN_IF );
|
||||
+ if (status != STATUS_BUFFER_TOO_SMALL) break;
|
||||
+ free( unix_target );
|
||||
+ }
|
||||
+ status = ntdll_get_unix_file_name( nt_full_target.Buffer, &unix_target, FILE_OPEN_IF );
|
||||
+ /* create the symlink to the target at the last metadata location */
|
||||
+ if (status == STATUS_SUCCESS || status == STATUS_NO_SUCH_FILE)
|
||||
+ {
|
||||
@@ -131,7 +103,7 @@ index c54fd1119e1..33f26ceb89a 100644
|
||||
/*
|
||||
* Retrieve the unix name corresponding to a file handle, remove that directory, and then symlink
|
||||
* the requested directory to the location of the old directory.
|
||||
@@ -3845,6 +3953,16 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
@@ -3847,6 +3927,16 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
link_dir_fd = fd;
|
||||
}
|
||||
|
||||
|
@@ -1,15 +1,15 @@
|
||||
From 41e1d1b92a179f00f391919b47732e7eab9f8337 Mon Sep 17 00:00:00 2001
|
||||
From efd73d7778d8c083337bda1ad162618841c368e0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 30 Nov 2021 16:32:34 +0300
|
||||
Subject: [PATCH] ntdll: Implement opening files through nt device paths.
|
||||
|
||||
---
|
||||
dlls/ntdll/tests/file.c | 25 +++++++-
|
||||
dlls/ntdll/unix/file.c | 134 +++++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 156 insertions(+), 3 deletions(-)
|
||||
dlls/ntdll/unix/file.c | 135 +++++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 157 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 16489f4b29c..11769021b32 100644
|
||||
index 25381caf313..7f048572e03 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -139,18 +139,22 @@ static void WINAPI apc( void *arg, IO_STATUS_BLOCK *iosb, ULONG reserved )
|
||||
@@ -63,10 +63,10 @@ index 16489f4b29c..11769021b32 100644
|
||||
|
||||
static void open_file_test(void)
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index a39079efa97..c76d91cdf68 100644
|
||||
index 542a314ea81..68587cbef11 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -4688,7 +4688,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
|
||||
@@ -4593,7 +4593,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@@ -75,7 +75,7 @@ index a39079efa97..c76d91cdf68 100644
|
||||
*
|
||||
* Convert a file name from NT namespace to Unix namespace.
|
||||
*
|
||||
@@ -4696,7 +4696,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
|
||||
@@ -4601,7 +4601,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
|
||||
* element doesn't have to exist; in that case STATUS_NO_SUCH_FILE is
|
||||
* returned, but the unix name is still filled in properly.
|
||||
*/
|
||||
@@ -84,7 +84,7 @@ index a39079efa97..c76d91cdf68 100644
|
||||
{
|
||||
HANDLE rootdir = attr->RootDirectory;
|
||||
enum server_fd_type type;
|
||||
@@ -4775,6 +4775,136 @@ reparse:
|
||||
@@ -4680,6 +4680,137 @@ reparse:
|
||||
}
|
||||
|
||||
|
||||
@@ -218,8 +218,9 @@ index a39079efa97..c76d91cdf68 100644
|
||||
+ return status;
|
||||
+}
|
||||
+
|
||||
/******************************************************************************
|
||||
* wine_nt_to_unix_file_name
|
||||
+
|
||||
/******************************************************************
|
||||
* collapse_path
|
||||
*
|
||||
--
|
||||
2.47.2
|
||||
|
@@ -1,2 +1,3 @@
|
||||
Fixes: [37487] Resolve \\SystemRoot\\ prefix when opening files
|
||||
Fixes: Implement opening files through nt device paths
|
||||
Depends: ntdll-Junction_Points
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e1f8622b3b787ca19ca1cfc149492c517e5833c4 Mon Sep 17 00:00:00 2001
|
||||
From 034ac695e2f8f6bdd5f610f00b85e5bce08f86a4 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Tue, 20 Jun 2023 11:54:06 -0600
|
||||
Subject: [PATCH] ntdll: Implement NtFlushKey().
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement NtFlushKey().
|
||||
3 files changed, 247 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/registry.c b/dlls/ntdll/unix/registry.c
|
||||
index 88ad7e569a1..492dd00d67a 100644
|
||||
index e6b0d40c875..3b6bb9d817a 100644
|
||||
--- a/dlls/ntdll/unix/registry.c
|
||||
+++ b/dlls/ntdll/unix/registry.c
|
||||
@@ -29,6 +29,8 @@
|
||||
@@ -210,10 +210,10 @@ index 88ad7e569a1..492dd00d67a 100644
|
||||
}
|
||||
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 1117e3b797a..910960285a0 100644
|
||||
index 4e3e2885240..6bed72d380c 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1834,6 +1834,18 @@ struct process_info
|
||||
@@ -2023,6 +2023,18 @@ struct process_info
|
||||
/* Flush a registry key */
|
||||
@REQ(flush_key)
|
||||
obj_handle_t hkey; /* handle to the key */
|
||||
@@ -233,7 +233,7 @@ index 1117e3b797a..910960285a0 100644
|
||||
|
||||
|
||||
diff --git a/server/registry.c b/server/registry.c
|
||||
index ec1ca27be80..6ec1202cf7a 100644
|
||||
index 73b75147850..dd6735fdce9 100644
|
||||
--- a/server/registry.c
|
||||
+++ b/server/registry.c
|
||||
@@ -90,6 +90,7 @@ struct key
|
||||
@@ -290,7 +290,7 @@ index ec1ca27be80..6ec1202cf7a 100644
|
||||
}
|
||||
|
||||
/* go through all the notifications and send them if necessary */
|
||||
@@ -1995,6 +2001,7 @@ void init_registry(void)
|
||||
@@ -2009,6 +2015,7 @@ void init_registry(void)
|
||||
/* save a registry branch to a file */
|
||||
static void save_all_subkeys( struct key *key, FILE *f )
|
||||
{
|
||||
@@ -298,7 +298,7 @@ index ec1ca27be80..6ec1202cf7a 100644
|
||||
fprintf( f, "WINE REGISTRY Version 2\n" );
|
||||
fprintf( f, ";; All keys relative to " );
|
||||
dump_path( key, NULL, f );
|
||||
@@ -2179,7 +2186,7 @@ static int save_branch( struct key *key, const char *filename )
|
||||
@@ -2193,7 +2200,7 @@ static int save_branch( struct key *key, const char *filename )
|
||||
}
|
||||
|
||||
done:
|
||||
@@ -307,8 +307,8 @@ index ec1ca27be80..6ec1202cf7a 100644
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2227,6 +2234,36 @@ static int is_wow64_thread( struct thread *thread )
|
||||
return (is_machine_64bit( native_machine ) && !is_machine_64bit( thread->process->machine ));
|
||||
@@ -2235,6 +2242,36 @@ void flush_registry(void)
|
||||
if (fchdir( server_dir_fd ) == -1) fatal_error( "chdir to server dir: %s\n", strerror( errno ));
|
||||
}
|
||||
|
||||
+/* find all the branches inside the specified key or the branch containing the key */
|
||||
@@ -344,7 +344,7 @@ index ec1ca27be80..6ec1202cf7a 100644
|
||||
|
||||
/* create a registry key */
|
||||
DECL_HANDLER(create_key)
|
||||
@@ -2291,15 +2328,56 @@ DECL_HANDLER(delete_key)
|
||||
@@ -2303,15 +2340,56 @@ DECL_HANDLER(delete_key)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,5 +406,5 @@ index ec1ca27be80..6ec1202cf7a 100644
|
||||
|
||||
/* enumerate registry subkeys */
|
||||
--
|
||||
2.43.0
|
||||
2.50.1
|
||||
|
||||
|
@@ -1 +1,2 @@
|
||||
Fixes: [20732] OleLoadPictureEx - First look for specific size if specified.
|
||||
Fixes: [42273] Biet-O-Matic default icons in icon bar loaded in wrong size
|
||||
|
@@ -0,0 +1,42 @@
|
||||
From b85edfd29c3ae8a67ddf079554cbf3ca11775a21 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jul 2025 10:15:14 +1000
|
||||
Subject: [PATCH] msado15: ADOConnectionConstruction15::WrapDSOandSession semi
|
||||
stub
|
||||
|
||||
---
|
||||
dlls/msado15/connection.c | 18 +++++++++++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/msado15/connection.c b/dlls/msado15/connection.c
|
||||
index 568eb8b12c9..ded4a401b27 100644
|
||||
--- a/dlls/msado15/connection.c
|
||||
+++ b/dlls/msado15/connection.c
|
||||
@@ -954,7 +954,23 @@ static HRESULT WINAPI adoconstruct_WrapDSOandSession(ADOConnectionConstruction15
|
||||
{
|
||||
struct connection *connection = impl_from_ADOConnectionConstruction15( iface );
|
||||
FIXME("%p, %p, %p\n", connection, dso, session);
|
||||
- return E_NOTIMPL;
|
||||
+
|
||||
+ if (connection->session)
|
||||
+ IUnknown_Release( connection->session );
|
||||
+ connection->session = session;
|
||||
+ if (connection->session)
|
||||
+ IUnknown_AddRef(connection->session);
|
||||
+
|
||||
+ if (connection->dso)
|
||||
+ IDBInitialize_Release( connection->dso );
|
||||
+ connection->dso = NULL;
|
||||
+ if (dso)
|
||||
+ IUnknown_QueryInterface( dso, &IID_IDBInitialize, (void**)&connection->dso );
|
||||
+
|
||||
+ if (dso && session)
|
||||
+ connection->state = adStateOpen;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
struct ADOConnectionConstruction15Vtbl ado_construct_vtbl =
|
||||
--
|
||||
2.47.2
|
||||
|
@@ -0,0 +1,27 @@
|
||||
From 95c5e58d9f78cefe837f4ce1c9d56fa0e70e3ed6 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 22 Jul 2025 12:06:15 +1000
|
||||
Subject: [PATCH] oleaut32: Treat Interfaces with TYPEFLAG_FDISPATCHABLE flags
|
||||
as an IDispatch.
|
||||
|
||||
---
|
||||
dlls/oleaut32/typelib.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index 856e07c2811..cc0dc4f3c18 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -7917,7 +7917,8 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
|
||||
pTypeInfoImpl->ref = 0;
|
||||
list_init(&pTypeInfoImpl->custdata_list);
|
||||
|
||||
- if (This->typeattr.typekind == TKIND_INTERFACE)
|
||||
+ if (This->typeattr.typekind == TKIND_INTERFACE &&
|
||||
+ This->typeattr.wTypeFlags & TYPEFLAG_FDISPATCHABLE)
|
||||
pTypeInfoImpl->typeattr.typekind = TKIND_DISPATCH;
|
||||
else
|
||||
pTypeInfoImpl->typeattr.typekind = TKIND_INTERFACE;
|
||||
--
|
||||
2.47.2
|
||||
|
2
patches/oleaut32_typelib_dispatch/definition
Normal file
2
patches/oleaut32_typelib_dispatch/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: [31675] oleaut32: Use correct flags to detect IDispatch interfaces.
|
||||
Fixes: msado15: Implement ADOConnectionConstruction15::WrapDSOandSession.
|
@@ -1,4 +1,4 @@
|
||||
From fbd5deecb137fa6ef4b0161266d3fb4b157ad069 Mon Sep 17 00:00:00 2001
|
||||
From 3d9b1442bd52b7ca013f8af5f156446caeecde1c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Thu, 19 Dec 2019 22:34:44 +0100
|
||||
Subject: [PATCH] winex11: Keep track of mouse device and pointer button
|
||||
@@ -17,10 +17,10 @@ Original patch by Andrew Eikum <aeikum@codeweavers.com>.
|
||||
5 files changed, 114 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 1923499cf9c..3c4b09d61fb 100644
|
||||
index 2cc5398d178..5363c8b5e3d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1231,6 +1231,7 @@ then
|
||||
@@ -1258,6 +1258,7 @@ then
|
||||
|
||||
dnl *** All of the following tests require X11/Xlib.h
|
||||
AC_CHECK_HEADERS([X11/extensions/shape.h \
|
||||
@@ -29,10 +29,10 @@ index 1923499cf9c..3c4b09d61fb 100644
|
||||
X11/extensions/XShm.h \
|
||||
X11/extensions/Xfixes.h \
|
||||
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
|
||||
index 8a5ef62f57d..24188e25d98 100644
|
||||
index 25836fe835d..d860f201c1e 100644
|
||||
--- a/dlls/winex11.drv/keyboard.c
|
||||
+++ b/dlls/winex11.drv/keyboard.c
|
||||
@@ -1825,11 +1825,7 @@ BOOL X11DRV_ActivateKeyboardLayout(HKL hkl, UINT flags)
|
||||
@@ -1835,11 +1835,7 @@ BOOL X11DRV_ActivateKeyboardLayout(HKL hkl, UINT flags)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ index 8a5ef62f57d..24188e25d98 100644
|
||||
{
|
||||
HWND hwnd;
|
||||
|
||||
@@ -1843,6 +1839,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
|
||||
@@ -1853,6 +1849,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ index 8a5ef62f57d..24188e25d98 100644
|
||||
/***********************************************************************
|
||||
* VkKeyScanEx (X11DRV.@)
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index cbf5835b75c..59a9835e9b4 100644
|
||||
index 63d76256202..3cb2553cb59 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -31,6 +31,9 @@
|
||||
@@ -215,10 +215,10 @@ index cbf5835b75c..59a9835e9b4 100644
|
||||
|
||||
xinput2_available = XQueryExtension( gdi_display, "XInputExtension", &xinput2_opcode, &event, &error );
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index 75dd3c1711a..f48c3782e53 100644
|
||||
index c69c83e5dd9..17f0b3fc7bd 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -719,6 +719,7 @@ extern void reapply_cursor_clipping(void);
|
||||
@@ -732,6 +732,7 @@ extern void reapply_cursor_clipping(void);
|
||||
extern void ungrab_clipping_window(void);
|
||||
extern void move_resize_window( HWND hwnd, int dir, POINT pos );
|
||||
extern void X11DRV_InitKeyboard( Display *display );
|
||||
@@ -227,17 +227,17 @@ index 75dd3c1711a..f48c3782e53 100644
|
||||
|
||||
typedef int (*x11drv_error_callback)( Display *display, XErrorEvent *event, void *arg );
|
||||
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
|
||||
index e27202eb2bf..629c8fc172c 100644
|
||||
index 715a2444667..5df92db9f5a 100644
|
||||
--- a/dlls/winex11.drv/x11drv_main.c
|
||||
+++ b/dlls/winex11.drv/x11drv_main.c
|
||||
@@ -669,6 +669,7 @@ static NTSTATUS x11drv_init( void *arg )
|
||||
@@ -673,6 +673,7 @@ static NTSTATUS x11drv_init( void *arg )
|
||||
|
||||
XkbUseExtension( gdi_display, NULL, NULL );
|
||||
X11DRV_InitKeyboard( gdi_display );
|
||||
+ X11DRV_InitMouse( gdi_display );
|
||||
if (use_xim) use_xim = xim_init( input_style );
|
||||
|
||||
init_user_driver();
|
||||
init_icm_profile();
|
||||
--
|
||||
2.47.2
|
||||
2.50.1
|
||||
|
||||
|
@@ -0,0 +1,102 @@
|
||||
From f54b809d2d0402064569abf7843cfc90b8761b2b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 26 May 2025 07:03:34 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 44fffee5e1331e1c7e10489d84723c3b9dad7e17.
|
||||
|
||||
---
|
||||
dlls/msado15/tests/msado15.c | 2 +-
|
||||
libs/vkd3d/include/private/vkd3d_common.h | 2 +-
|
||||
libs/vkd3d/include/private/vkd3d_version.h | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-common/blob.c | 1 +
|
||||
libs/vkd3d/libs/vkd3d-shader/preproc.l | 1 +
|
||||
libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c | 2 ++
|
||||
libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c | 2 ++
|
||||
7 files changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c
|
||||
index 03eaab92b39..3f4b55d2916 100644
|
||||
--- a/dlls/msado15/tests/msado15.c
|
||||
+++ b/dlls/msado15/tests/msado15.c
|
||||
@@ -2023,8 +2023,8 @@ START_TEST(msado15)
|
||||
setup_database();
|
||||
|
||||
test_Connection();
|
||||
- test_Connection_Open();
|
||||
test_ConnectionPoint();
|
||||
+ test_Connection_Open();
|
||||
test_ADORecordsetConstruction(FALSE);
|
||||
test_ADORecordsetConstruction(TRUE);
|
||||
test_Fields();
|
||||
diff --git a/libs/vkd3d/include/private/vkd3d_common.h b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
index 08341304eea..0501e6a06c2 100644
|
||||
--- a/libs/vkd3d/include/private/vkd3d_common.h
|
||||
+++ b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
@@ -279,7 +279,7 @@ static inline unsigned int vkd3d_popcount(unsigned int v)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
return __popcnt(v);
|
||||
-#elif defined(__MINGW32__)
|
||||
+#elif defined(HAVE_BUILTIN_POPCOUNT)
|
||||
return __builtin_popcount(v);
|
||||
#else
|
||||
v -= (v >> 1) & 0x55555555;
|
||||
diff --git a/libs/vkd3d/include/private/vkd3d_version.h b/libs/vkd3d/include/private/vkd3d_version.h
|
||||
index 0edc4428022..687751d6a5f 100644
|
||||
--- a/libs/vkd3d/include/private/vkd3d_version.h
|
||||
+++ b/libs/vkd3d/include/private/vkd3d_version.h
|
||||
@@ -1 +1 @@
|
||||
-#define VKD3D_VCS_ID " (Wine bundled)"
|
||||
+#define VKD3D_VCS_ID " (git a8ca1f95)"
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-common/blob.c b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
index f60ef7db769..c2c6ad67804 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#define WIDL_C_INLINE_WRAPPERS
|
||||
#endif
|
||||
#define COBJMACROS
|
||||
+
|
||||
#define CONST_VTABLE
|
||||
#include "vkd3d.h"
|
||||
#include "vkd3d_blob.h"
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/preproc.l b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
index a8c0db358bc..5c56fba0229 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
%{
|
||||
|
||||
+#include "preproc.h"
|
||||
#include "preproc.tab.h"
|
||||
|
||||
#undef ERROR /* defined in wingdi.h */
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
index 5fcc836aae1..d1992c9d446 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
+/* VKD3D_DEBUG_ENV_NAME("VKD3D_SHADER_DEBUG"); */
|
||||
+
|
||||
static inline int char_to_int(char c)
|
||||
{
|
||||
if ('0' <= c && c <= '9')
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c b/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
index f2967835b62..f804c1f0c24 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
@@ -19,6 +19,8 @@
|
||||
#include "vkd3d_utils_private.h"
|
||||
#undef D3D12CreateDevice
|
||||
|
||||
+/* VKD3D_DEBUG_ENV_NAME("VKD3D_DEBUG"); */
|
||||
+
|
||||
static const char *debug_d3d_blob_part(D3D_BLOB_PART part)
|
||||
{
|
||||
switch (part)
|
||||
--
|
||||
2.50.1
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
From 5bb958cb76891665aa91871e976007f0acc3a273 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 23 Aug 2025 07:27:59 +1000
|
||||
Subject: [PATCH] Updated vkd3d to d0098b0d5968d1969ec622b91fd360fd0aec2328.
|
||||
|
||||
---
|
||||
libs/vkd3d/libs/vkd3d-shader/glsl.c | 9 +--------
|
||||
libs/vkd3d/libs/vkd3d-shader/hlsl.l | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-shader/preproc.l | 12 ++----------
|
||||
libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c | 7 ++++++-
|
||||
libs/vkd3d/libs/vkd3d/utils.c | 3 ++-
|
||||
5 files changed, 12 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/glsl.c b/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
index 5988e7b3a30..acc30b998f6 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
@@ -2329,7 +2329,6 @@ static int vkd3d_glsl_generator_generate(struct vkd3d_glsl_generator *gen, struc
|
||||
struct vkd3d_string_buffer *buffer = gen->buffer;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
struct vsir_program_iterator it;
|
||||
- void *code;
|
||||
|
||||
MESSAGE("Generating a GLSL shader. This is unsupported; you get to keep all the pieces if it breaks.\n");
|
||||
|
||||
@@ -2358,13 +2357,7 @@ static int vkd3d_glsl_generator_generate(struct vkd3d_glsl_generator *gen, struc
|
||||
if (gen->failed)
|
||||
return VKD3D_ERROR_INVALID_SHADER;
|
||||
|
||||
- if ((code = vkd3d_malloc(buffer->buffer_size)))
|
||||
- {
|
||||
- memcpy(code, buffer->buffer, buffer->content_size);
|
||||
- out->size = buffer->content_size;
|
||||
- out->code = code;
|
||||
- }
|
||||
- else return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
+ vkd3d_shader_code_from_string_buffer(out, buffer);
|
||||
|
||||
return VKD3D_OK;
|
||||
}
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl.l b/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
index 0cdebb8a657..da9f0d39136 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
@@ -346,7 +346,7 @@ while {return KW_WHILE; }
|
||||
<pp>{ANY} {}
|
||||
|
||||
{ANY} {
|
||||
- return yytext[0];
|
||||
+ return (unsigned char)yytext[0];
|
||||
}
|
||||
|
||||
%%
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/preproc.l b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
index 5c56fba0229..f9b1d67ac36 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
@@ -824,7 +824,6 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
static const struct vkd3d_shader_preprocess_info default_preprocess_info = {0};
|
||||
struct preproc_ctx ctx = {0};
|
||||
char *source_name = NULL;
|
||||
- void *output_code;
|
||||
unsigned int i;
|
||||
|
||||
vkd3d_string_buffer_init(&ctx.buffer);
|
||||
@@ -901,16 +900,9 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
return VKD3D_ERROR_INVALID_SHADER;
|
||||
}
|
||||
|
||||
- if (!(output_code = vkd3d_malloc(ctx.buffer.content_size)))
|
||||
- {
|
||||
- vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
- return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
- }
|
||||
- memcpy(output_code, ctx.buffer.buffer, ctx.buffer.content_size);
|
||||
- out->size = ctx.buffer.content_size;
|
||||
- out->code = output_code;
|
||||
vkd3d_string_buffer_trace(&ctx.buffer);
|
||||
- vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
+
|
||||
+ vkd3d_shader_code_from_string_buffer(out, &ctx.buffer);
|
||||
return VKD3D_OK;
|
||||
|
||||
fail:
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
index 75b7f9aa769..08450b4cf85 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
@@ -2266,6 +2266,7 @@ int vkd3d_shader_preprocess(const struct vkd3d_shader_compile_info *compile_info
|
||||
struct vkd3d_shader_code *out, char **messages)
|
||||
{
|
||||
struct vkd3d_shader_message_context message_context;
|
||||
+ struct shader_dump_data dump_data;
|
||||
int ret;
|
||||
|
||||
TRACE("compile_info %p, out %p, messages %p.\n", compile_info, out, messages);
|
||||
@@ -2278,7 +2279,11 @@ int vkd3d_shader_preprocess(const struct vkd3d_shader_compile_info *compile_info
|
||||
|
||||
vkd3d_shader_message_context_init(&message_context, compile_info->log_level);
|
||||
|
||||
- ret = preproc_lexer_parse(compile_info, out, &message_context);
|
||||
+ fill_shader_dump_data(compile_info, &dump_data);
|
||||
+ vkd3d_shader_dump_shader(&dump_data, compile_info->source.code, compile_info->source.size, SHADER_DUMP_TYPE_SOURCE);
|
||||
+
|
||||
+ if ((ret = preproc_lexer_parse(compile_info, out, &message_context)) >= 0)
|
||||
+ vkd3d_shader_dump_shader(&dump_data, out->code, out->size, SHADER_DUMP_TYPE_PREPROC);
|
||||
|
||||
vkd3d_shader_message_context_trace_messages(&message_context);
|
||||
if (!vkd3d_shader_message_context_copy_messages(&message_context, messages))
|
||||
diff --git a/libs/vkd3d/libs/vkd3d/utils.c b/libs/vkd3d/libs/vkd3d/utils.c
|
||||
index c2832a61f67..2d0510e5456 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d/utils.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d/utils.c
|
||||
@@ -703,7 +703,7 @@ const char *debug_vk_extent_3d(VkExtent3D extent)
|
||||
|
||||
const char *debug_vk_queue_flags(VkQueueFlags flags)
|
||||
{
|
||||
- char buffer[191];
|
||||
+ char buffer[222];
|
||||
|
||||
buffer[0] = '\0';
|
||||
#define FLAG_TO_STR(f) if (flags & f) { strcat(buffer, " | "#f); flags &= ~f; }
|
||||
@@ -716,6 +716,7 @@ const char *debug_vk_queue_flags(VkQueueFlags flags)
|
||||
#define FLAG_TO_STR(f, n) if (flags & f) { strcat(buffer, " | "#n); flags &= ~f; }
|
||||
FLAG_TO_STR(0x20, VK_QUEUE_VIDEO_DECODE_BIT_KHR)
|
||||
FLAG_TO_STR(0x40, VK_QUEUE_VIDEO_ENCODE_BIT_KHR)
|
||||
+ FLAG_TO_STR(0x100, VK_QUEUE_OPTICAL_FLOW_BIT_NV)
|
||||
#undef FLAG_TO_STR
|
||||
if (flags)
|
||||
FIXME("Unrecognized flag(s) %#x.\n", flags);
|
||||
--
|
||||
2.50.1
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user