Rebase against 813ab925abd45d48c811898028fddc1047b0c250

This commit is contained in:
Zebediah Figura 2018-03-07 22:39:23 -06:00
parent 61fcdf539a
commit 04283ef5c5
13 changed files with 111 additions and 415 deletions

View File

@ -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?= <michael@fds-team.de>
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

View File

@ -1,135 +0,0 @@
From 4f6ca51c0b7da427f86b230f2cbd79ae43cfaee8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
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

View File

@ -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?= <michael@fds-team.de>
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

View File

@ -1,126 +0,0 @@
From 0e0bf5c67aa9c9a83ed759fc9050563419353f10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
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

View File

@ -1 +0,0 @@
Fixes: Populate AudioCompressorCategory registry keys

View File

@ -1,2 +1,2 @@
Fixes: Add dummy apiset to PEB struct
Fixes: [44658] Add dummy apiset to PEB struct
Depends: ntdll-ThreadTime

View File

@ -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

View File

@ -1,2 +1,2 @@
Fixes: Implement NtSuspendProcess and NtResumeProcess
Fixes: [44656] Implement NtSuspendProcess and NtResumeProcess
Depends: kernel32-K32GetPerformanceInfo

View File

@ -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
# |

View File

@ -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?= <michael@fds-team.de>
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

View File

@ -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?= <stefan@codeweavers.com>
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;

View File

@ -5,18 +5,8 @@ Based on patches by:
Michael Müller <michael@fds-team.de>
Sebastian Lackner <sebastian@fds-team.de>
Stefan Dösinger <stefan@codeweavers.com>
---
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

View File

@ -1 +1 @@
Fixes: Implement image hash verification in WinVerifyTrust
Fixes: [42518] Implement image hash verification in WinVerifyTrust