mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 21763489982177f4db9e5f8cc8ccb751441f5a2e.
This commit is contained in:
parent
d943e0bd51
commit
2c12e538dd
@ -1,4 +1,4 @@
|
||||
From cd82af4ce885a2541e75c4adb3527197eb940569 Mon Sep 17 00:00:00 2001
|
||||
From 7f456e63bf51237bdd161fb6110a68f14d4e84ac Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Sep 2014 22:42:46 +0200
|
||||
Subject: ntdll: Throw exception if invalid handle is passed to NtClose and
|
||||
@ -10,7 +10,7 @@ Subject: ntdll: Throw exception if invalid handle is passed to NtClose and
|
||||
2 files changed, 92 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c
|
||||
index 1279f2b..35c3672 100644
|
||||
index c13934a89bd..098229cc094 100644
|
||||
--- a/dlls/ntdll/om.c
|
||||
+++ b/dlls/ntdll/om.c
|
||||
@@ -38,6 +38,7 @@
|
||||
@ -62,10 +62,10 @@ index 1279f2b..35c3672 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index f1bfee6..3e22bed 100644
|
||||
index 6e901e92b6d..0f369dd672d 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -51,6 +51,7 @@ static NTSTATUS (WINAPI *pNtTerminateProcess)(HANDLE handle, LONG exit_code);
|
||||
@@ -52,6 +52,7 @@ static NTSTATUS (WINAPI *pNtTerminateProcess)(HANDLE handle, LONG exit_code);
|
||||
static NTSTATUS (WINAPI *pNtQueryInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG, PULONG);
|
||||
static NTSTATUS (WINAPI *pNtSetInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG);
|
||||
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
|
||||
@ -73,7 +73,7 @@ index f1bfee6..3e22bed 100644
|
||||
|
||||
#if defined(__x86_64__)
|
||||
typedef struct
|
||||
@@ -989,6 +990,16 @@ static void test_debugger(void)
|
||||
@@ -1025,6 +1026,16 @@ static void test_debugger(void)
|
||||
|
||||
if (stage == 10) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
}
|
||||
@ -90,7 +90,7 @@ index f1bfee6..3e22bed 100644
|
||||
else
|
||||
ok(FALSE, "unexpected stage %x\n", stage);
|
||||
|
||||
@@ -2194,6 +2205,53 @@ static void test_breakpoint(DWORD numexc)
|
||||
@@ -2511,6 +2522,53 @@ static void test_breakpoint(DWORD numexc)
|
||||
pRtlRemoveVectoredExceptionHandler(vectored_handler);
|
||||
}
|
||||
|
||||
@ -144,15 +144,15 @@ index f1bfee6..3e22bed 100644
|
||||
static void test_vectored_continue_handler(void)
|
||||
{
|
||||
PVOID handler1, handler2;
|
||||
@@ -2245,6 +2303,7 @@ START_TEST(exception)
|
||||
@@ -2565,6 +2623,7 @@ START_TEST(exception)
|
||||
pNtGetContextThread = (void *)GetProcAddress( hntdll, "NtGetContextThread" );
|
||||
pNtSetContextThread = (void *)GetProcAddress( hntdll, "NtSetContextThread" );
|
||||
pNtReadVirtualMemory = (void *)GetProcAddress( hntdll, "NtReadVirtualMemory" );
|
||||
+ pNtClose = (void *)GetProcAddress( hntdll, "NtClose" );
|
||||
pRtlUnwind = (void *)GetProcAddress( hntdll, "RtlUnwind" );
|
||||
pRtlRaiseException = (void *)GetProcAddress( hntdll, "RtlRaiseException" );
|
||||
pNtTerminateProcess = (void *)GetProcAddress( hntdll, "NtTerminateProcess" );
|
||||
@@ -2315,6 +2374,10 @@ START_TEST(exception)
|
||||
pRtlCaptureContext = (void *)GetProcAddress( hntdll, "RtlCaptureContext" );
|
||||
@@ -2636,6 +2695,10 @@ START_TEST(exception)
|
||||
test_breakpoint(0);
|
||||
test_stage = 10;
|
||||
test_breakpoint(1);
|
||||
@ -163,7 +163,7 @@ index f1bfee6..3e22bed 100644
|
||||
}
|
||||
else
|
||||
skip( "RtlRaiseException not found\n" );
|
||||
@@ -2331,6 +2394,7 @@ START_TEST(exception)
|
||||
@@ -2652,6 +2715,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
@ -171,7 +171,7 @@ index f1bfee6..3e22bed 100644
|
||||
test_vectored_continue_handler();
|
||||
test_debugger();
|
||||
test_simd_exceptions();
|
||||
@@ -2355,6 +2419,7 @@ START_TEST(exception)
|
||||
@@ -2685,6 +2749,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
@ -180,5 +180,5 @@ index f1bfee6..3e22bed 100644
|
||||
test_virtual_unwind();
|
||||
test___C_specific_handler();
|
||||
--
|
||||
2.9.0
|
||||
2.13.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3966912cf531178531910e730e2e88bc05448556 Mon Sep 17 00:00:00 2001
|
||||
From f0fe03443eddebbe3997e9ca9e4ed6d8954b159b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 19 Jul 2017 01:20:01 +0200
|
||||
Subject: ntdll: Clear upper WORD of segment registers in RtlCaptureContext.
|
||||
@ -8,10 +8,10 @@ Subject: ntdll: Clear upper WORD of segment registers in RtlCaptureContext.
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
|
||||
index 9a25468308b..24f797ffaf9 100644
|
||||
index 9c4c07dea4a..03c0f5ebc79 100644
|
||||
--- a/dlls/ntdll/signal_i386.c
|
||||
+++ b/dlls/ntdll/signal_i386.c
|
||||
@@ -1241,9 +1241,13 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
@@ -1228,9 +1228,13 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
"movl 8(%esp),%eax\n\t" /* context */
|
||||
"movl $0x10007,(%eax)\n\t" /* context->ContextFlags */
|
||||
"movw %gs,0x8c(%eax)\n\t" /* context->SegGs */
|
||||
@ -25,16 +25,16 @@ index 9a25468308b..24f797ffaf9 100644
|
||||
"movl %edi,0x9c(%eax)\n\t" /* context->Edi */
|
||||
"movl %esi,0xa0(%eax)\n\t" /* context->Esi */
|
||||
"movl %ebx,0xa4(%eax)\n\t" /* context->Ebx */
|
||||
@@ -1253,6 +1257,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
"movl 4(%esp),%edx\n\t"
|
||||
@@ -1241,6 +1245,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
"movl 4(%ebp),%edx\n\t"
|
||||
"movl %edx,0xb8(%eax)\n\t" /* context->Eip */
|
||||
"movw %cs,0xbc(%eax)\n\t" /* context->SegCs */
|
||||
+ "movw $0,0xbe(%eax)\n\t"
|
||||
"pushfl\n\t"
|
||||
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
|
||||
"popl 0xc0(%eax)\n\t" /* context->EFlags */
|
||||
@@ -1260,6 +1265,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
"leal 8(%esp),%edx\n\t"
|
||||
@@ -1248,6 +1253,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
|
||||
"leal 8(%ebp),%edx\n\t"
|
||||
"movl %edx,0xc4(%eax)\n\t" /* context->Esp */
|
||||
"movw %ss,0xc8(%eax)\n\t" /* context->SegSs */
|
||||
+ "movw $0,0xca(%eax)\n\t"
|
||||
|
1
patches/ntdll-RtlCaptureContext/definition
Normal file
1
patches/ntdll-RtlCaptureContext/definition
Normal file
@ -0,0 +1 @@
|
||||
Disabled: true
|
@ -52,13 +52,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "7d3c068c3beeac8691cfa96f0dce6b5583072eaa"
|
||||
echo "21763489982177f4db9e5f8cc8ccb751441f5a2e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 2.13"
|
||||
echo "Wine Staging 2.14 (unreleased)"
|
||||
echo "Copyright (C) 2014-2017 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
@ -269,7 +269,6 @@ patch_enable_all ()
|
||||
enable_ntdll_ProcessPriorityClass="$1"
|
||||
enable_ntdll_ProcessQuotaLimits="$1"
|
||||
enable_ntdll_Purist_Mode="$1"
|
||||
enable_ntdll_RtlCaptureContext="$1"
|
||||
enable_ntdll_RtlCaptureStackBackTrace="$1"
|
||||
enable_ntdll_RtlGetUnloadEventTraceEx="$1"
|
||||
enable_ntdll_RtlIpStringToAddress_Stubs="$1"
|
||||
@ -379,7 +378,6 @@ patch_enable_all ()
|
||||
enable_user_exe16_DlgDirList="$1"
|
||||
enable_user32_Auto_Radio_Button="$1"
|
||||
enable_user32_Combobox_WM_SIZE="$1"
|
||||
enable_user32_Cursor_Size="$1"
|
||||
enable_user32_DM_SETDEFID="$1"
|
||||
enable_user32_DialogBoxParam="$1"
|
||||
enable_user32_Dialog_Focus="$1"
|
||||
@ -1074,9 +1072,6 @@ patch_enable ()
|
||||
ntdll-Purist_Mode)
|
||||
enable_ntdll_Purist_Mode="$2"
|
||||
;;
|
||||
ntdll-RtlCaptureContext)
|
||||
enable_ntdll_RtlCaptureContext="$2"
|
||||
;;
|
||||
ntdll-RtlCaptureStackBackTrace)
|
||||
enable_ntdll_RtlCaptureStackBackTrace="$2"
|
||||
;;
|
||||
@ -1404,9 +1399,6 @@ patch_enable ()
|
||||
user32-Combobox_WM_SIZE)
|
||||
enable_user32_Combobox_WM_SIZE="$2"
|
||||
;;
|
||||
user32-Cursor_Size)
|
||||
enable_user32_Cursor_Size="$2"
|
||||
;;
|
||||
user32-DM_SETDEFID)
|
||||
enable_user32_DM_SETDEFID="$2"
|
||||
;;
|
||||
@ -6475,18 +6467,6 @@ if test "$enable_ntdll_Purist_Mode" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlCaptureContext
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/signal_i386.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlCaptureContext" -eq 1; then
|
||||
patch_apply ntdll-RtlCaptureContext/0001-ntdll-Clear-upper-WORD-of-segment-registers-in-RtlCa.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Clear upper WORD of segment registers in RtlCaptureContext.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlCaptureStackBackTrace
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -8275,18 +8255,6 @@ if test "$enable_user32_Combobox_WM_SIZE" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-Cursor_Size
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/cursoricon.c
|
||||
# |
|
||||
if test "$enable_user32_Cursor_Size" -eq 1; then
|
||||
patch_apply user32-Cursor_Size/0001-user32-Reduce-the-cursor-height-if-it-also-includes-.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alexandre Julliard", "user32: Reduce the cursor height if it also includes the mask.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-DM_SETDEFID
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -9253,10 +9221,10 @@ fi
|
||||
# | * dlls/dbghelp/cpu_i386.c, dlls/kernel32/tests/loader.c, dlls/krnl386.exe16/kernel.c,
|
||||
# | dlls/krnl386.exe16/kernel16_private.h, dlls/krnl386.exe16/ne_module.c, dlls/krnl386.exe16/ne_segment.c,
|
||||
# | dlls/krnl386.exe16/task.c, dlls/krnl386.exe16/thunk.c, dlls/krnl386.exe16/wowthunk.c, dlls/ntdll/signal_i386.c,
|
||||
# | dlls/system.drv16/system.c, dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c, dlls/user.exe16/user.c,
|
||||
# | dlls/user.exe16/window.c, include/winternl.h, libs/wine/loader.c, tools/winebuild/build.h, tools/winebuild/import.c,
|
||||
# | tools/winebuild/parser.c, tools/winebuild/relay.c, tools/winebuild/res32.c, tools/winebuild/spec16.c,
|
||||
# | tools/winebuild/spec32.c, tools/winebuild/utils.c
|
||||
# | dlls/ntdll/tests/exception.c, dlls/system.drv16/system.c, dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c,
|
||||
# | dlls/user.exe16/user.c, dlls/user.exe16/window.c, include/winternl.h, libs/wine/loader.c, tools/winebuild/build.h,
|
||||
# | tools/winebuild/import.c, tools/winebuild/parser.c, tools/winebuild/relay.c, tools/winebuild/res32.c,
|
||||
# | tools/winebuild/spec16.c, tools/winebuild/spec32.c, tools/winebuild/utils.c
|
||||
# |
|
||||
if test "$enable_winebuild_Fake_Dlls" -eq 1; then
|
||||
patch_apply winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 15121c7f2af09c906bcfeddd830b61ac1efa3c25 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Julliard <julliard@winehq.org>
|
||||
Date: Mon, 24 Jul 2017 13:12:50 +0200
|
||||
Subject: user32: Reduce the cursor height if it also includes the mask.
|
||||
|
||||
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
||||
---
|
||||
dlls/user32/cursoricon.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
|
||||
index 5ee5cdfa966..252ea1f2942 100644
|
||||
--- a/dlls/user32/cursoricon.c
|
||||
+++ b/dlls/user32/cursoricon.c
|
||||
@@ -947,6 +947,7 @@ static BOOL CURSORICON_GetResCursorEntry( LPCVOID dir, DWORD size, int n,
|
||||
*width = cursor->wWidth;
|
||||
*height = cursor->wHeight;
|
||||
*bits = resdir->idEntries[n].wBitCount;
|
||||
+ if (*height == *width * 2) *height /= 2;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
--
|
||||
2.13.1
|
||||
|
@ -1,33 +1,44 @@
|
||||
From 32bb8b671dd0c6df8d3cf295447b3c8f7d3b7457 Mon Sep 17 00:00:00 2001
|
||||
From fce736fd0ec3a9d497cbbe4cd7ac7a6ca146f544 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 11 May 2017 05:32:55 +0200
|
||||
Subject: winebuild: Generate syscall thunks for ntdll exports.
|
||||
|
||||
Based on a patch by Erich E. Hoover.
|
||||
---
|
||||
dlls/ntdll/signal_i386.c | 2 ++
|
||||
include/winternl.h | 2 +-
|
||||
tools/winebuild/build.h | 6 +++++
|
||||
tools/winebuild/import.c | 10 ++++---
|
||||
tools/winebuild/parser.c | 59 +++++++++++++++++++++++++++++++++++++++++
|
||||
tools/winebuild/spec16.c | 22 +---------------
|
||||
tools/winebuild/spec32.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
tools/winebuild/utils.c | 21 +++++++++++++++
|
||||
8 files changed, 164 insertions(+), 26 deletions(-)
|
||||
dlls/ntdll/signal_i386.c | 5 +++-
|
||||
dlls/ntdll/tests/exception.c | 2 ++
|
||||
include/winternl.h | 2 +-
|
||||
tools/winebuild/build.h | 6 ++++
|
||||
tools/winebuild/import.c | 10 ++++---
|
||||
tools/winebuild/parser.c | 59 ++++++++++++++++++++++++++++++++++++++
|
||||
tools/winebuild/spec16.c | 22 +-------------
|
||||
tools/winebuild/spec32.c | 68 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
tools/winebuild/utils.c | 21 ++++++++++++++
|
||||
9 files changed, 168 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
|
||||
index d3da84c7be9..f2657045c94 100644
|
||||
index ef45e37c5fd..d015c4ea831 100644
|
||||
--- a/dlls/ntdll/signal_i386.c
|
||||
+++ b/dlls/ntdll/signal_i386.c
|
||||
@@ -481,6 +481,7 @@ static wine_signal_handler handlers[256];
|
||||
@@ -481,6 +481,8 @@ static wine_signal_handler handlers[256];
|
||||
static BOOL fpux_support; /* whether the CPU supports extended fpu context */
|
||||
|
||||
extern void DECLSPEC_NORETURN __wine_restore_regs( const CONTEXT *context );
|
||||
+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
|
||||
+extern NTSTATUS WINAPI __syscall_NtGetContextThread( HANDLE handle, CONTEXT *context );
|
||||
|
||||
enum i386_trap_code
|
||||
{
|
||||
@@ -2434,6 +2435,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
|
||||
@@ -1499,7 +1501,7 @@ NTSTATUS CDECL __regs_NtGetContextThread( DWORD edi, DWORD esi, DWORD ebx, DWORD
|
||||
{
|
||||
context->Ebp = ebp;
|
||||
context->Esp = (DWORD)&retaddr;
|
||||
- context->Eip = *(&edi - 1);
|
||||
+ context->Eip = (DWORD)__syscall_NtGetContextThread + 18;
|
||||
context->SegCs = wine_get_cs();
|
||||
context->SegSs = wine_get_ss();
|
||||
context->EFlags = eflags;
|
||||
@@ -2469,6 +2471,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
|
||||
*teb = addr;
|
||||
(*teb)->Tib.Self = &(*teb)->Tib;
|
||||
(*teb)->Tib.ExceptionList = (void *)~0UL;
|
||||
@ -35,11 +46,24 @@ index d3da84c7be9..f2657045c94 100644
|
||||
thread_data = (struct x86_thread_data *)(*teb)->SystemReserved2;
|
||||
if (!(thread_data->fs = wine_ldt_alloc_fs()))
|
||||
{
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index 90490871f36..f614ef0edb8 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -1544,6 +1544,8 @@ static void test_thread_context(void)
|
||||
ok( (char *)context.Eip >= (char *)pNtGetContextThread - 0x10000 &&
|
||||
(char *)context.Eip <= (char *)pNtGetContextThread + 0x10000,
|
||||
"wrong Eip %08x/%08x\n", context.Eip, (DWORD)pNtGetContextThread );
|
||||
+ ok( *(WORD *)context.Eip == 0xc483 || *(WORD *)context.Eip == 0x08c2 || *(WORD *)context.Eip == 0x8dc3,
|
||||
+ "expected 0xc483 or 0x08c2 or 0x8dc3, got %04x\n", *(WORD *)context.Eip );
|
||||
/* segment registers clear the high word */
|
||||
ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
|
||||
ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index c11df3e53f6..80b7b91f906 100644
|
||||
index 404730ddbb6..b1871e689fa 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -322,7 +322,7 @@ typedef struct _TEB
|
||||
@@ -323,7 +323,7 @@ typedef struct _TEB
|
||||
PVOID CsrClientThread; /* 03c/0070 */
|
||||
PVOID Win32ThreadInfo; /* 040/0078 */
|
||||
ULONG Win32ClientInfo[31]; /* 044/0080 used for user32 private data in Wine */
|
||||
@ -134,7 +158,7 @@ index e7bad72c37b..cc8c422a33c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
|
||||
index 2762a8cd10e..d8dceaead28 100644
|
||||
index 2762a8cd10e..402c0d60368 100644
|
||||
--- a/tools/winebuild/parser.c
|
||||
+++ b/tools/winebuild/parser.c
|
||||
@@ -507,6 +507,24 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
|
||||
@ -145,7 +169,7 @@ index 2762a8cd10e..d8dceaead28 100644
|
||||
+{
|
||||
+ if (target_cpu != CPU_x86)
|
||||
+ return 0;
|
||||
+ if (odp->flags & (FLAG_FORWARD | FLAG_NORELAY | FLAG_REGISTER))
|
||||
+ if (odp->flags & (FLAG_FORWARD | FLAG_REGISTER))
|
||||
+ return 0;
|
||||
+ if (odp->type != TYPE_STDCALL)
|
||||
+ return 0;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 47c26e73121327980c26501ecb20cc6d6b08f3f3 Mon Sep 17 00:00:00 2001
|
||||
From c3d774f0b6613aac336b3a2ed28452fbb6a5f9c1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 15 May 2017 16:27:56 +0200
|
||||
Subject: winebuild: Add stub functions in fake dlls.
|
||||
@ -13,10 +13,10 @@ Subject: winebuild: Add stub functions in fake dlls.
|
||||
6 files changed, 255 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index f8d45d829fc..77bac0861f7 100644
|
||||
index e9b05013875..6be54321d50 100644
|
||||
--- a/dlls/kernel32/tests/loader.c
|
||||
+++ b/dlls/kernel32/tests/loader.c
|
||||
@@ -856,9 +856,7 @@ static void test_FakeDLL(void)
|
||||
@@ -892,9 +892,7 @@ static void test_FakeDLL(void)
|
||||
ok(ptr != NULL, "MapViewOfFile failed with error %u\n", GetLastError());
|
||||
|
||||
dir = RtlImageDirectoryEntryToData(ptr, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size);
|
||||
@ -26,7 +26,7 @@ index f8d45d829fc..77bac0861f7 100644
|
||||
|
||||
names = RVAToAddr(dir->AddressOfNames, ptr);
|
||||
ordinals = RVAToAddr(dir->AddressOfNameOrdinals, ptr);
|
||||
@@ -887,17 +885,20 @@ todo_wine
|
||||
@@ -923,17 +921,20 @@ todo_wine
|
||||
/* check position in memory */
|
||||
dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
|
||||
map_rva = funcs[ordinals[i]];
|
||||
@ -47,7 +47,7 @@ index f8d45d829fc..77bac0861f7 100644
|
||||
ok(!memcmp(map_func, dll_func, 0x20), "%s: Function content does not match!\n", func_name);
|
||||
|
||||
if (!strcmp(func_name, "NtSetEvent"))
|
||||
@@ -911,10 +912,11 @@ todo_wine
|
||||
@@ -947,10 +948,11 @@ todo_wine
|
||||
ok(event != NULL, "CreateEvent failed with error %u\n", GetLastError());
|
||||
pNtSetEvent(event, 0);
|
||||
ok(WaitForSingleObject(event, 0) == WAIT_OBJECT_0, "Event was not signaled\n");
|
||||
@ -61,12 +61,12 @@ index f8d45d829fc..77bac0861f7 100644
|
||||
CloseHandle(map);
|
||||
CloseHandle(file);
|
||||
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
|
||||
index f2657045c94..c2375d6f0e8 100644
|
||||
index d015c4ea831..3818e696c49 100644
|
||||
--- a/dlls/ntdll/signal_i386.c
|
||||
+++ b/dlls/ntdll/signal_i386.c
|
||||
@@ -483,6 +483,45 @@ static BOOL fpux_support; /* whether the CPU supports extended fpu context */
|
||||
extern void DECLSPEC_NORETURN __wine_restore_regs( const CONTEXT *context );
|
||||
@@ -484,6 +484,45 @@ extern void DECLSPEC_NORETURN __wine_restore_regs( const CONTEXT *context );
|
||||
extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
|
||||
extern NTSTATUS WINAPI __syscall_NtGetContextThread( HANDLE handle, CONTEXT *context );
|
||||
|
||||
+/* convert from straight ASCII to Unicode without depending on the current codepage */
|
||||
+static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
|
||||
@ -110,7 +110,7 @@ index f2657045c94..c2375d6f0e8 100644
|
||||
enum i386_trap_code
|
||||
{
|
||||
TRAP_x86_UNKNOWN = -1, /* Unknown fault (TRAP_sig not defined) */
|
||||
@@ -2436,6 +2475,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
|
||||
@@ -2472,6 +2511,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
|
||||
(*teb)->Tib.Self = &(*teb)->Tib;
|
||||
(*teb)->Tib.ExceptionList = (void *)~0UL;
|
||||
(*teb)->WOW32Reserved = __wine_syscall_dispatcher;
|
||||
@ -119,10 +119,10 @@ index f2657045c94..c2375d6f0e8 100644
|
||||
if (!(thread_data->fs = wine_ldt_alloc_fs()))
|
||||
{
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 80b7b91f906..4780aca43a3 100644
|
||||
index b1871e689fa..140669b0105 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -362,7 +362,7 @@ typedef struct _TEB
|
||||
@@ -363,7 +363,7 @@ typedef struct _TEB
|
||||
PVOID WinSockData; /* f6c/1738 */
|
||||
ULONG GdiBatchCount; /* f70/1740 */
|
||||
ULONG Spare2; /* f74/1744 */
|
||||
|
@ -619,7 +619,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2822,6 +2822,16 @@ struct wined3d_state
|
||||
@@ -2823,6 +2823,16 @@ struct wined3d_state
|
||||
struct wined3d_rasterizer_state *rasterizer_state;
|
||||
};
|
||||
|
||||
@ -636,7 +636,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
#define WINED3D_UNMAPPED_STAGE ~0u
|
||||
|
||||
/* Multithreaded flag. Removed from the public header to signal that
|
||||
@@ -2933,6 +2943,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
@@ -2934,6 +2944,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN;
|
||||
@ -649,7 +649,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -3120,7 +3136,11 @@ struct wined3d_texture
|
||||
@@ -3121,7 +3137,11 @@ struct wined3d_texture
|
||||
|
||||
unsigned int map_count;
|
||||
DWORD locations;
|
||||
@ -661,7 +661,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
} sub_resources[1];
|
||||
};
|
||||
|
||||
@@ -3435,6 +3455,9 @@ struct wined3d_cs_queue
|
||||
@@ -3436,6 +3456,9 @@ struct wined3d_cs_queue
|
||||
|
||||
struct wined3d_cs_ops
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 233f63ce576d8d2f321fb41c281a9ff1f62ae491 Mon Sep 17 00:00:00 2001
|
||||
From 8e70f4d3c05ec6f4b31ab4e0785ea1bd9d071cd6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 22 Jul 2017 19:39:40 +0200
|
||||
Subject: wined3d: Add conservative depth access information to glsl pixel
|
||||
@ -13,7 +13,7 @@ Subject: wined3d: Add conservative depth access information to glsl pixel
|
||||
5 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
index d2815b8b3ac..82f6300d0f5 100644
|
||||
index 86b7c6289bf..d508a965642 100644
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -116,6 +116,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
|
||||
@ -25,10 +25,10 @@ index d2815b8b3ac..82f6300d0f5 100644
|
||||
{"GL_ARB_copy_image", ARB_COPY_IMAGE },
|
||||
{"GL_ARB_debug_output", ARB_DEBUG_OUTPUT },
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index df27c3286e7..c6c3011b9bb 100644
|
||||
index 1fe6f86bd35..5b0cc5964fd 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -7312,10 +7312,20 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
@@ -7265,10 +7265,20 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
* nvidia drivers write a warning if we don't do so. */
|
||||
if (gl_info->supported[ARB_TEXTURE_RECTANGLE])
|
||||
shader_addline(buffer, "#extension GL_ARB_texture_rectangle : enable\n");
|
||||
@ -50,10 +50,10 @@ index df27c3286e7..c6c3011b9bb 100644
|
||||
* This is NOT done inside the loop that declares the texture samplers
|
||||
* since the NP2 fixup code is currently only used for the GeforceFX
|
||||
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
|
||||
index 8485a0e784a..e48709fb597 100644
|
||||
index 014b0a69244..a27b1566193 100644
|
||||
--- a/dlls/wined3d/shader.c
|
||||
+++ b/dlls/wined3d/shader.c
|
||||
@@ -1133,6 +1133,17 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
|
||||
@@ -1148,6 +1148,17 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
|
||||
FIXME("Invalid instruction %#x for shader type %#x.\n",
|
||||
ins.handler_idx, shader_version.type);
|
||||
}
|
||||
@ -72,7 +72,7 @@ index 8485a0e784a..e48709fb597 100644
|
||||
{
|
||||
if (shader_version.type == WINED3D_SHADER_TYPE_HULL)
|
||||
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
|
||||
index a048dc1d74e..4fe1971b5e6 100644
|
||||
index cf0947b9c33..4f73478a3b4 100644
|
||||
--- a/dlls/wined3d/wined3d_gl.h
|
||||
+++ b/dlls/wined3d/wined3d_gl.h
|
||||
@@ -50,6 +50,7 @@ enum wined3d_gl_extension
|
||||
@ -84,13 +84,13 @@ index a048dc1d74e..4fe1971b5e6 100644
|
||||
ARB_COPY_IMAGE,
|
||||
ARB_DEBUG_OUTPUT,
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 040b068ad0e..b62aeb26bbd 100644
|
||||
index 3377d401985..01bce7fcba3 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3899,6 +3899,7 @@ struct wined3d_pixel_shader
|
||||
/* Some information about the shader behavior */
|
||||
BOOL color0_mov;
|
||||
@@ -3938,6 +3938,7 @@ struct wined3d_pixel_shader
|
||||
DWORD color0_reg;
|
||||
|
||||
BOOL force_early_depth_stencil;
|
||||
+ DWORD depth_compare;
|
||||
};
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Wine Staging 2.13
|
||||
Wine Staging 2.14 (unreleased)
|
||||
|
Loading…
x
Reference in New Issue
Block a user