From 04283ef5c5161b96d3aaab234982f17814dfb0d8 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 7 Mar 2018 22:39:23 -0600 Subject: [PATCH] Rebase against 813ab925abd45d48c811898028fddc1047b0c250 --- ...t-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch | 16 +-- ...-rtcore-ntuser-window-l1-1-0-Add-dll.patch | 135 ------------------ ...in-rtcore-ntuser-draw-l1-1-0-Add-dll.patch | 16 +-- ...num-Populate-AudioCompressorCategory.patch | 126 ---------------- .../definition | 1 - patches/ntdll-ApiSetMap/definition | 2 +- patches/ntdll-Builtin_Prot/definition | 2 +- patches/ntdll-NtSuspendProcess/definition | 2 +- patches/patchinstall.sh | 61 ++++---- ...reate-dummy-1d-textures-and-surfaces.patch | 17 ++- ...9-wined3d-Wrap-GL-BOs-in-a-structure.patch | 73 +++++----- .../wined3d-CSMT_Main/9999-IfDefined.patch | 73 +++------- patches/wintrust-WinVerifyTrust/definition | 2 +- 13 files changed, 111 insertions(+), 415 deletions(-) delete mode 100644 patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch delete mode 100644 patches/devenum-AudioCompressorCategory/0001-devenum-Populate-AudioCompressorCategory.patch delete mode 100644 patches/devenum-AudioCompressorCategory/definition diff --git a/patches/api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch b/patches/api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch index 8a5e749f..c0571124 100644 --- a/patches/api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch +++ b/patches/api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch @@ -1,4 +1,4 @@ -From 70aad2173a86bec18aa8ffd92a73c35061634bfd Mon Sep 17 00:00:00 2001 +From affbf584e0987c5b5e9b47051fd7a4a02abe1dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 23 Jan 2016 21:00:39 +0100 Subject: [PATCH] ext-ms-win-ntuser-mouse-l1-1-0: Add dll. @@ -13,10 +13,10 @@ Subject: [PATCH] ext-ms-win-ntuser-mouse-l1-1-0: Add dll. create mode 100644 dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec diff --git a/configure.ac b/configure.ac -index 8f16d3f..17b6070 100644 +index 1e2c19b..ae7d71c 100644 --- a/configure.ac +++ b/configure.ac -@@ -3242,6 +3242,7 @@ WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-render-l1-1-0) +@@ -3250,6 +3250,7 @@ WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-render-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-kernel32-package-current-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-kernel32-package-l1-1-1) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-message-l1-1-1) @@ -43,17 +43,17 @@ index 0000000..22128a2 +@ stdcall SetCapture(long) user32.SetCapture +@ stdcall TrackMouseEvent(ptr) user32.TrackMouseEvent diff --git a/tools/make_specfiles b/tools/make_specfiles -index 67c8f13..680ade4 100755 +index d2b7175..8255b89 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles -@@ -352,6 +352,7 @@ my @dll_groups = - "api-ms-win-ntuser-dc-access-l1-1-0", - "api-ms-win-rtcore-ntuser-private-l1-1-0", +@@ -357,6 +357,7 @@ my @dll_groups = + "api-ms-win-rtcore-ntuser-wmpointer-l1-1-0", + "api-ms-win-rtcore-ntuser-wmpointer-l1-1-3", "ext-ms-win-ntuser-message-l1-1-1", + "ext-ms-win-ntuser-mouse-l1-1-0", "ext-ms-win-ntuser-private-l1-1-1", "ext-ms-win-ntuser-rectangle-ext-l1-1-0", "api-ms-win-ntuser-rectangle-l1-1-0", -- -1.9.1 +2.7.4 diff --git a/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch b/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch deleted file mode 100644 index 7b5649e8..00000000 --- a/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 4f6ca51c0b7da427f86b230f2cbd79ae43cfaee8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Sat, 23 Jan 2016 21:05:14 +0100 -Subject: [PATCH] api-ms-win-rtcore-ntuser-window-l1-1-0: Add dll - ---- - configure.ac | 1 + - .../Makefile.in | 1 + - .../api-ms-win-rtcore-ntuser-window-l1-1-0.spec | 81 ++++++++++++++++++++++ - tools/make_specfiles | 1 + - 4 files changed, 84 insertions(+) - create mode 100644 dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in - create mode 100644 dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec - -diff --git a/configure.ac b/configure.ac -index 10a1804..95bbaec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2994,6 +2994,7 @@ WINE_CONFIG_MAKEFILE(dlls/api-ms-win-perf-legacy-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-power-base-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-power-setting-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-private-l1-1-0) -+WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-window-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-security-activedirectoryclient-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-security-audit-l1-1-1) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-security-base-l1-1-0) -diff --git a/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in b/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in -new file mode 100644 -index 0000000..9641c2a ---- /dev/null -+++ b/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in -@@ -0,0 +1 @@ -+MODULE = api-ms-win-rtcore-ntuser-window-l1-1-0.dll -diff --git a/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec b/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec -new file mode 100644 -index 0000000..b7575c6 ---- /dev/null -+++ b/dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec -@@ -0,0 +1,81 @@ -+@ stdcall AllowSetForegroundWindow(long) user32.AllowSetForegroundWindow -+@ stdcall BeginDeferWindowPos(long) user32.BeginDeferWindowPos -+@ stdcall CallWindowProcW(ptr long long long long) user32.CallWindowProcW -+@ stdcall ChildWindowFromPoint(long int64) user32.ChildWindowFromPoint -+@ stdcall ChildWindowFromPointEx(long int64 long) user32.ChildWindowFromPointEx -+@ stdcall ClientToScreen(long ptr) user32.ClientToScreen -+@ stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW -+@ stdcall DefWindowProcW(long long long long) user32.DefWindowProcW -+@ stdcall DeferWindowPos(long long long long long long long long) user32.DeferWindowPos -+@ stdcall DestroyWindow(long) user32.DestroyWindow -+@ stdcall DispatchMessageW(ptr) user32.DispatchMessageW -+@ stdcall EnableWindow(long long) user32.EnableWindow -+@ stdcall EndDeferWindowPos(long) user32.EndDeferWindowPos -+@ stdcall EnumChildWindows(long ptr long) user32.EnumChildWindows -+@ stdcall EnumPropsExW(long ptr long) user32.EnumPropsExW -+@ stdcall EnumPropsW(long ptr) user32.EnumPropsW -+@ stdcall EnumWindows(ptr long) user32.EnumWindows -+@ stdcall FindWindowExW(long long wstr wstr) user32.FindWindowExW -+@ stdcall FindWindowW(wstr wstr) user32.FindWindowW -+@ stdcall GetActiveWindow() user32.GetActiveWindow -+@ stdcall GetAncestor(long long) user32.GetAncestor -+@ stdcall GetClassInfoExW(long wstr ptr) user32.GetClassInfoExW -+@ stdcall GetClassInfoW(long wstr ptr) user32.GetClassInfoW -+@ stdcall GetClassNameW(long ptr long) user32.GetClassNameW -+@ stdcall GetClientRect(long long) user32.GetClientRect -+@ stdcall GetCursorPos(ptr) user32.GetCursorPos -+@ stdcall GetDesktopWindow() user32.GetDesktopWindow -+@ stdcall GetFocus() user32.GetFocus -+@ stdcall GetForegroundWindow() user32.GetForegroundWindow -+@ stdcall GetMessageExtraInfo() user32.GetMessageExtraInfo -+@ stdcall GetMessagePos() user32.GetMessagePos -+@ stdcall GetMessageTime() user32.GetMessageTime -+@ stdcall GetMessageW(ptr long long long) user32.GetMessageW -+@ stdcall GetParent(long) user32.GetParent -+@ stdcall GetPropW(long wstr) user32.GetPropW -+@ stdcall GetQueueStatus(long) user32.GetQueueStatus -+@ stdcall GetTopWindow(long) user32.GetTopWindow -+@ stdcall GetWindow(long long) user32.GetWindow -+@ stdcall GetWindowLongA(long long) user32.GetWindowLongA -+@ stdcall GetWindowLongW(long long) user32.GetWindowLongW -+@ stdcall GetWindowRect(long ptr) user32.GetWindowRect -+@ stdcall GetWindowTextW(long ptr long) user32.GetWindowTextW -+@ stdcall GetWindowThreadProcessId(long ptr) user32.GetWindowThreadProcessId -+@ stdcall InSendMessage() user32.InSendMessage -+@ stdcall InSendMessageEx(ptr) user32.InSendMessageEx -+@ stdcall IsChild(long long) user32.IsChild -+@ stdcall IsWindow(long) user32.IsWindow -+@ stdcall IsWindowEnabled(long) user32.IsWindowEnabled -+@ stdcall IsWindowVisible(long) user32.IsWindowVisible -+@ stdcall KillTimer(long long) user32.KillTimer -+@ stdcall MoveWindow(long long long long long long) user32.MoveWindow -+@ stdcall PeekMessageW(ptr long long long long) user32.PeekMessageW -+@ stdcall PostMessageW(long long long long) user32.PostMessageW -+@ stdcall PostQuitMessage(long) user32.PostQuitMessage -+@ stdcall PostThreadMessageW(long long long long) user32.PostThreadMessageW -+@ stdcall RegisterClassExW(ptr) user32.RegisterClassExW -+@ stdcall RegisterClassW(ptr) user32.RegisterClassW -+@ stdcall RegisterWindowMessageW(wstr) user32.RegisterWindowMessageW -+@ stdcall RemovePropW(long wstr) user32.RemovePropW -+@ stdcall ScreenToClient(long ptr) user32.ScreenToClient -+@ stdcall SendMessageCallbackW(long long long long ptr long) user32.SendMessageCallbackW -+@ stdcall SendMessageTimeoutW(long long long long long long ptr) user32.SendMessageTimeoutW -+@ stdcall SendMessageW(long long long long) user32.SendMessageW -+@ stdcall SendNotifyMessageW(long long long long) user32.SendNotifyMessageW -+@ stdcall SetActiveWindow(long) user32.SetActiveWindow -+@ stdcall SetCursorPos(long long) user32.SetCursorPos -+@ stdcall SetFocus(long) user32.SetFocus -+@ stdcall SetForegroundWindow(long) user32.SetForegroundWindow -+@ stdcall SetMessageExtraInfo(long) user32.SetMessageExtraInfo -+@ stdcall SetParent(long long) user32.SetParent -+@ stdcall SetPropW(long wstr long) user32.SetPropW -+@ stdcall SetTimer(long long long ptr) user32.SetTimer -+@ stdcall SetWindowLongA(long long long) user32.SetWindowLongA -+@ stdcall SetWindowLongW(long long long) user32.SetWindowLongW -+@ stdcall SetWindowPos(long long long long long long long) user32.SetWindowPos -+@ stdcall SetWindowTextW(long wstr) user32.SetWindowTextW -+@ stdcall ShowWindow(long long) user32.ShowWindow -+@ stdcall TranslateMessage(ptr) user32.TranslateMessage -+@ stdcall UnregisterClassW(wstr long) user32.UnregisterClassW -+@ stdcall WaitMessage() user32.WaitMessage -+@ stdcall WindowFromPoint(int64) user32.WindowFromPoint -diff --git a/tools/make_specfiles b/tools/make_specfiles -index 2e092f2..133f97b 100755 ---- a/tools/make_specfiles -+++ b/tools/make_specfiles -@@ -351,6 +351,7 @@ my @dll_groups = - "api-ms-win-downlevel-user32-l1-1-0", - "api-ms-win-ntuser-dc-access-l1-1-0", - "api-ms-win-rtcore-ntuser-private-l1-1-0", -+ "api-ms-win-rtcore-ntuser-window-l1-1-0", - "ext-ms-win-ntuser-message-l1-1-1", - "ext-ms-win-ntuser-mouse-l1-1-0", - "ext-ms-win-ntuser-private-l1-1-1", --- -1.9.1 - diff --git a/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch b/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch index 3d96b6b1..e78d157b 100644 --- a/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch +++ b/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch @@ -1,4 +1,4 @@ -From ad85a42b7931c5cf7b1f042e5cd306fa413d86df Mon Sep 17 00:00:00 2001 +From c329dee967eac8a5a1a0d335f04f67d8946e2da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 23 Jan 2016 21:08:48 +0100 Subject: [PATCH] api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll. @@ -13,17 +13,17 @@ Subject: [PATCH] api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll. create mode 100644 dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-draw-l1-1-0.spec diff --git a/configure.ac b/configure.ac -index 1869352..18fc8a8 100644 +index ef4e930..c8ac777 100644 --- a/configure.ac +++ b/configure.ac -@@ -2993,6 +2993,7 @@ WINE_CONFIG_MAKEFILE(dlls/api-ms-win-ntuser-rectangle-l1-1-0) +@@ -2997,6 +2997,7 @@ WINE_CONFIG_MAKEFILE(dlls/api-ms-win-ntuser-rectangle-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/api-ms-win-perf-legacy-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/api-ms-win-power-base-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/api-ms-win-power-setting-l1-1-0) +WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-private-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-window-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/api-ms-win-security-activedirectoryclient-l1-1-0) + WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-winevent-l1-1-0) diff --git a/dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/Makefile.in b/dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/Makefile.in new file mode 100644 index 0000000..956f2f3 @@ -39,17 +39,17 @@ index 0000000..59900a9 @@ -0,0 +1 @@ +@ stdcall RedrawWindow(long ptr long long) user32.RedrawWindow diff --git a/tools/make_specfiles b/tools/make_specfiles -index ab16e25..eac36ca 100755 +index 6824a36..e5e8c20 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles -@@ -350,6 +350,7 @@ my @dll_groups = +@@ -351,6 +351,7 @@ my @dll_groups = "api-ms-win-core-string-l2-1-0", "api-ms-win-downlevel-user32-l1-1-0", "api-ms-win-ntuser-dc-access-l1-1-0", + "api-ms-win-rtcore-ntuser-draw-l1-1-0", "api-ms-win-rtcore-ntuser-private-l1-1-0", "api-ms-win-rtcore-ntuser-window-l1-1-0", - "ext-ms-win-ntuser-message-l1-1-1", + "api-ms-win-rtcore-ntuser-winevent-l1-1-0", -- -1.9.1 +2.7.4 diff --git a/patches/devenum-AudioCompressorCategory/0001-devenum-Populate-AudioCompressorCategory.patch b/patches/devenum-AudioCompressorCategory/0001-devenum-Populate-AudioCompressorCategory.patch deleted file mode 100644 index 6e8d37ac..00000000 --- a/patches/devenum-AudioCompressorCategory/0001-devenum-Populate-AudioCompressorCategory.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 0e0bf5c67aa9c9a83ed759fc9050563419353f10 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Wed, 1 Mar 2017 18:06:50 +0100 -Subject: devenum: Populate AudioCompressorCategory. - ---- - dlls/devenum/Makefile.in | 2 +- - dlls/devenum/createdevenum.c | 70 ++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 71 insertions(+), 1 deletion(-) - -diff --git a/dlls/devenum/Makefile.in b/dlls/devenum/Makefile.in -index 38ca83d6888..6ab67b84904 100644 ---- a/dlls/devenum/Makefile.in -+++ b/dlls/devenum/Makefile.in -@@ -1,5 +1,5 @@ - MODULE = devenum.dll --IMPORTS = strmiids uuid ole32 oleaut32 avicap32 winmm user32 advapi32 -+IMPORTS = strmiids uuid ole32 oleaut32 avicap32 winmm user32 advapi32 msacm32 - DELAYIMPORTS = msvfw32 - - C_SRCS = \ -diff --git a/dlls/devenum/createdevenum.c b/dlls/devenum/createdevenum.c -index 17d98507684..002ffbc876c 100644 ---- a/dlls/devenum/createdevenum.c -+++ b/dlls/devenum/createdevenum.c -@@ -114,6 +114,7 @@ static BOOL IsSpecialCategory(const CLSID *clsid) - IsEqualGUID(clsid, &CLSID_AudioInputDeviceCategory) || - IsEqualGUID(clsid, &CLSID_VideoInputDeviceCategory) || - IsEqualGUID(clsid, &CLSID_VideoCompressorCategory) || -+ IsEqualGUID(clsid, &CLSID_AudioCompressorCategory) || - IsEqualGUID(clsid, &CLSID_MidiRendererCategory); - } - -@@ -638,6 +639,72 @@ static void register_vfw_codecs(void) - RegCloseKey(basekey); - } - -+static BOOL WINAPI acm_driver_callback(HACMDRIVERID hadid, DWORD_PTR user, DWORD support) -+{ -+ static const WCHAR CLSIDW[] = {'C','L','S','I','D',0}; -+ static const WCHAR AcmIdW[] = {'A','c','m','I','d',0}; -+ static const WCHAR FriendlyNameW[] = {'F','r','i','e','n','d','l','y','N','a','m','e',0}; -+ static const WCHAR fmtW[] = {'%','u','%','s',0}; -+ -+ WCHAR acmwrapper_clsid_str[CHARS_IN_GUID], buffer[MAX_PATH]; -+ HKEY key, basekey = (HKEY) user; -+ ACMFORMATTAGDETAILSW format; -+ ACMDRIVERDETAILSW driver; -+ HACMDRIVER had; -+ DWORD i, res; -+ -+ StringFromGUID2(&CLSID_ACMWrapper, acmwrapper_clsid_str, sizeof(acmwrapper_clsid_str)/sizeof(WCHAR)); -+ -+ driver.cbStruct = sizeof(driver); -+ if (acmDriverDetailsW(hadid, &driver, 0) != MMSYSERR_NOERROR) -+ return TRUE; -+ -+ if (acmDriverOpen(&had, hadid, 0) != MMSYSERR_NOERROR) -+ return TRUE; -+ -+ for (i = 0; i < driver.cFormatTags; i++) -+ { -+ memset(&format, 0, sizeof(format)); -+ format.cbStruct = sizeof(format); -+ format.dwFormatTagIndex = i; -+ -+ if (acmFormatTagDetailsW(had, &format, ACM_FORMATTAGDETAILSF_INDEX) != MMSYSERR_NOERROR) -+ continue; -+ -+ snprintfW(buffer, sizeof(buffer)/sizeof(WCHAR), fmtW, format.dwFormatTag, format.szFormatTag); -+ -+ res = RegCreateKeyW(basekey, buffer, &key); -+ if (res != ERROR_SUCCESS) continue; -+ -+ RegSetValueExW(key, CLSIDW, 0, REG_SZ, (BYTE*)acmwrapper_clsid_str, sizeof(acmwrapper_clsid_str)); -+ RegSetValueExW(key, AcmIdW, 0, REG_DWORD, (BYTE*)&format.dwFormatTag, sizeof(DWORD)); -+ RegSetValueExW(key, FriendlyNameW, 0, REG_SZ, (BYTE*)format.szFormatTag, (strlenW(format.szFormatTag)+1)*sizeof(WCHAR)); -+ /* FIXME: Set FilterData values */ -+ -+ RegCloseKey(key); -+ } -+ -+ acmDriverClose(had, 0); -+ -+ return TRUE; -+} -+ -+static void register_acm_codecs(void) -+{ -+ HKEY basekey; -+ -+ basekey = open_special_category_key(&CLSID_AudioCompressorCategory, TRUE); -+ if (!basekey) -+ { -+ ERR("Could not create key\n"); -+ return; -+ } -+ -+ acmDriverEnum(acm_driver_callback, (DWORD_PTR)basekey, 0); -+ -+ RegCloseKey(basekey); -+} -+ - static HANDLE DEVENUM_populate_handle; - static const WCHAR DEVENUM_populate_handle_nameW[] = - {'_','_','W','I','N','E','_', -@@ -690,6 +757,8 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) - RegDeleteTreeW(basekey, path); - if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_VideoCompressorCategory, &basekey, path, MAX_PATH))) - RegDeleteTreeW(basekey, path); -+ if (SUCCEEDED(DEVENUM_GetCategoryKey(&CLSID_AudioCompressorCategory, &basekey, path, MAX_PATH))) -+ RegDeleteTreeW(basekey, path); - - rf2.dwVersion = 2; - rf2.dwMerit = MERIT_PREFERRED; -@@ -971,6 +1040,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) - IFilterMapper2_Release(pMapper); - - register_vfw_codecs(); -+ register_acm_codecs(); - - SetEvent(DEVENUM_populate_handle); - return res; --- -2.11.0 - diff --git a/patches/devenum-AudioCompressorCategory/definition b/patches/devenum-AudioCompressorCategory/definition deleted file mode 100644 index ab0a93de..00000000 --- a/patches/devenum-AudioCompressorCategory/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Populate AudioCompressorCategory registry keys diff --git a/patches/ntdll-ApiSetMap/definition b/patches/ntdll-ApiSetMap/definition index 2af71338..3bf50f08 100644 --- a/patches/ntdll-ApiSetMap/definition +++ b/patches/ntdll-ApiSetMap/definition @@ -1,2 +1,2 @@ -Fixes: Add dummy apiset to PEB struct +Fixes: [44658] Add dummy apiset to PEB struct Depends: ntdll-ThreadTime diff --git a/patches/ntdll-Builtin_Prot/definition b/patches/ntdll-Builtin_Prot/definition index 5a23ee78..a87156af 100644 --- a/patches/ntdll-Builtin_Prot/definition +++ b/patches/ntdll-Builtin_Prot/definition @@ -1,3 +1,3 @@ -Fixes: Fix holes in ELF mappings +Fixes: [44650] Fix holes in ELF mappings Depends: ntdll-User_Shared_Data Depends: ntdll-x86_64_ExceptionInformation diff --git a/patches/ntdll-NtSuspendProcess/definition b/patches/ntdll-NtSuspendProcess/definition index 75a79305..62b0ba05 100644 --- a/patches/ntdll-NtSuspendProcess/definition +++ b/patches/ntdll-NtSuspendProcess/definition @@ -1,2 +1,2 @@ -Fixes: Implement NtSuspendProcess and NtResumeProcess +Fixes: [44656] Implement NtSuspendProcess and NtResumeProcess Depends: kernel32-K32GetPerformanceInfo diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 8f1d574e..a89b0b09 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "dc328fe314970d39cbe6e330d99102adf619a73c" + echo "813ab925abd45d48c811898028fddc1047b0c250" } # Show version information @@ -145,7 +145,6 @@ patch_enable_all () enable_ddraw_Rendering_Targets="$1" enable_ddraw_Silence_FIXMEs="$1" enable_ddraw_Write_Vtable="$1" - enable_devenum_AudioCompressorCategory="$1" enable_dinput_Deadlock="$1" enable_dinput_Initialize="$1" enable_dsound_EAX="$1" @@ -658,9 +657,6 @@ patch_enable () ddraw-Write_Vtable) enable_ddraw_Write_Vtable="$2" ;; - devenum-AudioCompressorCategory) - enable_devenum_AudioCompressorCategory="$2" - ;; dinput-Deadlock) enable_dinput_Deadlock="$2" ;; @@ -3001,21 +2997,20 @@ fi # | # | Modified files: # | * 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 +# | win-rtcore-ntuser-draw-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/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch @@ -3027,7 +3022,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then patch_apply api-ms-win-Stub_DLLs/0014-api-ms-win-shcore-stream-l1-1-0-Add-dll.patch patch_apply api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch patch_apply api-ms-win-Stub_DLLs/0016-ext-ms-win-uxtheme-themes-l1-1-0-Add-dll.patch - patch_apply api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch patch_apply api-ms-win-Stub_DLLs/0018-ext-ms-win-rtcore-ntuser-syscolors-l1-1-0-Add-dll.patch patch_apply api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch patch_apply api-ms-win-Stub_DLLs/0026-feclient-Add-stub-dll.patch @@ -3042,7 +3036,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then printf '%s\n' '+ { "Michael Müller", "api-ms-win-shcore-stream-l1-1-0: Add dll.", 1 },'; printf '%s\n' '+ { "Michael Müller", "ext-ms-win-ntuser-mouse-l1-1-0: Add dll.", 1 },'; printf '%s\n' '+ { "Michael Müller", "ext-ms-win-uxtheme-themes-l1-1-0: Add dll.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-window-l1-1-0: Add dll.", 1 },'; printf '%s\n' '+ { "Michael Müller", "ext-ms-win-rtcore-ntuser-syscolors-l1-1-0: Add dll.", 1 },'; printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.", 1 },'; printf '%s\n' '+ { "Michael Müller", "feclient: Add stub dll.", 1 },'; @@ -4059,18 +4052,6 @@ if test "$enable_ddraw_Write_Vtable" -eq 1; then ) >> "$patchlist" fi -# Patchset devenum-AudioCompressorCategory -# | -# | Modified files: -# | * dlls/devenum/Makefile.in, dlls/devenum/createdevenum.c -# | -if test "$enable_devenum_AudioCompressorCategory" -eq 1; then - patch_apply devenum-AudioCompressorCategory/0001-devenum-Populate-AudioCompressorCategory.patch - ( - printf '%s\n' '+ { "Michael Müller", "devenum: Populate AudioCompressorCategory.", 1 },'; - ) >> "$patchlist" -fi - # Patchset dinput-Deadlock # | # | This patchset fixes the following Wine bugs: @@ -5314,6 +5295,9 @@ fi # | This patchset has the following (direct or indirect) dependencies: # | * ntdll-ThreadTime # | +# | This patchset fixes the following Wine bugs: +# | * [#44658] Add dummy apiset to PEB struct +# | # | Modified files: # | * dlls/ntdll/thread.c, include/Makefile.in, include/apiset.h, include/winternl.h # | @@ -5402,6 +5386,9 @@ fi # | This patchset has the following (direct or indirect) dependencies: # | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-x86_64_ExceptionInformation, ntdll-User_Shared_Data # | +# | This patchset fixes the following Wine bugs: +# | * [#44650] Fix holes in ELF mappings +# | # | Modified files: # | * dlls/ntdll/virtual.c, dlls/psapi/tests/psapi_main.c # | @@ -5913,6 +5900,9 @@ fi # | This patchset has the following (direct or indirect) dependencies: # | * kernel32-K32GetPerformanceInfo # | +# | This patchset fixes the following Wine bugs: +# | * [#44656] Implement NtSuspendProcess and NtResumeProcess +# | # | Modified files: # | * dlls/ntdll/process.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/process.c, server/protocol.def, server/thread.c # | @@ -9327,6 +9317,9 @@ fi # Patchset wintrust-WinVerifyTrust # | +# | This patchset fixes the following Wine bugs: +# | * [#42518] Implement image hash verification in WinVerifyTrust +# | # | Modified files: # | * dlls/wintrust/softpub.c, dlls/wintrust/tests/softpub.c # | diff --git a/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch b/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch index d678dad0..3d6b25a9 100644 --- a/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch +++ b/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch @@ -1,12 +1,12 @@ -From 4a71bb9077de9ac772437d0f6bec571197e0b8d3 Mon Sep 17 00:00:00 2001 +From 18a3c7cf10114b82a8bc90b86a60633d49c7b3f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 25 Aug 2016 19:24:47 +0200 Subject: [PATCH] wined3d: Create dummy 1d textures and surfaces. --- dlls/wined3d/resource.c | 1 + - dlls/wined3d/texture.c | 166 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 167 insertions(+) + dlls/wined3d/texture.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 166 insertions(+) diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c index 97f7aec..f340217 100644 @@ -21,10 +21,10 @@ index 97f7aec..f340217 100644 {WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_TEX_RECT}, {WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_RB}, diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 17d35ad..ead97c8 100644 +index 37a6b06..768b7fd 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -1636,6 +1636,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s +@@ -1764,6 +1764,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s context, box, data, row_pitch, slice_pitch); } @@ -70,7 +70,7 @@ index 17d35ad..ead97c8 100644 static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx, const struct wined3d_context *context, const struct wined3d_box *box, const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch) -@@ -2034,6 +2073,129 @@ static const struct wined3d_resource_ops texture_resource_ops = +@@ -2166,6 +2205,128 @@ static const struct wined3d_resource_ops texture_resource_ops = texture_resource_sub_resource_unmap, }; @@ -173,7 +173,6 @@ index 17d35ad..ead97c8 100644 + surface->container = texture; + surface->texture_level = i; + surface->texture_layer = j; -+ list_init(&surface->renderbuffers); + + sub_resource = &texture->sub_resources[idx]; + sub_resource->locations = WINED3D_LOCATION_DISCARDED; @@ -200,7 +199,7 @@ index 17d35ad..ead97c8 100644 static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc, unsigned int layer_count, unsigned int level_count, DWORD flags, struct wined3d_device *device, void *parent, const struct wined3d_parent_ops *parent_ops) -@@ -2941,6 +3103,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct +@@ -3074,6 +3235,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct switch (desc->resource_type) { @@ -212,5 +211,5 @@ index 17d35ad..ead97c8 100644 hr = texture_init(object, desc, layer_count, level_count, flags, device, parent, parent_ops); break; -- -1.9.1 +2.7.4 diff --git a/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch b/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch index 38fbe104..927967e3 100644 --- a/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch +++ b/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch @@ -1,4 +1,4 @@ -From 54da86ca6233d826f9566b98fd9d6a6ffd7c5dfd Mon Sep 17 00:00:00 2001 +From 0dd251b4e4bfc63fab3c22acf894a20e9e6d5914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Fri, 30 Aug 2013 17:00:35 +0200 Subject: [PATCH] wined3d: Wrap GL BOs in a structure @@ -6,17 +6,17 @@ Subject: [PATCH] wined3d: Wrap GL BOs in a structure The idea is to use those structures for mapping through the command stream and caching them for DISCARD maps. --- - dlls/wined3d/device.c | 53 +++++++++++++++++++++++++++++++++++++ + dlls/wined3d/device.c | 53 ++++++++++++++++++++++++++++++++++++++++ dlls/wined3d/surface.c | 2 +- - dlls/wined3d/texture.c | 59 +++++++++++++++++++----------------------- - dlls/wined3d/wined3d_private.h | 14 +++++++++- - 4 files changed, 93 insertions(+), 35 deletions(-) + dlls/wined3d/texture.c | 55 ++++++++++++++++++++---------------------- + dlls/wined3d/wined3d_private.h | 14 ++++++++++- + 4 files changed, 93 insertions(+), 31 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index b19f49c..c70be7d 100644 +index 75494d9..4593b2b 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -5340,3 +5340,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -5332,3 +5332,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL else return CallWindowProcA(proc, window, message, wparam, lparam); } @@ -74,23 +74,23 @@ index b19f49c..c70be7d 100644 + wined3d_device_destroy_bo(device, context, bo); +} diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index 5ce06bb..1765345 100644 +index 13afdef..8cd5b82 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -2500,7 +2500,7 @@ static BOOL surface_load_texture(struct wined3d_surface *surface, +@@ -2408,7 +2408,7 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re /* 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. */ - if ((format.conv_byte_count || conversion) && texture->sub_resources[sub_resource_idx].buffer_object) + if ((format.conv_byte_count || conversion) && texture->sub_resources[sub_resource_idx].buffer) { - TRACE("Removing the pbo attached to surface %p.\n", surface); + TRACE("Removing the pbo attached to texture %p, %u.\n", texture, sub_resource_idx); diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 257dd01..6f238e9 100644 +index b79a1ec..d7add3e 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -294,7 +294,7 @@ void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int su +@@ -320,7 +320,7 @@ void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int su if (locations & WINED3D_LOCATION_BUFFER) { data->addr = NULL; @@ -99,7 +99,7 @@ index 257dd01..6f238e9 100644 return; } if (locations & WINED3D_LOCATION_USER_MEMORY) -@@ -402,18 +402,17 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc +@@ -430,18 +430,17 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc /* Context activation is done by the caller. */ static void wined3d_texture_remove_buffer_object(struct wined3d_texture *texture, @@ -125,7 +125,7 @@ index 257dd01..6f238e9 100644 } static void wined3d_texture_update_map_binding(struct wined3d_texture *texture) -@@ -433,7 +432,7 @@ static void wined3d_texture_update_map_binding(struct wined3d_texture *texture) +@@ -461,7 +460,7 @@ static void wined3d_texture_update_map_binding(struct wined3d_texture *texture) && !wined3d_texture_load_location(texture, i, context, map_binding)) ERR("Failed to load location %s.\n", wined3d_debug_location(map_binding)); if (texture->resource.map_binding == WINED3D_LOCATION_BUFFER) @@ -134,11 +134,10 @@ index 257dd01..6f238e9 100644 } if (context) -@@ -634,28 +633,25 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) - unsigned int sub_count = texture->level_count * texture->layer_count; - struct wined3d_device *device = texture->resource.device; +@@ -664,17 +663,17 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) + struct wined3d_renderbuffer_entry *entry, *entry2; + const struct wined3d_gl_info *gl_info = NULL; struct wined3d_context *context = NULL; -- const struct wined3d_gl_info *gl_info; - GLuint buffer_object; + struct wined3d_gl_bo *buffer; unsigned int i; @@ -156,19 +155,17 @@ index 257dd01..6f238e9 100644 /* We may not be able to get a context in wined3d_texture_cleanup() in * general, but if a buffer object was previously created we can. */ - if (!context) -- { - context = context_acquire(device, NULL, 0); -- gl_info = context->gl_info; -- } +@@ -684,7 +683,8 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) + gl_info = context->gl_info; + } - GL_EXTCALL(glDeleteBuffers(1, &buffer_object)); + wined3d_device_release_bo(device, buffer, context); + texture->sub_resources[i].buffer = NULL; } - if (context) - context_release(context); -@@ -1455,22 +1451,19 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT + + if (!context && !list_empty(&texture->renderbuffers)) +@@ -1583,22 +1583,19 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT /* Context activation is done by the caller. */ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *texture, @@ -196,7 +193,7 @@ index 257dd01..6f238e9 100644 } static void wined3d_texture_force_reload(struct wined3d_texture *texture) -@@ -1569,7 +1562,7 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned +@@ -1697,7 +1694,7 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned return TRUE; case WINED3D_LOCATION_BUFFER: @@ -205,7 +202,7 @@ index 257dd01..6f238e9 100644 return TRUE; case WINED3D_LOCATION_TEXTURE_RGB: -@@ -1868,7 +1861,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -1996,7 +1993,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -214,7 +211,7 @@ index 257dd01..6f238e9 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); -@@ -1913,7 +1906,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -2041,7 +2038,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -223,7 +220,7 @@ index 257dd01..6f238e9 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); -@@ -2201,8 +2194,8 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) +@@ -2339,8 +2336,8 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED); } @@ -231,10 +228,10 @@ index 257dd01..6f238e9 100644 - wined3d_texture_remove_buffer_object(texture, i, context->gl_info); + if (sub_resource->buffer) + wined3d_texture_remove_buffer_object(texture, i, context); + } - if (resource->type == WINED3D_RTYPE_TEXTURE_2D) - { -@@ -2965,7 +2958,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in + LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &texture->renderbuffers, struct wined3d_renderbuffer_entry, entry) +@@ -3095,7 +3092,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -243,7 +240,7 @@ index 257dd01..6f238e9 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); -@@ -3011,7 +3004,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in +@@ -3141,7 +3138,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -253,10 +250,10 @@ index 257dd01..6f238e9 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index ea01e15..cbad162 100644 +index 3137e7a..f47fd09 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -2895,6 +2895,14 @@ struct wined3d_dummy_textures +@@ -2894,6 +2894,14 @@ struct wined3d_dummy_textures GLuint tex_2d_ms_array; }; @@ -271,7 +268,7 @@ index ea01e15..cbad162 100644 #define WINED3D_UNMAPPED_STAGE ~0u /* Multithreaded flag. Removed from the public header to signal that -@@ -2995,6 +3003,10 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -2994,6 +3002,10 @@ 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; @@ -282,7 +279,7 @@ index ea01e15..cbad162 100644 static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state) { -@@ -3194,7 +3206,7 @@ struct wined3d_texture +@@ -3196,7 +3208,7 @@ struct wined3d_texture unsigned int map_count; DWORD locations; diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index e6100711..11f6c312 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -5,18 +5,8 @@ Based on patches by: Michael Müller Sebastian Lackner Stefan Dösinger ---- - dlls/wined3d/cs.c | 90 +++++++++++++++++++++++++++++++++++++++++ - dlls/wined3d/device.c | 74 +++++++++++++++++++++++++++++++++ - dlls/wined3d/surface.c | 4 ++ - dlls/wined3d/swapchain.c | 4 ++ - dlls/wined3d/texture.c | 92 +++++++++++++++++++++++++++++++++++++++++- - dlls/wined3d/view.c | 14 +++++++ - dlls/wined3d/wined3d_private.h | 23 +++++++++++ - 7 files changed, 300 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c -index 003cda3..3a7c95d 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -406,6 +406,9 @@ struct wined3d_cs_update_sub_resource @@ -29,7 +19,7 @@ index 003cda3..3a7c95d 100644 }; struct wined3d_cs_add_dirty_texture_region -@@ -2259,6 +2262,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r +@@ -2256,6 +2259,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r unsigned int slice_pitch) { struct wined3d_cs_update_sub_resource *op; @@ -83,7 +73,7 @@ index 003cda3..3a7c95d 100644 op = cs->ops->require_space(cs, sizeof(*op), WINED3D_CS_QUEUE_MAP); op->opcode = WINED3D_CS_OP_UPDATE_SUB_RESOURCE; -@@ -2272,8 +2322,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r +@@ -2269,8 +2319,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r wined3d_resource_acquire(resource); cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP); @@ -94,7 +84,7 @@ index 003cda3..3a7c95d 100644 cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP); } -@@ -2456,6 +2508,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void +@@ -2453,6 +2505,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void /* WINED3D_CS_OP_GENERATE_MIPMAPS */ wined3d_cs_exec_generate_mipmaps, }; @@ -108,7 +98,7 @@ index 003cda3..3a7c95d 100644 static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id) { if (size > (cs->data_size - cs->end)) -@@ -2509,6 +2568,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id +@@ -2506,6 +2565,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id static const struct wined3d_cs_ops wined3d_cs_st_ops = { @@ -118,7 +108,7 @@ index 003cda3..3a7c95d 100644 wined3d_cs_st_require_space, wined3d_cs_st_submit, wined3d_cs_st_finish, -@@ -2542,6 +2604,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id +@@ -2539,6 +2601,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id wined3d_cs_queue_submit(&cs->queue[queue_id], cs); } @@ -140,7 +130,7 @@ index 003cda3..3a7c95d 100644 static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size_t size, struct wined3d_cs *cs) { size_t queue_size = ARRAY_SIZE(queue->data); -@@ -2603,6 +2680,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size +@@ -2600,6 +2677,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size return packet->data; } @@ -157,7 +147,7 @@ index 003cda3..3a7c95d 100644 static void *wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id) { if (cs->thread_id == GetCurrentThreadId()) -@@ -2622,6 +2709,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id +@@ -2619,6 +2706,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id static const struct wined3d_cs_ops wined3d_cs_mt_ops = { @@ -168,7 +158,6 @@ index 003cda3..3a7c95d 100644 wined3d_cs_mt_submit, wined3d_cs_mt_finish, diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 3f7d8f7..e2b27e0 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1212,6 +1212,9 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device) @@ -280,10 +269,9 @@ index 3f7d8f7..e2b27e0 100644 +} +#endif /* STAGING_CSMT */ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index b2c98c5..a2f4135 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -2409,7 +2409,11 @@ BOOL surface_load_texture(struct wined3d_surface *surface, +@@ -2407,7 +2407,11 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re /* 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. */ @@ -293,10 +281,9 @@ index b2c98c5..a2f4135 100644 + if ((format.conv_byte_count || conversion) && texture->sub_resources[sub_resource_idx].buffer) +#endif /* STAGING_CSMT */ { - TRACE("Removing the pbo attached to surface %p.\n", surface); + TRACE("Removing the pbo attached to texture %p, %u.\n", texture, sub_resource_idx); diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c -index 9b3962f..3721db6 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -476,7 +476,11 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, @@ -312,7 +299,6 @@ index 9b3962f..3721db6 100644 /* call wglSwapBuffers through the gl table to avoid confusing the Steam overlay */ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 78e43db..5abb82b 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -320,7 +320,11 @@ void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int su @@ -367,7 +353,7 @@ index 78e43db..5abb82b 100644 } if (context) -@@ -664,27 +686,45 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) +@@ -664,17 +686,28 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) struct wined3d_renderbuffer_entry *entry, *entry2; const struct wined3d_gl_info *gl_info = NULL; struct wined3d_context *context = NULL; @@ -396,24 +382,20 @@ index 78e43db..5abb82b 100644 /* We may not be able to get a context in wined3d_texture_cleanup() in * general, but if a buffer object was previously created we can. */ - if (!context) -+#if !defined(STAGING_CSMT) - { - context = context_acquire(device, NULL, 0); +@@ -684,7 +717,12 @@ static void wined3d_texture_cleanup(struct wined3d_texture *texture) gl_info = context->gl_info; } ++#if !defined(STAGING_CSMT) GL_EXTCALL(glDeleteBuffers(1, &buffer_object)); +#else /* STAGING_CSMT */ -+ context = context_acquire(device, NULL, 0); -+ + wined3d_device_release_bo(device, buffer, context); + texture->sub_resources[i].buffer = NULL; +#endif /* STAGING_CSMT */ } if (!context && !list_empty(&texture->renderbuffers)) -@@ -1583,11 +1623,16 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT +@@ -1583,11 +1621,16 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT /* Context activation is done by the caller. */ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *texture, @@ -430,7 +412,7 @@ index 78e43db..5abb82b 100644 if (sub_resource->buffer_object) return; -@@ -1599,6 +1644,16 @@ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *textur +@@ -1599,6 +1642,16 @@ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *textur TRACE("Created buffer object %u for texture %p, sub-resource %u.\n", sub_resource->buffer_object, texture, sub_resource_idx); @@ -447,7 +429,7 @@ index 78e43db..5abb82b 100644 } static void wined3d_texture_force_reload(struct wined3d_texture *texture) -@@ -1697,7 +1752,11 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned +@@ -1697,7 +1750,11 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned return TRUE; case WINED3D_LOCATION_BUFFER: @@ -459,7 +441,7 @@ index 78e43db..5abb82b 100644 return TRUE; case WINED3D_LOCATION_TEXTURE_RGB: -@@ -1996,7 +2055,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -1996,7 +2053,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -471,7 +453,7 @@ index 78e43db..5abb82b 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); -@@ -2041,7 +2104,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -2041,7 +2102,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -483,7 +465,7 @@ index 78e43db..5abb82b 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); -@@ -2342,8 +2409,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) +@@ -2339,8 +2404,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED); } @@ -497,15 +479,7 @@ index 78e43db..5abb82b 100644 } LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &texture->renderbuffers, struct wined3d_renderbuffer_entry, entry) -@@ -2677,7 +2749,6 @@ static HRESULT texture1d_init(struct wined3d_texture *texture, const struct wine - surface->container = texture; - surface->texture_level = i; - surface->texture_layer = j; -- list_init(&surface->renderbuffers); - - sub_resource = &texture->sub_resources[idx]; - sub_resource->locations = WINED3D_LOCATION_DISCARDED; -@@ -3099,7 +3170,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in +@@ -3095,7 +3165,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -517,7 +491,7 @@ index 78e43db..5abb82b 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); -@@ -3145,7 +3220,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in +@@ -3141,7 +3215,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -529,7 +503,7 @@ index 78e43db..5abb82b 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); -@@ -3348,8 +3427,19 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned +@@ -3344,8 +3422,19 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned if (dst_texture->sub_resources[dst_sub_resource_idx].map_count || src_texture->sub_resources[src_sub_resource_idx].map_count) { @@ -550,7 +524,6 @@ index 78e43db..5abb82b 100644 if ((src_format_flags & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL)) diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c -index 1eebce6..bed39db 100644 --- a/dlls/wined3d/view.c +++ b/dlls/wined3d/view.c @@ -750,6 +750,10 @@ static void wined3d_shader_resource_view_cs_init(void *object) @@ -596,7 +569,6 @@ index 1eebce6..bed39db 100644 return WINED3D_OK; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 5ac535b..b4b9055 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -2898,6 +2898,16 @@ struct wined3d_dummy_textures @@ -651,6 +623,3 @@ index 5ac535b..b4b9055 100644 void *(*require_space)(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id); void (*submit)(struct wined3d_cs *cs, enum wined3d_cs_queue_id queue_id); void (*finish)(struct wined3d_cs *cs, enum wined3d_cs_queue_id queue_id); --- -1.9.1 - diff --git a/patches/wintrust-WinVerifyTrust/definition b/patches/wintrust-WinVerifyTrust/definition index ec5f552e..d9895198 100644 --- a/patches/wintrust-WinVerifyTrust/definition +++ b/patches/wintrust-WinVerifyTrust/definition @@ -1 +1 @@ -Fixes: Implement image hash verification in WinVerifyTrust +Fixes: [42518] Implement image hash verification in WinVerifyTrust