Rebase against 7b62a970e9ad3b4179394cf54f0232475fe2388a

This commit is contained in:
Zebediah Figura 2018-02-27 19:59:50 -06:00
parent 7ae8e84d71
commit 7d1d3410c8
17 changed files with 119 additions and 659 deletions

View File

@ -1,65 +0,0 @@
From 634abe5fdb4fcd20f1675324f0adbe9d302c1d56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 15 Jan 2016 13:01:15 +0100
Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
---
.../api-ms-win-core-quirks-l1-1-0.spec | 2 +-
dlls/kernelbase/kernelbase.spec | 2 +-
dlls/kernelbase/main.c | 10 ++++++++++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
index e8f77c73f36..1485512d0ef 100644
--- a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
+++ b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
@@ -1,6 +1,6 @@
@ stub QuirkGetData
@ stub QuirkGetData2
-@ stub QuirkIsEnabled
+@ stdcall QuirkIsEnabled(ptr) kernelbase.QuirkIsEnabled
@ stub QuirkIsEnabled2
@ stdcall QuirkIsEnabled3(ptr ptr) kernelbase.QuirkIsEnabled3
@ stub QuirkIsEnabledForPackage
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 75916a4851c..2f04a0a46f9 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1223,7 +1223,7 @@
@ stdcall QueueUserWorkItem(ptr ptr long) kernel32.QueueUserWorkItem
# @ stub QuirkGetData
# @ stub QuirkGetData2
-# @ stub QuirkIsEnabled
+@ stdcall QuirkIsEnabled(ptr)
# @ stub QuirkIsEnabled2
@ stdcall QuirkIsEnabled3(ptr ptr)
# @ stub QuirkIsEnabledForPackage
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
index ff1b2f67623..f4d7cde8b7d 100644
--- a/dlls/kernelbase/main.c
+++ b/dlls/kernelbase/main.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2016 Michael Müller
* Copyright 2017 Andrey Gusev
*
* This library is free software; you can redistribute it and/or
@@ -49,6 +50,15 @@ LONG WINAPI AppPolicyGetThreadInitializationType(HANDLE token, AppPolicyThreadIn
return ERROR_SUCCESS;
}
+/***********************************************************************
+ * QuirkIsEnabled (KERNELBASE.@)
+ */
+BOOL WINAPI QuirkIsEnabled(void *arg)
+{
+ FIXME("(%p): stub\n", arg);
+ return FALSE;
+}
+
/***********************************************************************
* QuirkIsEnabled3 (KERNELBASE.@)
*/
--
2.14.1

View File

@ -16,7 +16,6 @@ Fixes: Add ext-ms-win-rtcore-ntuser-syscolors-l1-1-0 dll
Fixes: Add api-ms-win-rtcore-ntuser-draw-l1-1-0 dll
Fixes: Add ext-ms-win-rtcore-ntuser-sysparams-l1-1-0 dll
Fixes: Add ext-ms-win-kernel32-package-current-l1-1-0 dll
Fixes: Add kernelbase dll
Fixes: Add iertutil dll
Fixes: Add shcore dll
Fixes: [40451] Add feclient dll

View File

@ -1,70 +0,0 @@
From a9daa20013ed733317fb0c8680c13549a0595d02 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 5 Jul 2016 21:42:23 +0200
Subject: d3d10_1: Add missing forwards to d3d10.
Spotted by Jarkko Korpi.
---
dlls/d3d10_1/d3d10_1.spec | 24 ++++++++++++------------
tools/make_specfiles | 4 ++++
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/dlls/d3d10_1/d3d10_1.spec b/dlls/d3d10_1/d3d10_1.spec
index 18eb3ac..10edc3f 100644
--- a/dlls/d3d10_1/d3d10_1.spec
+++ b/dlls/d3d10_1/d3d10_1.spec
@@ -1,24 +1,24 @@
@ stub RevertToOldImplementation
-@ stub D3D10CompileEffectFromMemory
-@ stub D3D10CompileShader
-@ stub D3D10CreateBlob
+@ stdcall D3D10CompileEffectFromMemory(ptr long ptr ptr ptr long long ptr ptr) d3d10.D3D10CompileEffectFromMemory
+@ stdcall D3D10CompileShader(ptr long str ptr ptr str str long ptr ptr) d3d10.D3D10CompileShader
+@ stdcall D3D10CreateBlob(long ptr) d3d10.D3D10CreateBlob
@ stdcall D3D10CreateDevice1(ptr long ptr long long long ptr)
@ stdcall D3D10CreateDeviceAndSwapChain1(ptr long ptr long long long ptr ptr ptr)
@ stdcall D3D10CreateEffectFromMemory(ptr long long ptr ptr ptr) d3d10.D3D10CreateEffectFromMemory
@ stdcall D3D10CreateEffectPoolFromMemory(ptr long long ptr ptr) d3d10.D3D10CreateEffectPoolFromMemory
@ stdcall D3D10CreateStateBlock(ptr ptr ptr) d3d10.D3D10CreateStateBlock
@ stub D3D10DisassembleEffect
-@ stub D3D10DisassembleShader
-@ stub D3D10GetGeometryShaderProfile
-@ stub D3D10GetInputAndOutputSignatureBlob
-@ stub D3D10GetInputSignatureBlob
-@ stub D3D10GetOutputSignatureBlob
-@ stub D3D10GetPixelShaderProfile
-@ stub D3D10GetShaderDebugInfo
+@ stdcall D3D10DisassembleShader(ptr long long ptr ptr) d3d10.D3D10DisassembleShader
+@ stdcall D3D10GetGeometryShaderProfile(ptr) d3d10.D3D10GetGeometryShaderProfile
+@ stdcall D3D10GetInputAndOutputSignatureBlob(ptr long ptr) d3d10.D3D10GetInputAndOutputSignatureBlob
+@ stdcall D3D10GetInputSignatureBlob(ptr long ptr) d3d10.D3D10GetInputSignatureBlob
+@ stdcall D3D10GetOutputSignatureBlob(ptr long ptr) d3d10.D3D10GetOutputSignatureBlob
+@ stdcall D3D10GetPixelShaderProfile(ptr) d3d10.D3D10GetPixelShaderProfile
+@ stdcall D3D10GetShaderDebugInfo(ptr long ptr) d3d10.D3D10GetShaderDebugInfo
@ stub D3D10GetVersion
-@ stub D3D10GetVertexShaderProfile
+@ stdcall D3D10GetVertexShaderProfile(ptr) d3d10.D3D10GetVertexShaderProfile
@ stub D3D10PreprocessShader
-@ stub D3D10ReflectShader
+@ stdcall D3D10ReflectShader(ptr long ptr) d3d10.D3D10ReflectShader
@ stub D3D10RegisterLayers
@ stdcall D3D10StateBlockMaskDifference(ptr ptr ptr) d3d10.D3D10StateBlockMaskDifference
@ stdcall D3D10StateBlockMaskDisableAll(ptr) d3d10.D3D10StateBlockMaskDisableAll
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 85d39d8..e36685d 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -73,6 +73,10 @@ my @dll_groups =
"msvcp120_app",
],
[
+ "d3d10",
+ "d3d10_1",
+ ],
+ [
"d3dx10_43",
"d3dx10_42",
"d3dx10_41",
--
2.8.0

View File

@ -1,175 +0,0 @@
From 682d55277eef7f522088a6dbb9a675af9f3bfadd Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 1 Dec 2014 11:30:58 +0100
Subject: [PATCH] ntdll: Fix condition mask handling in RtlVerifyVersionInfo.
---
dlls/kernel32/tests/version.c | 11 ----------
dlls/ntdll/version.c | 50 ++++++++++++++++++++++++++++++++-----------
2 files changed, 37 insertions(+), 24 deletions(-)
diff --git a/dlls/kernel32/tests/version.c b/dlls/kernel32/tests/version.c
index 49a9357..20fe25d 100644
--- a/dlls/kernel32/tests/version.c
+++ b/dlls/kernel32/tests/version.c
@@ -184,8 +184,6 @@ static void test_VerifyVersionInfo(void)
DWORD condition3;
DWORD typemask4;
DWORD condition4;
-
- BOOL todo;
} verify_version_tests[] =
{
{
@@ -197,7 +195,6 @@ static void test_VerifyVersionInfo(void)
VER_MINORVERSION, VER_LESS,
0, 0,
0, 0,
- TRUE,
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -280,7 +277,6 @@ static void test_VerifyVersionInfo(void)
VER_SERVICEPACKMINOR, VER_LESS,
0, 0,
0, 0,
- TRUE,
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -299,7 +295,6 @@ static void test_VerifyVersionInfo(void)
VER_SERVICEPACKMAJOR, VER_EQUAL,
VER_SERVICEPACKMINOR, VER_LESS,
0, 0,
- TRUE,
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -319,7 +314,6 @@ static void test_VerifyVersionInfo(void)
VER_MINORVERSION, VER_EQUAL,
VER_SERVICEPACKMAJOR, VER_EQUAL,
VER_SERVICEPACKMINOR, VER_LESS,
- TRUE,
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -364,7 +358,6 @@ static void test_VerifyVersionInfo(void)
VER_SERVICEPACKMAJOR, VER_LESS,
0, 0,
0, 0,
- TRUE,
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -383,7 +376,6 @@ static void test_VerifyVersionInfo(void)
VER_MINORVERSION, VER_EQUAL,
VER_SERVICEPACKMAJOR, VER_LESS,
0, 0,
- TRUE
},
{
VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR,
@@ -670,13 +662,10 @@ static void test_VerifyVersionInfo(void)
SetLastError(0xdeadbeef);
ret = VerifyVersionInfoA(&info, test->verifymask, mask);
- todo_wine_if(test->todo)
- {
ok(test->err ? !ret : ret, "%u: unexpected return value %d.\n", i, ret);
if (!ret)
ok(GetLastError() == test->err, "%u: unexpected error code %d, expected %d.\n", i, GetLastError(), test->err);
}
- }
/* test handling of version numbers */
/* v3.10 is always less than v4.x even
diff --git a/dlls/ntdll/version.c b/dlls/ntdll/version.c
index 58ccb95..8beef6d 100644
--- a/dlls/ntdll/version.c
+++ b/dlls/ntdll/version.c
@@ -658,6 +658,35 @@ BOOLEAN WINAPI RtlGetNtProductType( LPDWORD type )
}
+static inline UCHAR version_update_condition(PUCHAR last_condition, UCHAR condition)
+{
+ switch (*last_condition)
+ {
+ case 0:
+ *last_condition = condition;
+ break;
+ case VER_EQUAL:
+ if (condition >= VER_EQUAL && condition <= VER_LESS_EQUAL)
+ {
+ *last_condition = condition;
+ return condition;
+ }
+ break;
+ case VER_GREATER:
+ case VER_GREATER_EQUAL:
+ if (condition >= VER_EQUAL && condition <= VER_GREATER_EQUAL)
+ return condition;
+ break;
+ case VER_LESS:
+ case VER_LESS_EQUAL:
+ if (condition == VER_EQUAL || (condition >= VER_LESS && condition <= VER_LESS_EQUAL))
+ return condition;
+ break;
+ }
+ if (!condition) *last_condition |= 0x10;
+ return *last_condition & 0xf;
+}
+
static inline NTSTATUS version_compare_values(ULONG left, ULONG right, UCHAR condition)
{
switch (condition) {
@@ -733,38 +762,33 @@ NTSTATUS WINAPI RtlVerifyVersionInfo( const RTL_OSVERSIONINFOEXW *info,
if(dwTypeMask & (VER_MAJORVERSION|VER_MINORVERSION|VER_SERVICEPACKMAJOR|VER_SERVICEPACKMINOR))
{
- unsigned char condition = 0;
+ unsigned char condition, last_condition = 0;
BOOLEAN do_next_check = TRUE;
if(dwTypeMask & VER_MAJORVERSION)
- condition = dwlConditionMask >> 1*3 & 0x07;
- else if(dwTypeMask & VER_MINORVERSION)
- condition = dwlConditionMask >> 0*3 & 0x07;
- else if(dwTypeMask & VER_SERVICEPACKMAJOR)
- condition = dwlConditionMask >> 5*3 & 0x07;
- else if(dwTypeMask & VER_SERVICEPACKMINOR)
- condition = dwlConditionMask >> 4*3 & 0x07;
-
- if(dwTypeMask & VER_MAJORVERSION)
{
+ condition = version_update_condition(&last_condition, dwlConditionMask >> 1*3 & 0x07);
status = version_compare_values(ver.dwMajorVersion, info->dwMajorVersion, condition);
do_next_check = (ver.dwMajorVersion == info->dwMajorVersion) &&
- ((condition != VER_EQUAL) || (status == STATUS_SUCCESS));
+ ((condition >= VER_EQUAL) && (condition <= VER_LESS_EQUAL));
}
if((dwTypeMask & VER_MINORVERSION) && do_next_check)
{
+ condition = version_update_condition(&last_condition, dwlConditionMask >> 0*3 & 0x07);
status = version_compare_values(ver.dwMinorVersion, info->dwMinorVersion, condition);
do_next_check = (ver.dwMinorVersion == info->dwMinorVersion) &&
- ((condition != VER_EQUAL) || (status == STATUS_SUCCESS));
+ ((condition >= VER_EQUAL) && (condition <= VER_LESS_EQUAL));
}
if((dwTypeMask & VER_SERVICEPACKMAJOR) && do_next_check)
{
+ condition = version_update_condition(&last_condition, dwlConditionMask >> 5*3 & 0x07);
status = version_compare_values(ver.wServicePackMajor, info->wServicePackMajor, condition);
do_next_check = (ver.wServicePackMajor == info->wServicePackMajor) &&
- ((condition != VER_EQUAL) || (status == STATUS_SUCCESS));
+ ((condition >= VER_EQUAL) && (condition <= VER_LESS_EQUAL));
}
if((dwTypeMask & VER_SERVICEPACKMINOR) && do_next_check)
{
+ condition = version_update_condition(&last_condition, dwlConditionMask >> 4*3 & 0x07);
status = version_compare_values(ver.wServicePackMinor, info->wServicePackMinor, condition);
}
--
2.7.4

View File

@ -1 +0,0 @@
Fixes: [36143] Fix condition mask handling in RtlVerifyVersionInfo

View File

@ -1,4 +1,4 @@
From d0df8b13a6233a3dc91be942b83747fe999c276e Mon Sep 17 00:00:00 2001
From b3d58f9ec43100fd41643a9cb3f8bf5a5308a0c4 Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Mon, 16 Jan 2017 12:12:39 +0100
Subject: ntdll: Improve stub for NtAllocateUuids
@ -15,10 +15,10 @@ Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 28dc60c40a2..7d6c7447d79 100644
index 6e996a5..7a1112c 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -109,7 +109,7 @@
@@ -111,7 +111,7 @@
@ stdcall NtAlertThread(long)
@ stdcall NtAllocateLocallyUniqueId(ptr)
# @ stub NtAllocateUserPhysicalPages
@ -27,7 +27,7 @@ index 28dc60c40a2..7d6c7447d79 100644
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
@ stdcall NtAreMappedFilesTheSame(ptr ptr)
@ stdcall NtAssignProcessToJobObject(long long)
@@ -1035,7 +1035,7 @@
@@ -1039,7 +1039,7 @@
@ stdcall -private ZwAlertThread(long) NtAlertThread
@ stdcall -private ZwAllocateLocallyUniqueId(ptr) NtAllocateLocallyUniqueId
# @ stub ZwAllocateUserPhysicalPages
@ -37,7 +37,7 @@ index 28dc60c40a2..7d6c7447d79 100644
@ stdcall -private ZwAreMappedFilesTheSame(ptr ptr) NtAreMappedFilesTheSame
@ stdcall -private ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject
diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c
index 1279f2bb4c6..c13934a89bd 100644
index 1279f2b..c13934a 100644
--- a/dlls/ntdll/om.c
+++ b/dlls/ntdll/om.c
@@ -691,10 +691,11 @@ NTSTATUS WINAPI NtQuerySymbolicLinkObject( HANDLE handle, PUNICODE_STRING target
@ -56,23 +56,23 @@ index 1279f2bb4c6..c13934a89bd 100644
/**************************************************************************
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 62ceaceeea6..bba67d71c7d 100644
index 7f43704..24b40c3 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -736,7 +736,7 @@
@ stdcall NtAddAtom(ptr long ptr) ntdll.NtAddAtom
@ stdcall NtAdjustPrivilegesToken(long long ptr long ptr ptr) ntdll.NtAdjustPrivilegesToken
@ stdcall NtAllocateLocallyUniqueId(ptr) ntdll.NtAllocateLocallyUniqueId
-@ stdcall NtAllocateUuids(ptr ptr ptr) ntdll.NtAllocateUuids
+@ stdcall NtAllocateUuids(ptr ptr ptr ptr) ntdll.NtAllocateUuids
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long) ntdll.NtAllocateVirtualMemory
@@ -740,7 +740,7 @@
@ stdcall NtAddAtom(ptr long ptr)
@ stdcall NtAdjustPrivilegesToken(long long ptr long ptr ptr)
@ stdcall NtAllocateLocallyUniqueId(ptr)
-@ stdcall NtAllocateUuids(ptr ptr ptr)
+@ stdcall NtAllocateUuids(ptr ptr ptr ptr)
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
@ stub NtBuildNumber
@ stdcall NtClose(long) ntdll.NtClose
@ stdcall NtClose(long)
diff --git a/include/winternl.h b/include/winternl.h
index f35091cba1a..bf6e4f50410 100644
index c3cca80..b861c4e 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2159,7 +2159,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEG
@@ -2231,7 +2231,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEG
NTSYSAPI NTSTATUS WINAPI NtAlertResumeThread(HANDLE,PULONG);
NTSYSAPI NTSTATUS WINAPI NtAlertThread(HANDLE ThreadHandle);
NTSYSAPI NTSTATUS WINAPI NtAllocateLocallyUniqueId(PLUID lpLuid);
@ -82,5 +82,5 @@ index f35091cba1a..bf6e4f50410 100644
NTSYSAPI NTSTATUS WINAPI NtAreMappedFilesTheSame(PVOID,PVOID);
NTSYSAPI NTSTATUS WINAPI NtAssignProcessToJobObject(HANDLE,HANDLE);
--
2.11.0
2.7.4

View File

@ -1,4 +1,4 @@
From 4839af32041954f18922bbe966944b42219ecad1 Mon Sep 17 00:00:00 2001
From 0aec1075052b51f833e5972258072b2f5397e6bb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 21 Jan 2017 22:54:40 +0100
Subject: ntdll: Implement _alldvrm/_aulldvrm and add tests.
@ -11,7 +11,7 @@ Subject: ntdll: Implement _alldvrm/_aulldvrm and add tests.
4 files changed, 134 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/large_int.c b/dlls/ntdll/large_int.c
index a0d465c494a..18f06889e3b 100644
index a0d465c..18f0688 100644
--- a/dlls/ntdll/large_int.c
+++ b/dlls/ntdll/large_int.c
@@ -660,4 +660,66 @@ ULONGLONG WINAPI _aullshr( ULONGLONG a, LONG b )
@ -82,29 +82,29 @@ index a0d465c494a..18f06889e3b 100644
+
#endif /* __i386__ */
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index f38401dd172..127fc71fb7f 100644
index 6e996a5..232dd46 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1330,7 +1330,7 @@
@@ -1335,7 +1335,7 @@
@ cdecl -private __iscsymf(long) NTDLL___iscsymf
@ cdecl -private __toascii(long) NTDLL___toascii
@ stdcall -private -arch=i386 -ret64 _alldiv(int64 int64)
@ stdcall -arch=i386 -ret64 _alldiv(int64 int64)
-# @ stub _alldvrm
+@ stdcall -private -arch=i386 -norelay _alldvrm(int64 int64)
@ stdcall -private -arch=i386 -ret64 _allmul(int64 int64)
@ stdcall -private -arch=i386 -norelay _alloca_probe()
@ stdcall -private -arch=i386 -ret64 _allrem(int64 int64)
@@ -1338,7 +1338,7 @@
@ stdcall -private -arch=i386 -ret64 _allshr(int64 long)
+@ stdcall -arch=i386 -norelay _alldvrm(int64 int64)
@ stdcall -arch=i386 -ret64 _allmul(int64 int64)
@ stdcall -arch=i386 -norelay _alloca_probe()
@ stdcall -arch=i386 -ret64 _allrem(int64 int64)
@@ -1343,7 +1343,7 @@
@ stdcall -arch=i386 -ret64 _allshr(int64 long)
@ cdecl -private -ret64 _atoi64(str)
@ stdcall -private -arch=i386 -ret64 _aulldiv(int64 int64)
@ stdcall -arch=i386 -ret64 _aulldiv(int64 int64)
-# @ stub _aulldvrm
+@ stdcall -private -arch=i386 -norelay _aulldvrm(int64 int64)
@ stdcall -private -arch=i386 -ret64 _aullrem(int64 int64)
@ stdcall -private -arch=i386 -ret64 _aullshr(int64 long)
+@ stdcall -arch=i386 -norelay _aulldvrm(int64 int64)
@ stdcall -arch=i386 -ret64 _aullrem(int64 int64)
@ stdcall -arch=i386 -ret64 _aullshr(int64 long)
@ stdcall -private -arch=i386 -norelay _chkstk()
diff --git a/dlls/ntdll/tests/large_int.c b/dlls/ntdll/tests/large_int.c
index f13ae882d05..a0d041daf8d 100644
index da7afa4..4562e67 100644
--- a/dlls/ntdll/tests/large_int.c
+++ b/dlls/ntdll/tests/large_int.c
@@ -33,6 +33,8 @@ static VOID (WINAPI *pRtlFreeAnsiString)(PSTRING);
@ -125,7 +125,7 @@ index f13ae882d05..a0d041daf8d 100644
} /* if */
}
@@ -439,6 +443,66 @@ static void test_RtlLargeIntegerToChar(void)
@@ -435,6 +439,66 @@ static void test_RtlLargeIntegerToChar(void)
}
@ -192,7 +192,7 @@ index f13ae882d05..a0d041daf8d 100644
START_TEST(large_int)
{
InitFunctionPtrs();
@@ -449,4 +513,8 @@ START_TEST(large_int)
@@ -445,4 +509,8 @@ START_TEST(large_int)
test_RtlInt64ToUnicodeString();
if (pRtlLargeIntegerToChar)
test_RtlLargeIntegerToChar();
@ -202,26 +202,26 @@ index f13ae882d05..a0d041daf8d 100644
+#endif /* __i386__ */
}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 40bf0d2f7ea..86dfe0c9665 100644
index 7f43704..2e891d6 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -1398,14 +1398,14 @@
@@ -1402,14 +1402,14 @@
@ cdecl -private -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -private _abnormal_termination() msvcrt._abnormal_termination
@ stdcall -private -arch=i386 -ret64 _alldiv(int64 int64) ntdll._alldiv
@ stdcall -private -arch=i386 -ret64 _alldiv(int64 int64)
-@ stub _alldvrm
+@ stdcall -private -arch=i386 -norelay _alldvrm(int64 int64) ntdll._alldvrm
@ stdcall -private -arch=i386 -ret64 _allmul(int64 int64) ntdll._allmul
@ stdcall -private -arch=i386 -norelay _alloca_probe() ntdll._alloca_probe
@ stdcall -private -arch=i386 -ret64 _allrem(int64 int64) ntdll._allrem
@ stdcall -private -arch=i386 -ret64 _allshl(int64 long) ntdll._allshl
@ stdcall -private -arch=i386 -ret64 _allshr(int64 long) ntdll._allshr
@ stdcall -private -arch=i386 -ret64 _aulldiv(int64 int64) ntdll._aulldiv
+@ stdcall -private -arch=i386 -norelay _alldvrm(int64 int64)
@ stdcall -private -arch=i386 -ret64 _allmul(int64 int64)
@ stdcall -private -arch=i386 -norelay _alloca_probe()
@ stdcall -private -arch=i386 -ret64 _allrem(int64 int64)
@ stdcall -private -arch=i386 -ret64 _allshl(int64 long)
@ stdcall -private -arch=i386 -ret64 _allshr(int64 long)
@ stdcall -private -arch=i386 -ret64 _aulldiv(int64 int64)
-@ stub _aulldvrm
+@ stdcall -private -arch=i386 -norelay _aulldvrm(int64 int64) ntdll._aulldvrm
@ stdcall -private -arch=i386 -ret64 _aullrem(int64 int64) ntdll._aullrem
@ stdcall -private -arch=i386 -ret64 _aullshr(int64 long) ntdll._aullshr
+@ stdcall -private -arch=i386 -norelay _aulldvrm(int64 int64)
@ stdcall -private -arch=i386 -ret64 _aullrem(int64 int64)
@ stdcall -private -arch=i386 -ret64 _aullshr(int64 long)
@ cdecl -private -arch=i386 _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
--
2.11.0
2.7.4

View File

@ -1,4 +1,4 @@
From 16d5776424063d794c42609a06d3a010d191dee3 Mon Sep 17 00:00:00 2001
From 44d20d13197dfd845a2fb6f7f40bac51e089e5ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 6 Jun 2017 21:08:51 +0200
Subject: ntoskrnl.exe: Implement NtBuildNumber.
@ -9,7 +9,7 @@ Subject: ntoskrnl.exe: Implement NtBuildNumber.
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 9332c3ef2a6..0a5c22fc8c0 100644
index a263941..3059dfb 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -52,6 +52,7 @@ WINE_DECLARE_DEBUG_CHANNEL(plugplay);
@ -20,7 +20,7 @@ index 9332c3ef2a6..0a5c22fc8c0 100644
extern LONG CALLBACK vectored_handler( EXCEPTION_POINTERS *ptrs );
@@ -2657,6 +2658,13 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
@@ -2655,6 +2656,13 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
return STATUS_NOT_IMPLEMENTED;
}
@ -34,7 +34,7 @@ index 9332c3ef2a6..0a5c22fc8c0 100644
/*****************************************************
* DllMain
@@ -2664,7 +2672,6 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
@@ -2662,7 +2670,6 @@ NTSTATUS WINAPI IoAcquireRemoveLockEx(PIO_REMOVE_LOCK lock, PVOID tag,
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
{
static void *handler;
@ -42,7 +42,7 @@ index 9332c3ef2a6..0a5c22fc8c0 100644
switch(reason)
{
@@ -2673,7 +2680,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
@@ -2671,7 +2678,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
#if defined(__i386__) || defined(__x86_64__)
handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler );
#endif
@ -52,18 +52,18 @@ index 9332c3ef2a6..0a5c22fc8c0 100644
case DLL_PROCESS_DETACH:
if (reserved) break;
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index aaa0d879219..1c862255dee 100644
index 134cf71..34b1f52 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -740,7 +740,7 @@
@ stdcall NtAllocateLocallyUniqueId(ptr) ntdll.NtAllocateLocallyUniqueId
@ stdcall NtAllocateUuids(ptr ptr ptr ptr) ntdll.NtAllocateUuids
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long) ntdll.NtAllocateVirtualMemory
@@ -742,7 +742,7 @@
@ stdcall NtAllocateLocallyUniqueId(ptr)
@ stdcall NtAllocateUuids(ptr ptr ptr ptr)
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
-@ stub NtBuildNumber
+@ extern NtBuildNumber
@ stdcall NtClose(long) ntdll.NtClose
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) ntdll.NtConnectPort
@ stdcall NtCreateEvent(ptr long ptr long long) ntdll.NtCreateEvent
@ stdcall NtClose(long)
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall NtCreateEvent(ptr long ptr long long)
--
2.13.1
2.7.4

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "9ae8b8c00f2cca205fdf4ce76e221778b7dfbea7"
echo "7b62a970e9ad3b4179394cf54f0232475fe2388a"
}
# Show version information
@ -111,7 +111,6 @@ patch_enable_all ()
enable_crypt32_CryptUnprotectMemory="$1"
enable_crypt32_ECDSA_Cert_Chains="$1"
enable_crypt32_MS_Root_Certs="$1"
enable_d3d10_1_Forwards="$1"
enable_d3d11_Deferred_Context="$1"
enable_d3d11_Depth_Bias="$1"
enable_d3d11_ID3D11Texture1D="$1"
@ -198,7 +197,6 @@ patch_enable_all ()
enable_kernel32_SetFileCompletionNotificationModes="$1"
enable_kernel32_TimezoneInformation_Registry="$1"
enable_kernel32_UmsStubs="$1"
enable_kernel32_VerifyVersionInfo="$1"
enable_kernelbase_PathCchCombineEx="$1"
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
enable_krnl386_exe16_Invalid_Console_Handles="$1"
@ -328,7 +326,6 @@ patch_enable_all ()
enable_server_Stored_ACLs="$1"
enable_server_Timestamp_Compat="$1"
enable_server_device_manager_destroy="$1"
enable_server_free_async_queue="$1"
enable_server_send_hardware_message="$1"
enable_setupapi_CM_Get_Parent="$1"
enable_setupapi_DiskSpaceList="$1"
@ -392,7 +389,6 @@ patch_enable_all ()
enable_version_VerFindFileA="$1"
enable_version_VerQueryValue="$1"
enable_virtdisk_GetStorageDependencyInformation="$1"
enable_vulkan_Vulkan_Implementation="$1"
enable_wbemdisp_ISWbemSecurity="$1"
enable_wbemprox_Printer="$1"
enable_wbemprox_Win32_OperatingSystem="$1"
@ -402,7 +398,6 @@ patch_enable_all ()
enable_windowscodecs_GIF_Encoder="$1"
enable_windowscodecs_IMILBitmapSource="$1"
enable_windowscodecs_IWICPalette_InitializeFromBitmap="$1"
enable_windowscodecs_JPEG_Decoder="$1"
enable_windowscodecs_Palette_Images="$1"
enable_windowscodecs_TIFF_Support="$1"
enable_windowscodecs_WICCreateBitmapFromSection="$1"
@ -574,9 +569,6 @@ patch_enable ()
crypt32-MS_Root_Certs)
enable_crypt32_MS_Root_Certs="$2"
;;
d3d10_1-Forwards)
enable_d3d10_1_Forwards="$2"
;;
d3d11-Deferred_Context)
enable_d3d11_Deferred_Context="$2"
;;
@ -835,9 +827,6 @@ patch_enable ()
kernel32-UmsStubs)
enable_kernel32_UmsStubs="$2"
;;
kernel32-VerifyVersionInfo)
enable_kernel32_VerifyVersionInfo="$2"
;;
kernelbase-PathCchCombineEx)
enable_kernelbase_PathCchCombineEx="$2"
;;
@ -1225,9 +1214,6 @@ patch_enable ()
server-device_manager_destroy)
enable_server_device_manager_destroy="$2"
;;
server-free_async_queue)
enable_server_free_async_queue="$2"
;;
server-send_hardware_message)
enable_server_send_hardware_message="$2"
;;
@ -1417,9 +1403,6 @@ patch_enable ()
virtdisk-GetStorageDependencyInformation)
enable_virtdisk_GetStorageDependencyInformation="$2"
;;
vulkan-Vulkan_Implementation)
enable_vulkan_Vulkan_Implementation="$2"
;;
wbemdisp-ISWbemSecurity)
enable_wbemdisp_ISWbemSecurity="$2"
;;
@ -1447,9 +1430,6 @@ patch_enable ()
windowscodecs-IWICPalette_InitializeFromBitmap)
enable_windowscodecs_IWICPalette_InitializeFromBitmap="$2"
;;
windowscodecs-JPEG_Decoder)
enable_windowscodecs_JPEG_Decoder="$2"
;;
windowscodecs-Palette_Images)
enable_windowscodecs_Palette_Images="$2"
;;
@ -3099,26 +3079,24 @@ fi
# | * [#40451] Add feclient dll
# |
# | Modified files:
# | * configure.ac, dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec, dlls/api-ms-win-rtcore-ntuser-
# | draw-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-draw-l1-1-0.spec, dlls/api-
# | ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-
# | window-l1-1-0.spec, dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-
# | win-shcore-obsolete-l1-1-0.spec, dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-stream-l1-1-0
# | /api-ms-win-shcore-stream-l1-1-0.spec, dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-
# | thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in, dlls/ext-
# | ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-
# | usercontext-l1-1-0/main.c, dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in, dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-
# | win-ntuser-mouse-l1-1-0.spec, dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in, dlls/ext-ms-win-rtcore-ntuser-
# | syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec, dlls/ext-ms-win-uxtheme-themes-l1-1-0/Makefile.in, dlls
# | /ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in,
# | dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/main.c,
# | dlls/feclient/Makefile.in, dlls/feclient/feclient.spec, dlls/feclient/main.c, dlls/iertutil/Makefile.in,
# | dlls/iertutil/iertutil.spec, dlls/iertutil/main.c, dlls/kernelbase/kernelbase.spec, dlls/kernelbase/main.c,
# | * configure.ac, dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-
# | win-rtcore-ntuser-draw-l1-1-0.spec, dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-
# | ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec, dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in,
# | dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec, dlls/api-ms-win-shcore-
# | stream-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec, dlls/api-ms-win-
# | shcore-thread-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec, dlls/ext-
# | ms-win-appmodel-usercontext-l1-1-0/Makefile.in, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-
# | usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-ntuser-
# | mouse-l1-1-0/Makefile.in, dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec, dlls/ext-ms-win-
# | rtcore-ntuser-syscolors-l1-1-0/Makefile.in, dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-
# | syscolors-l1-1-0.spec, dlls/ext-ms-win-uxtheme-themes-l1-1-0/Makefile.in, dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-
# | win-uxtheme-themes-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in, dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-
# | xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/main.c, dlls/feclient/Makefile.in, dlls/feclient/feclient.spec,
# | dlls/feclient/main.c, dlls/iertutil/Makefile.in, dlls/iertutil/iertutil.spec, dlls/iertutil/main.c,
# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec,
# | include/uiautomationcoreapi.h, tools/make_specfiles
# |
if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch
patch_apply api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch
patch_apply api-ms-win-Stub_DLLs/0008-api-ms-win-shcore-obsolete-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch
@ -3134,7 +3112,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-Stub_DLLs/0026-feclient-Add-stub-dll.patch
patch_apply api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch
(
printf '%s\n' '+ { "Michael Müller", "kernelbase: Add dll and add stub for QuirkIsEnabled.", 1 },';
printf '%s\n' '+ { "Michael Müller", "iertutil: Add dll and add stub for ordinal 811.", 1 },';
printf '%s\n' '+ { "Michael Müller", "api-ms-win-shcore-obsolete-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for XamlBehaviorEnabled.", 1 },';
@ -3426,18 +3403,6 @@ if test "$enable_crypt32_MS_Root_Certs" -eq 1; then
) >> "$patchlist"
fi
# Patchset d3d10_1-Forwards
# |
# | Modified files:
# | * dlls/d3d10_1/d3d10_1.spec, tools/make_specfiles
# |
if test "$enable_d3d10_1_Forwards" -eq 1; then
patch_apply d3d10_1-Forwards/0001-d3d10_1-Add-missing-forwards-to-d3d10.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "d3d10_1: Add missing forwards to d3d10.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-1DTextures
# |
# | Modified files:
@ -5084,21 +5049,6 @@ if test "$enable_kernel32_TimezoneInformation_Registry" -eq 1; then
) >> "$patchlist"
fi
# Patchset kernel32-VerifyVersionInfo
# |
# | This patchset fixes the following Wine bugs:
# | * [#36143] Fix condition mask handling in RtlVerifyVersionInfo
# |
# | Modified files:
# | * dlls/kernel32/tests/version.c, dlls/ntdll/version.c
# |
if test "$enable_kernel32_VerifyVersionInfo" -eq 1; then
patch_apply kernel32-VerifyVersionInfo/0002-ntdll-Fix-condition-mask-handling-in-RtlVerifyVersio.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix condition mask handling in RtlVerifyVersionInfo.", 1 },';
) >> "$patchlist"
fi
# Patchset kernelbase-PathCchCombineEx
# |
# | This patchset fixes the following Wine bugs:
@ -7250,18 +7200,6 @@ if test "$enable_server_device_manager_destroy" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-free_async_queue
# |
# | Modified files:
# | * server/async.c
# |
if test "$enable_server_free_async_queue" -eq 1; then
patch_apply server-free_async_queue/0001-server-Avoid-crash-when-async_terminate-destroys-asy.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "server: Avoid crash when async_terminate destroys async object in free_async_queue.", 1 },';
) >> "$patchlist"
fi
# Patchset server-send_hardware_message
# |
# | This patchset fixes the following Wine bugs:
@ -8361,36 +8299,6 @@ if test "$enable_virtdisk_GetStorageDependencyInformation" -eq 1; then
) >> "$patchlist"
fi
# Patchset vulkan-Vulkan_Implementation
# |
# | This patchset fixes the following Wine bugs:
# | * [#40164] Implement support for Vulkan
# |
# | Modified files:
# | * configure.ac, dlls/vulkan-1/Makefile.in, dlls/vulkan-1/vulkan-1.spec, dlls/vulkan/Makefile.in, dlls/vulkan/vulkan.spec,
# | dlls/vulkan/vulkan_main.c, dlls/vulkan/vulkan_private.h, dlls/vulkan/vulkan_thunks.c
# |
if test "$enable_vulkan_Vulkan_Implementation" -eq 1; then
patch_apply vulkan-Vulkan_Implementation/0001-vulkan-Initial-implementation.patch
patch_apply vulkan-Vulkan_Implementation/0002-vulkan-Implement-vkGetPhysicalDeviceWin32Presentatio.patch
patch_apply vulkan-Vulkan_Implementation/0003-vulkan-Use-binary-search-to-lookup-function-in-is_nu.patch
patch_apply vulkan-Vulkan_Implementation/0004-vulkan-Try-to-load-libvulkan.so.1.patch
patch_apply vulkan-Vulkan_Implementation/0005-vulkan-Enumerate-VK_KHR_win32_surface-only-one-time-.patch
patch_apply vulkan-Vulkan_Implementation/0006-vulkan-Update-to-spec-version-1.0.30-no-VK_EXT_debug.patch
patch_apply vulkan-Vulkan_Implementation/0007-vulkan-Improve-vkGetPhysicalDeviceWin32PresentationS.patch
patch_apply vulkan-Vulkan_Implementation/0008-vulkan-Only-convert-VkDescriptor-Image-Buffer-Info-w.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "vulkan: Initial implementation.", 2 },';
printf '%s\n' '+ { "Michael Müller", "vulkan: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "vulkan: Use binary search to lookup function in is_null_func.", 1 },';
printf '%s\n' '+ { "Michael Müller", "vulkan: Try to load libvulkan.so.1.", 1 },';
printf '%s\n' '+ { "Michael Müller", "vulkan: Enumerate VK_KHR_win32_surface only one time in vkEnumerateInstanceExtensionProperties.", 1 },';
printf '%s\n' '+ { "Michael Müller", "vulkan: Update to spec version 1.0.30 (no VK_EXT_debug_marker support yet).", 1 },';
printf '%s\n' '+ { "Michael Müller", "vulkan: Improve vkGetPhysicalDeviceWin32PresentationSupportKHR and vkCreateWin32SurfaceKHR.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "vulkan: Only convert VkDescriptor{Image,Buffer}Info when type is valid.", 1 },';
) >> "$patchlist"
fi
# Patchset wbemdisp-ISWbemSecurity
# |
# | Modified files:
@ -8648,27 +8556,6 @@ if test "$enable_windowscodecs_IMILBitmapSource" -eq 1; then
) >> "$patchlist"
fi
# Patchset windowscodecs-JPEG_Decoder
# |
# | This patchset fixes the following Wine bugs:
# | * [#43520] Fix JPEG decoder and implement support for CMYK to BGR conversion
# |
# | Modified files:
# | * dlls/windowscodecs/converter.c, dlls/windowscodecs/jpegformat.c
# |
if test "$enable_windowscodecs_JPEG_Decoder" -eq 1; then
patch_apply windowscodecs-JPEG_Decoder/0002-windowscodecs-Fix-stride-calculation-in-JPEG-decoder.patch
patch_apply windowscodecs-JPEG_Decoder/0003-windowscodecs-Move-additional-processing-out-of-the-.patch
patch_apply windowscodecs-JPEG_Decoder/0004-windowscodecs-Move-JPEG-frame-image-data-initializat.patch
patch_apply windowscodecs-JPEG_Decoder/0005-windowscodecs-Add-support-for-CMYK-to-BGR-conversion.patch
(
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix stride calculation in JPEG decoder.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Move additional processing out of the JPEG decoding loop.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Move JPEG frame image data initialization from Frame::CopyPixels to Decoder::Initialize.", 2 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for CMYK to BGR conversion.", 1 },';
) >> "$patchlist"
fi
# Patchset windowscodecs-WICCreateBitmapFromSection
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From 918650a7ed93edf05284b0ae2903cce44cdd1899 Mon Sep 17 00:00:00 2001
From 7096e603034fef2bbba202144070152ba5a0a32c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 17 Aug 2015 01:11:47 +0200
Subject: [PATCH] server: Store a reference to the parent object for pipe
@ -12,10 +12,10 @@ Subject: [PATCH] server: Store a reference to the parent object for pipe
4 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index b58f76365f..84b783b80a 100644
index 43c5ee4..9a1ba67 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -1503,14 +1503,11 @@ static void test_query_object(void)
@@ -1487,14 +1487,11 @@ static void test_query_object(void)
status = pNtQueryObject( handle, ObjectNameInformation, buffer, sizeof(buffer), &len );
ok( status == STATUS_SUCCESS , "NtQueryObject returned %x\n", status );
str = (UNICODE_STRING *)buffer;
@ -31,21 +31,21 @@ index b58f76365f..84b783b80a 100644
"name too short %s\n", wine_dbgstr_w(str->Buffer) );
trace( "got %s len %u\n", wine_dbgstr_w(str->Buffer), len );
diff --git a/server/named_pipe.c b/server/named_pipe.c
index c8796b2142..f4cb5fdc12 100644
index 13cf13b..c7295e2 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -152,6 +152,8 @@ static void pipe_end_reselect_async( struct fd *fd, struct async_queue *queue );
/* server end functions */
static void pipe_server_dump( struct object *obj, int verbose );
@@ -155,6 +155,8 @@ static struct security_descriptor *pipe_server_get_sd( struct object *obj );
static int pipe_server_set_sd( struct object *obj, const struct security_descriptor *sd,
unsigned int set_info );
static void pipe_server_destroy( struct object *obj);
+static int pipe_server_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_server_unlink_name( struct object *obj, struct object_name *name );
static int pipe_server_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_server_get_file_info( struct fd *fd, unsigned int info_class );
@@ -170,8 +172,8 @@ static const struct object_ops pipe_server_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@@ -173,8 +175,8 @@ static const struct object_ops pipe_server_ops =
pipe_server_get_sd, /* get_sd */
pipe_server_set_sd, /* set_sd */
no_lookup_name, /* lookup_name */
- no_link_name, /* link_name */
- NULL, /* unlink_name */
@ -54,18 +54,18 @@ index c8796b2142..f4cb5fdc12 100644
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -195,6 +197,8 @@ static const struct fd_ops pipe_server_fd_ops =
/* client end functions */
static void pipe_client_dump( struct object *obj, int verbose );
@@ -201,6 +203,8 @@ static void pipe_client_dump( struct object *obj, int verbose );
static struct security_descriptor *pipe_client_get_sd( struct object *obj );
static int pipe_client_set_sd( struct object *obj, const struct security_descriptor *sd,
unsigned int set_info );
+static int pipe_client_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_client_unlink_name( struct object *obj, struct object_name *name );
static void pipe_client_destroy( struct object *obj );
static int pipe_client_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_client_get_file_info( struct fd *fd, unsigned int info_class );
@@ -214,8 +218,8 @@ static const struct object_ops pipe_client_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@@ -220,8 +224,8 @@ static const struct object_ops pipe_client_ops =
pipe_client_get_sd, /* get_sd */
pipe_client_set_sd, /* set_sd */
no_lookup_name, /* lookup_name */
- no_link_name, /* link_name */
- NULL, /* unlink_name */
@ -74,7 +74,7 @@ index c8796b2142..f4cb5fdc12 100644
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -413,6 +417,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
@@ -419,6 +423,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
if (pipe_end->fd) release_object( pipe_end->fd );
}
@ -92,7 +92,7 @@ index c8796b2142..f4cb5fdc12 100644
static void pipe_server_destroy( struct object *obj)
{
struct pipe_server *server = (struct pipe_server *)obj;
@@ -435,6 +450,17 @@ static void pipe_server_destroy( struct object *obj)
@@ -441,6 +456,17 @@ static void pipe_server_destroy( struct object *obj)
release_object( server->pipe );
}
@ -110,7 +110,7 @@ index c8796b2142..f4cb5fdc12 100644
static void pipe_client_destroy( struct object *obj)
{
struct pipe_client *client = (struct pipe_client *)obj;
@@ -959,9 +985,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
@@ -996,9 +1022,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned int options,
unsigned int pipe_flags )
{
@ -122,7 +122,7 @@ index c8796b2142..f4cb5fdc12 100644
if (!server)
return NULL;
@@ -982,12 +1009,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
@@ -1019,12 +1046,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
return server;
}
@ -138,7 +138,7 @@ index c8796b2142..f4cb5fdc12 100644
if (!client)
return NULL;
@@ -1065,7 +1093,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
@@ -1102,7 +1130,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
return NULL;
}
@ -148,7 +148,7 @@ index c8796b2142..f4cb5fdc12 100644
set_no_fd_status( server->pipe_end.fd, STATUS_BAD_DEVICE_TYPE );
allow_fd_caching( server->pipe_end.fd );
diff --git a/server/object.c b/server/object.c
index d0750c5934..f40aebe4dd 100644
index 14cd38e..77772a8 100644
--- a/server/object.c
+++ b/server/object.c
@@ -176,7 +176,7 @@ WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len )
@ -202,7 +202,7 @@ index d0750c5934..f40aebe4dd 100644
/* dump the name of an object to stderr */
diff --git a/server/object.h b/server/object.h
index 9ff123ebff..4a5d282a47 100644
index 72ad852..ddb4410 100644
--- a/server/object.h
+++ b/server/object.h
@@ -135,6 +135,8 @@ extern WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len );
@ -215,5 +215,5 @@ index 9ff123ebff..4a5d282a47 100644
const struct unicode_str *name, unsigned int attributes,
const struct security_descriptor *sd );
--
2.16.1
2.7.4

View File

@ -1,30 +0,0 @@
From 6844c121a7cd8a7f90afc0c033cf1c3519fd8d9a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 28 Jul 2017 02:41:27 +0200
Subject: server: Avoid crash when async_terminate destroys async object in
free_async_queue.
---
server/async.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/server/async.c b/server/async.c
index 926c121f6f9..9e91f9eadf3 100644
--- a/server/async.c
+++ b/server/async.c
@@ -194,10 +194,12 @@ void free_async_queue( struct async_queue *queue )
LIST_FOR_EACH_ENTRY_SAFE( async, next, &queue->queue, struct async, queue_entry )
{
+ grab_object( &async->obj );
if (!async->completion) async->completion = fd_get_completion( async->fd, &async->comp_key );
async->fd = NULL;
async_terminate( async, STATUS_HANDLES_CLOSED );
async->queue = NULL;
+ release_object( &async->obj );
}
}
--
2.13.1

View File

@ -1 +0,0 @@
Fixes: Avoid crash when async_terminate destroys async object in free_async_queue

View File

@ -1 +1,3 @@
Fixes: [40164] Implement support for Vulkan
Disabled: true
# Disabled since this area is currently (27 February) seeing active development.

View File

@ -1,88 +0,0 @@
From 549a63c40b7b9a73055ece62c2d6c4631de79471 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 18 Aug 2017 12:12:16 +0800
Subject: [PATCH] windowscodecs: Move additional processing out of the JPEG
decoding loop.
This avoids image corruption when libjpeg reuses existing pixel data.
---
dlls/windowscodecs/jpegformat.c | 38 ++++++++++++++++++++------------------
1 file changed, 20 insertions(+), 18 deletions(-)
diff --git a/dlls/windowscodecs/jpegformat.c b/dlls/windowscodecs/jpegformat.c
index 27cd880..97899a7 100644
--- a/dlls/windowscodecs/jpegformat.c
+++ b/dlls/windowscodecs/jpegformat.c
@@ -599,10 +599,12 @@ static HRESULT WINAPI JpegDecoder_Frame_CopyPixels(IWICBitmapFrameDecode *iface,
JpegDecoder *This = impl_from_IWICBitmapFrameDecode(iface);
UINT bpp;
UINT stride;
- UINT data_size;
+ UINT data_size, i;
UINT max_row_needed;
jmp_buf jmpbuf;
WICRect rect;
+ UINT first_scanline = 0;
+
TRACE("(%p,%p,%u,%u,%p)\n", iface, prc, cbStride, cbBufferSize, pbBuffer);
if (!prc)
@@ -652,12 +654,12 @@ static HRESULT WINAPI JpegDecoder_Frame_CopyPixels(IWICBitmapFrameDecode *iface,
while (max_row_needed > This->cinfo.output_scanline)
{
- UINT first_scanline = This->cinfo.output_scanline;
UINT max_rows;
JSAMPROW out_rows[4];
- UINT i;
JDIMENSION ret;
+ first_scanline = This->cinfo.output_scanline;
+
max_rows = min(This->cinfo.output_height-first_scanline, 4);
for (i=0; i<max_rows; i++)
out_rows[i] = This->image_data + stride * (first_scanline+i);
@@ -670,25 +672,25 @@ static HRESULT WINAPI JpegDecoder_Frame_CopyPixels(IWICBitmapFrameDecode *iface,
LeaveCriticalSection(&This->lock);
return E_FAIL;
}
+ }
- if (bpp == 24)
- {
- /* libjpeg gives us RGB data and we want BGR, so byteswap the data */
- reverse_bgr8(3, This->image_data + stride * first_scanline,
- This->cinfo.output_width, This->cinfo.output_scanline - first_scanline,
- stride);
- }
+ if (bpp == 24)
+ {
+ /* libjpeg gives us RGB data and we want BGR, so byteswap the data */
+ reverse_bgr8(3, This->image_data,
+ This->cinfo.output_width, This->cinfo.output_height,
+ stride);
+ }
- if (This->cinfo.out_color_space == JCS_CMYK && This->cinfo.saw_Adobe_marker)
- {
- DWORD *pDwordData = (DWORD*) (This->image_data + stride * first_scanline);
- DWORD *pDwordDataEnd = (DWORD*) (This->image_data + This->cinfo.output_scanline * stride);
- /* Adobe JPEG's have inverted CMYK data. */
- while(pDwordData < pDwordDataEnd)
- *pDwordData++ ^= 0xffffffff;
- }
+ if (This->cinfo.out_color_space == JCS_CMYK && This->cinfo.saw_Adobe_marker)
+ {
+ DWORD *pDwordData = (DWORD*) (This->image_data + stride * first_scanline);
+ DWORD *pDwordDataEnd = (DWORD*) (This->image_data + This->cinfo.output_scanline * stride);
+ /* Adobe JPEG's have inverted CMYK data. */
+ while(pDwordData < pDwordDataEnd)
+ *pDwordData++ ^= 0xffffffff;
}
LeaveCriticalSection(&This->lock);
--
1.9.1

View File

@ -1 +1,2 @@
Fixes: [43520] Fix JPEG decoder and implement support for CMYK to BGR conversion
Disabled: true

View File

@ -1,4 +1,4 @@
From ad01f9c17d660452e2e0179cebc930b6a7650a84 Mon Sep 17 00:00:00 2001
From b630ee635fa0f7f5223335b619a2b86f7141be0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 25 May 2017 07:02:46 +0200
Subject: kernel32/tests: Add basic tests for fake dlls.
@ -8,11 +8,11 @@ Subject: kernel32/tests: Add basic tests for fake dlls.
1 file changed, 91 insertions(+)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index 2587a973031..44c632bdbcf 100644
index 484b602..5387ed5 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -1289,6 +1289,96 @@ static void test_Loader(void)
section.Characteristics = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ;
@@ -1340,6 +1340,96 @@ static void test_filenames(void)
DeleteFileA( long_path );
}
+static void test_FakeDLL(void)
@ -108,13 +108,14 @@ index 2587a973031..44c632bdbcf 100644
/* Verify linking style of import descriptors */
static void test_ImportDescriptors(void)
{
@@ -3598,6 +3688,7 @@ START_TEST(loader)
@@ -3576,6 +3666,7 @@ START_TEST(loader)
}
test_Loader();
+ test_FakeDLL();
test_filenames();
test_ResolveDelayLoadedAPI();
test_ImportDescriptors();
test_section_access();
--
2.12.2
2.7.4

View File

@ -271,7 +271,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2499,7 +2499,11 @@ static BOOL surface_load_texture(struct wined3d_surface *surface,
@@ -2505,7 +2505,11 @@ static BOOL surface_load_texture(struct wined3d_surface *surface,
/* Don't use PBOs for converted surfaces. During PBO conversion we look at
* WINED3D_TEXTURE_CONVERTED but it isn't set (yet) in all cases it is
* getting called. */
@ -576,7 +576,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.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
@@ -2897,6 +2897,16 @@ struct wined3d_dummy_textures
@@ -2895,6 +2895,16 @@ struct wined3d_dummy_textures
GLuint tex_2d_ms_array;
};
@ -593,7 +593,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
@@ -2997,6 +3007,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2995,6 +3005,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;
@ -606,7 +606,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)
{
@@ -3196,7 +3212,11 @@ struct wined3d_texture
@@ -3194,7 +3210,11 @@ struct wined3d_texture
unsigned int map_count;
DWORD locations;
@ -618,7 +618,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
} sub_resources[1];
};
@@ -3521,6 +3541,9 @@ struct wined3d_cs_queue
@@ -3519,6 +3539,9 @@ struct wined3d_cs_queue
struct wined3d_cs_ops
{