Rebase against 1ddf2b4db8c42da36bdccd43dc336eee6ba03cce.

This commit is contained in:
Sebastian Lackner 2017-03-10 03:25:38 +01:00
parent 3b1cd79e05
commit 0ef6532241
23 changed files with 541 additions and 1734 deletions

View File

@ -20,6 +20,5 @@ Fixes: Add kernelbase dll
Fixes: Add iertutil dll
Fixes: Add shcore dll
Fixes: [40451] Add feclient dll
Depends: kernel32-GetCurrentPackageFamilyName
Depends: combase-RoApi
Depends: kernel32-UmsStubs

View File

@ -1,32 +0,0 @@
From d98a585a7d809889d84a45546d7d259a9ab35356 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 27 Oct 2016 01:33:34 +0200
Subject: cabinet: Set index of folder in FDICopy callback.
---
dlls/cabinet/fdi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/cabinet/fdi.c b/dlls/cabinet/fdi.c
index fdff0bf..758133e 100644
--- a/dlls/cabinet/fdi.c
+++ b/dlls/cabinet/fdi.c
@@ -2640,6 +2640,7 @@ BOOL __cdecl FDICopy(
fdin.date = file->date;
fdin.time = file->time;
fdin.attribs = file->attribs;
+ fdin.iFolder = file->index;
if ((filehf = ((*pfnfdin)(fdintCOPY_FILE, &fdin))) == -1) {
set_error( fdi, FDIERROR_USER_ABORT, 0 );
filehf = 0;
@@ -2765,6 +2766,7 @@ BOOL __cdecl FDICopy(
fdin.date = file->date;
fdin.time = file->time;
fdin.attribs = file->attribs; /* FIXME: filter _A_EXEC? */
+ fdin.iFolder = file->index;
((*pfnfdin)(fdintCLOSE_FILE_INFO, &fdin));
filehf = 0;
--
2.9.0

View File

@ -1 +0,0 @@
Fixes: [10858] Set index of folder in FDICopy callback

View File

@ -1,4 +1,4 @@
From 29ccadcb0e716255ac5e43b8784d129f3fc2a441 Mon Sep 17 00:00:00 2001
From caafb5926a24065e96350fc255ea92c0863c2730 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Fri, 19 Dec 2014 22:31:46 +0100
Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
@ -9,7 +9,7 @@ Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
2 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 7772406..00c486c 100644
index 42f5aea966b..7c1d1787bf1 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3538,13 +3538,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
@ -58,10 +58,10 @@ index 7772406..00c486c 100644
static BOOL walk_parameter_dep(struct d3dx_parameter *param, walk_parameter_dep_func param_func,
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index 41db494..efc991e 100644
index 56d9fe627be..1b9bea6a55c 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -4275,6 +4275,65 @@ static void test_effect_isparameterused(IDirect3DDevice9 *device)
@@ -4413,6 +4413,65 @@ static void test_effect_out_of_bounds_selector(IDirect3DDevice9 *device)
effect->lpVtbl->Release(effect);
}
@ -127,14 +127,14 @@ index 41db494..efc991e 100644
START_TEST(effect)
{
HWND wnd;
@@ -4318,6 +4377,7 @@ START_TEST(effect)
test_effect_preshader(device);
@@ -4457,6 +4516,7 @@ START_TEST(effect)
test_effect_preshader_ops(device);
test_effect_isparameterused(device);
test_effect_out_of_bounds_selector(device);
+ test_effect_technique_validation(device);
count = IDirect3DDevice9_Release(device);
ok(count == 0, "The device was not properly freed: refcount %u\n", count);
--
2.8.0
2.11.0

View File

@ -1,160 +0,0 @@
From e2c6e94c6dd1312f467e5528fa2767b7da6eaca4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 15 Jan 2016 13:23:02 +0100
Subject: kernel32: Add stub for GetCurrentPackageFamilyName and add related
functions to spec file.
---
.../api-ms-win-appmodel-runtime-l1-1-1.spec | 2 +-
dlls/kernel32/kernel32.spec | 34 ++++++++++++++++++++++
dlls/kernel32/version.c | 9 ++++++
3 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
index 2c5cf9e5bda..50f8594785f 100644
--- a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
@@ -3,7 +3,7 @@
@ stub FormatApplicationUserModelId
@ stub GetApplicationUserModelId
@ stub GetCurrentApplicationUserModelId
-@ stub GetCurrentPackageFamilyName
+@ stdcall GetCurrentPackageFamilyName(ptr ptr) kernel32.GetCurrentPackageFamilyName
@ stdcall GetCurrentPackageFullName(ptr ptr) kernel32.GetCurrentPackageFullName
@ stdcall GetCurrentPackageId(ptr ptr) kernel32.GetCurrentPackageId
@ stub GetCurrentPackageInfo
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 59e39a74917..e01e8605d53 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -225,6 +225,7 @@
@ stdcall ClearCommError(long ptr ptr)
@ stdcall CloseConsoleHandle(long)
@ stdcall CloseHandle(long)
+@ stub ClosePackageInfo
# @ stub ClosePrivateNamespace
@ stdcall CloseProfileUserMapping()
@ stub CloseSystemHandle
@@ -506,6 +507,7 @@
@ stdcall FindNextVolumeW(long ptr long)
# @ stub FindNLSString
# @ stub FindNLSStringEx
+@ stub FindPackagesByPackageFamily
@ stdcall FindResourceA(long str str)
@ stdcall FindResourceExA(long str str long)
@ stdcall FindResourceExW(long wstr wstr long)
@@ -524,6 +526,7 @@
@ stdcall FlushViewOfFile(ptr long)
@ stdcall FoldStringA(long str long ptr long)
@ stdcall FoldStringW(long wstr long ptr long)
+@ stub FormatApplicationUserModelId
@ stdcall FormatMessageA(long ptr long long ptr long ptr)
@ stdcall FormatMessageW(long ptr long long ptr long ptr)
@ stdcall FreeConsole()
@@ -544,6 +547,8 @@
# @ stub GetActiveProcessorGroupCount
# @ stub GetApplicationRecoveryCallback
# @ stub GetApplicationRestartSettings
+@ stub GetApplicationUserModelId
+@ stub GetApplicationUserModelIdFromToken
@ stdcall GetAtomNameA(long ptr long)
@ stdcall GetAtomNameW(long ptr long)
@ stdcall GetBinaryType(str ptr) GetBinaryTypeA
@@ -624,12 +629,16 @@
# @ stub GetCurrencyFormatEx
@ stdcall GetCurrencyFormatW(long long str ptr str long)
@ stdcall GetCurrentActCtx(ptr)
+@ stub GetCurrentApplicationUserModelId
@ stdcall GetCurrentConsoleFont(long long ptr)
# @ stub GetCurrentConsoleFontEx
@ stdcall GetCurrentDirectoryA(long ptr)
@ stdcall GetCurrentDirectoryW(long ptr)
+@ stdcall GetCurrentPackageFamilyName(ptr ptr)
@ stdcall GetCurrentPackageId(ptr ptr)
@ stdcall GetCurrentPackageFullName(ptr ptr)
+@ stub GetCurrentPackageInfo
+@ stub GetCurrentPackagePath
@ stdcall -norelay GetCurrentProcess()
@ stdcall -norelay GetCurrentProcessId()
@ stdcall GetCurrentProcessorNumber() ntdll.NtGetCurrentProcessorNumber
@@ -760,6 +769,16 @@
@ stdcall GetOEMCP()
@ stdcall GetOverlappedResult(long ptr ptr long)
@ stdcall GetUserPreferredUILanguages(long ptr ptr ptr)
+@ stub GetPackageApplicationIds
+@ stub GetPackageFamilyName
+@ stub GetPackageFamilyNameFromToken
+@ stub GetPackageFullName
+@ stub GetPackageFullNameFromToken
+@ stub GetPackageId
+@ stub GetPackageInfo
+@ stub GetPackagePath
+@ stub GetPackagePathByFullName
+@ stub GetPackagesByPackageFamily
@ stdcall GetPhysicallyInstalledSystemMemory(ptr)
@ stdcall GetPriorityClass(long)
@ stdcall GetPrivateProfileIntA(str str long str)
@@ -806,6 +825,8 @@
@ stub -i386 GetSLCallbackTemplate
@ stdcall GetShortPathNameA(str ptr long)
@ stdcall GetShortPathNameW(wstr ptr long)
+@ stub GetStagedPackageOrigin
+@ stub GetStagedPackagePathByFullName
@ stdcall GetStartupInfoA(ptr)
@ stdcall GetStartupInfoW(ptr)
@ stdcall GetStdHandle(long)
@@ -1119,6 +1140,8 @@
@ stdcall OpenJobObjectW(long long wstr)
@ stdcall OpenMutexA(long long str)
@ stdcall OpenMutexW(long long wstr)
+@ stub OpenPackageInfoByFullName
+@ stub OpenPackageInfoByFullNameForUser
# @ stub OpenPrivateNamespaceA
# @ stub OpenPrivateNamespaceW
@ stdcall OpenProcess(long long long)
@@ -1133,6 +1156,12 @@
@ stdcall OpenWaitableTimerW(long long wstr)
@ stdcall OutputDebugStringA(str)
@ stdcall OutputDebugStringW(wstr)
+@ stub PackageFamilyNameFromFullName
+@ stub PackageFamilyNameFromId
+@ stub PackageFullNameFromId
+@ stub PackageIdFromFullName
+@ stub PackageNameAndPublisherIdFromFamilyName
+@ stub ParseApplicationUserModelId
@ stdcall PeekConsoleInputA(ptr ptr long ptr)
@ stdcall PeekConsoleInputW(ptr ptr long ptr)
@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr)
@@ -1549,7 +1578,12 @@
@ stdcall VerLanguageNameA(long str long)
@ stdcall VerLanguageNameW(long wstr long)
@ stdcall -ret64 VerSetConditionMask(long long long long) ntdll.VerSetConditionMask
+@ stub VerifyApplicationUserModelId
@ stdcall VerifyConsoleIoHandle(long)
+@ stub VerifyPackageFamilyName
+@ stub VerifyPackageFullName
+@ stub VerifyPackageId
+@ stub VerifyPackageRelativeApplicationId
# @ stub VerifyScripts
@ stdcall VerifyVersionInfoA(long long int64)
@ stdcall VerifyVersionInfoW(long long int64)
diff --git a/dlls/kernel32/version.c b/dlls/kernel32/version.c
index cf783af6195..aabc9bc2c64 100644
--- a/dlls/kernel32/version.c
+++ b/dlls/kernel32/version.c
@@ -216,3 +216,12 @@ LONG WINAPI GetCurrentPackageFullName(UINT32 *length, PWSTR name)
FIXME("(%p %p): stub\n", length, name);
return APPMODEL_ERROR_NO_PACKAGE;
}
+
+/***********************************************************************
+ * GetCurrentPackageFamilyName (KERNEL32.@)
+ */
+LONG WINAPI GetCurrentPackageFamilyName(UINT32 *length, PWSTR name)
+{
+ FIXME("(%p %p): stub\n", length, name);
+ return APPMODEL_ERROR_NO_PACKAGE;
+}
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: Add stub for kernel32.GetCurrentPackageFamilyName

View File

@ -1,17 +1,17 @@
From 21c71f172c52f18692e2601e40ae5e8d050de4a8 Mon Sep 17 00:00:00 2001
From 594e57c855592fe07e73003926c09520bc357416 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 2 Feb 2017 20:49:15 +0100
Subject: kernel32: Add stub for GetPackageFullName.
---
.../api-ms-win-appmodel-runtime-l1-1-1.spec | 2 +-
dlls/kernel32/kernel32.spec | 2 +-
dlls/kernel32/kernel32.spec | 1 +
dlls/kernel32/version.c | 9 +++++++++
dlls/kernelbase/kernelbase.spec | 2 +-
4 files changed, 12 insertions(+), 3 deletions(-)
4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
index af7774d3679..066a674f8f5 100644
index 50f8594785f..4d2edd60f5a 100644
--- a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
@@ -10,7 +10,7 @@
@ -24,23 +24,22 @@ index af7774d3679..066a674f8f5 100644
@ stub GetPackageInfo
@ stub GetPackagePath
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 31811281e61..efb2bdddf32 100644
index 2668386bf84..f2fcf109715 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -772,7 +772,7 @@
@ stub GetPackageApplicationIds
@ stub GetPackageFamilyName
@ stub GetPackageFamilyNameFromToken
-@ stub GetPackageFullName
@@ -761,6 +761,7 @@
@ stdcall GetOEMCP()
@ stdcall GetOverlappedResult(long ptr ptr long)
@ stdcall GetUserPreferredUILanguages(long ptr ptr ptr)
+@ stdcall GetPackageFullName(long ptr ptr)
@ stub GetPackageFullNameFromToken
@ stub GetPackageId
@ stub GetPackageInfo
@ stdcall GetPhysicallyInstalledSystemMemory(ptr)
@ stdcall GetPriorityClass(long)
@ stdcall GetPrivateProfileIntA(str str long str)
diff --git a/dlls/kernel32/version.c b/dlls/kernel32/version.c
index 53f594eccab..72d1152d20f 100644
index 5a233efe56f..3cca2ae68ee 100644
--- a/dlls/kernel32/version.c
+++ b/dlls/kernel32/version.c
@@ -216,3 +216,12 @@ LONG WINAPI GetCurrentPackageFamilyName(UINT32 *length, PWSTR name)
@@ -228,3 +228,12 @@ LONG WINAPI GetCurrentPackageFullName(UINT32 *length, PWSTR name)
FIXME("(%p %p): stub\n", length, name);
return APPMODEL_ERROR_NO_PACKAGE;
}
@ -54,7 +53,7 @@ index 53f594eccab..72d1152d20f 100644
+ return APPMODEL_ERROR_NO_PACKAGE;
+}
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index a4951f1baa3..bdfc067cf6d 100644
index 12f36c5ede3..daba198bec5 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -569,7 +569,7 @@

View File

@ -1,3 +1,2 @@
Fixes: Add stub for kernel32.GetPackageFullName
Depends: kernel32-GetCurrentPackageFamilyName
Depends: api-ms-win-Stub_DLLs

View File

@ -1,4 +1,4 @@
From ea7ab1f3cb71ed5b80a0c67215b3470465f82f39 Mon Sep 17 00:00:00 2001
From caf89ae3ed2f1ff8e2fb16cc1c80f101a2897722 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 4 Feb 2017 16:20:37 +0100
Subject: kernel32: Implement some processor group functions.
@ -88,10 +88,10 @@ index 756d8f94ab2..5fb806746a0 100644
+ return system_info.NumberOfProcessors;
+}
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index efb2bdddf32..8348621136f 100644
index 2668386bf84..e6081aeb04a 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -543,8 +543,8 @@
@@ -540,8 +540,8 @@
@ stdcall GenerateConsoleCtrlEvent(long long)
@ stdcall -i386 -private Get16DLLAddress(long str) krnl386.exe16.Get16DLLAddress
@ stdcall GetACP()
@ -101,8 +101,8 @@ index efb2bdddf32..8348621136f 100644
+@ stdcall GetActiveProcessorGroupCount()
# @ stub GetApplicationRecoveryCallback
# @ stub GetApplicationRestartSettings
@ stub GetApplicationUserModelId
@@ -724,8 +724,8 @@
@ stdcall GetAtomNameA(long ptr long)
@@ -716,8 +716,8 @@
# @ stub GetLongPathNameTransactedW
@ stdcall GetLongPathNameW (wstr long long)
@ stdcall GetMailslotInfo(long ptr ptr ptr ptr)
@ -114,7 +114,7 @@ index efb2bdddf32..8348621136f 100644
@ stdcall GetModuleFileNameW(long ptr long)
@ stdcall GetModuleHandleA(str)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index f66ab45b90e..b4370ca8922 100644
index 68d6b648252..5e5346af749 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -91,6 +91,7 @@ static SIZE_T (WINAPI *pGetLargePageMinimum)(void);
@ -169,10 +169,10 @@ index f66ab45b90e..b4370ca8922 100644
test_ProcThreadAttributeList();
diff --git a/include/winnt.h b/include/winnt.h
index 9e611c555a4..5cdd8a3a22f 100644
index 5bd1b1b4a83..2fc4a190e48 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -5873,6 +5873,8 @@ typedef struct _GROUP_AFFINITY
@@ -5855,6 +5855,8 @@ typedef struct _GROUP_AFFINITY
WORD Reserved[3];
} GROUP_AFFINITY, *PGROUP_AFFINITY;

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "9eecacbeb1561218d4870c83f89a233cabbf7e0c"
echo "1ddf2b4db8c42da36bdccd43dc336eee6ba03cce"
}
# Show version information
@ -97,7 +97,6 @@ patch_enable_all ()
enable_avifile_dll16_AVIStreamGetFrame="$1"
enable_bcrypt_Improvements="$1"
enable_browseui_Progress_Dialog="$1"
enable_cabinet_iFolder="$1"
enable_combase_RoApi="$1"
enable_comctl32_Button_Theming="$1"
enable_comctl32_Listview_DrawItem="$1"
@ -178,7 +177,6 @@ patch_enable_all ()
enable_kernel32_Cwd_Startup_Info="$1"
enable_kernel32_Debugger="$1"
enable_kernel32_FindFirstFile="$1"
enable_kernel32_GetCurrentPackageFamilyName="$1"
enable_kernel32_GetPackageFullName="$1"
enable_kernel32_GetShortPathName="$1"
enable_kernel32_K32GetPerformanceInfo="$1"
@ -295,7 +293,6 @@ patch_enable_all ()
enable_qcap_O_CLOEXEC="$1"
enable_quartz_MediaSeeking_Positions="$1"
enable_quartz_Silence_FIXMEs="$1"
enable_rasapi32_RasEnumDevicesA="$1"
enable_riched20_Class_Tests="$1"
enable_riched20_IText_Interface="$1"
enable_secur32_Zero_Buffer_Length="$1"
@ -511,9 +508,6 @@ patch_enable ()
browseui-Progress_Dialog)
enable_browseui_Progress_Dialog="$2"
;;
cabinet-iFolder)
enable_cabinet_iFolder="$2"
;;
combase-RoApi)
enable_combase_RoApi="$2"
;;
@ -754,9 +748,6 @@ patch_enable ()
kernel32-FindFirstFile)
enable_kernel32_FindFirstFile="$2"
;;
kernel32-GetCurrentPackageFamilyName)
enable_kernel32_GetCurrentPackageFamilyName="$2"
;;
kernel32-GetPackageFullName)
enable_kernel32_GetPackageFullName="$2"
;;
@ -1105,9 +1096,6 @@ patch_enable ()
quartz-Silence_FIXMEs)
enable_quartz_Silence_FIXMEs="$2"
;;
rasapi32-RasEnumDevicesA)
enable_rasapi32_RasEnumDevicesA="$2"
;;
riched20-Class_Tests)
enable_riched20_Class_Tests="$2"
;;
@ -2335,11 +2323,7 @@ if test "$enable_kernel32_GetPackageFullName" -eq 1; then
if test "$enable_api_ms_win_Stub_DLLs" -gt 1; then
abort "Patchset api-ms-win-Stub_DLLs disabled, but kernel32-GetPackageFullName depends on that."
fi
if test "$enable_kernel32_GetCurrentPackageFamilyName" -gt 1; then
abort "Patchset kernel32-GetCurrentPackageFamilyName disabled, but kernel32-GetPackageFullName depends on that."
fi
enable_api_ms_win_Stub_DLLs=1
enable_kernel32_GetCurrentPackageFamilyName=1
fi
if test "$enable_kernel32_CopyFileEx" -eq 1; then
@ -2428,14 +2412,10 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
if test "$enable_combase_RoApi" -gt 1; then
abort "Patchset combase-RoApi disabled, but api-ms-win-Stub_DLLs depends on that."
fi
if test "$enable_kernel32_GetCurrentPackageFamilyName" -gt 1; then
abort "Patchset kernel32-GetCurrentPackageFamilyName disabled, but api-ms-win-Stub_DLLs depends on that."
fi
if test "$enable_kernel32_UmsStubs" -gt 1; then
abort "Patchset kernel32-UmsStubs disabled, but api-ms-win-Stub_DLLs depends on that."
fi
enable_combase_RoApi=1
enable_kernel32_GetCurrentPackageFamilyName=1
enable_kernel32_UmsStubs=1
fi
@ -2721,19 +2701,6 @@ if test "$enable_combase_RoApi" -eq 1; then
) >> "$patchlist"
fi
# Patchset kernel32-GetCurrentPackageFamilyName
# |
# | Modified files:
# | * dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec, dlls/kernel32/kernel32.spec,
# | dlls/kernel32/version.c
# |
if test "$enable_kernel32_GetCurrentPackageFamilyName" -eq 1; then
patch_apply kernel32-GetCurrentPackageFamilyName/0001-kernel32-Add-stub-for-GetCurrentPackageFamilyName-an.patch
(
printf '%s\n' '+ { "Michael Müller", "kernel32: Add stub for GetCurrentPackageFamilyName and add related functions to spec file.", 1 },';
) >> "$patchlist"
fi
# Patchset kernel32-UmsStubs
# |
# | Modified files:
@ -2752,7 +2719,7 @@ fi
# Patchset api-ms-win-Stub_DLLs
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * combase-RoApi, kernel32-GetCurrentPackageFamilyName, kernel32-UmsStubs
# | * combase-RoApi, kernel32-UmsStubs
# |
# | This patchset fixes the following Wine bugs:
# | * [#40451] Add feclient dll
@ -2956,21 +2923,6 @@ if test "$enable_browseui_Progress_Dialog" -eq 1; then
) >> "$patchlist"
fi
# Patchset cabinet-iFolder
# |
# | This patchset fixes the following Wine bugs:
# | * [#10858] Set index of folder in FDICopy callback
# |
# | Modified files:
# | * dlls/cabinet/fdi.c
# |
if test "$enable_cabinet_iFolder" -eq 1; then
patch_apply cabinet-iFolder/0001-cabinet-Set-index-of-folder-in-FDICopy-callback.patch
(
printf '%s\n' '+ { "Michael Müller", "cabinet: Set index of folder in FDICopy callback.", 1 },';
) >> "$patchlist"
fi
# Patchset comctl32-Button_Theming
# |
# | This patchset fixes the following Wine bugs:
@ -4476,7 +4428,7 @@ fi
# Patchset kernel32-GetPackageFullName
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * combase-RoApi, kernel32-GetCurrentPackageFamilyName, kernel32-UmsStubs, api-ms-win-Stub_DLLs
# | * combase-RoApi, kernel32-UmsStubs, api-ms-win-Stub_DLLs
# |
# | Modified files:
# | * dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec, dlls/kernel32/kernel32.spec,
@ -4719,7 +4671,7 @@ fi
# Patchset kernel32-Processor_Group
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * combase-RoApi, kernel32-GetCurrentPackageFamilyName, kernel32-UmsStubs, api-ms-win-Stub_DLLs
# | * combase-RoApi, kernel32-UmsStubs, api-ms-win-Stub_DLLs
# |
# | Modified files:
# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/api-ms-win-core-
@ -6461,21 +6413,6 @@ if test "$enable_quartz_Silence_FIXMEs" -eq 1; then
) >> "$patchlist"
fi
# Patchset rasapi32-RasEnumDevicesA
# |
# | This patchset fixes the following Wine bugs:
# | * [#30378] Initialize *lpcDevices in RasEnumDevicesA
# |
# | Modified files:
# | * dlls/rasapi32/rasapi.c, dlls/rasapi32/tests/rasapi.c
# |
if test "$enable_rasapi32_RasEnumDevicesA" -eq 1; then
patch_apply rasapi32-RasEnumDevicesA/0001-rasapi32-Set-lpcDevices-in-RasEnumDevicesA.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "rasapi32: Set *lpcDevices in RasEnumDevicesA.", 1 },';
) >> "$patchlist"
fi
# Patchset riched20-Class_Tests
# |
# | Modified files:
@ -8537,7 +8474,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Create initial DCs through the CS.", 1 },';
printf '%s\n' '+ { "Nils Kuhnhenn", "wined3d: Fix context_acquire not being called from the command thread in wined3d_texture_add_dirty_region.", 1 },';
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wrap GL BOs in a structure.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Send buffer copy requests through CS.", 1 },';
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Avoid destroying views in color and depth fills.", 1 },';
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Add a separate variable to check if queries are started.", 1 },';
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wait for the cs to finish before destroying the device.", 1 },';

View File

@ -1,123 +0,0 @@
From 8377389407d8ab624c79cbb072e7c6e5c1b4a8d5 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 28 Jun 2015 03:58:23 +0200
Subject: rasapi32: Set *lpcDevices in RasEnumDevicesA.
Based on a patch by Qian Hong.
---
dlls/rasapi32/rasapi.c | 2 ++
dlls/rasapi32/tests/rasapi.c | 21 +++++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index 235ab65..c2a4b55 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -254,6 +254,8 @@ DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD l
if(lpRasDevinfo && lpRasDevinfo->dwSize != sizeof(RASDEVINFOA))
return ERROR_INVALID_SIZE;
+ *lpcDevices = 1;
+
if (!lpRasDevinfo || (*lpcb < sizeof(RASDEVINFOA))) {
*lpcb = sizeof(RASDEVINFOA);
return ERROR_BUFFER_TOO_SMALL;
diff --git a/dlls/rasapi32/tests/rasapi.c b/dlls/rasapi32/tests/rasapi.c
index e0ff25f..5171bb2 100644
--- a/dlls/rasapi32/tests/rasapi.c
+++ b/dlls/rasapi32/tests/rasapi.c
@@ -77,54 +77,71 @@ static void test_rasenum(void)
/* test first parameter */
cb = bufsize;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(NULL, &cb, &cDevices);
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
ok(result == ERROR_BUFFER_TOO_SMALL ||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
"Expected ERROR_BUFFER_TOO_SMALL, got %08d\n", result);
rasDevInfo[0].dwSize = 0;
cb = bufsize;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_SIZE ||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA) -1;
cb = bufsize;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_SIZE ||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA) +1;
cb = bufsize;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_SIZE ||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
/* test second parameter */
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, NULL, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
cb = 0;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ todo_wine
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_BUFFER_TOO_SMALL ||
result == ERROR_INVALID_SIZE, /* vista, 2k8 */
"Expected ERROR_BUFFER_TOO_SMALL/ERROR_INVALID_SIZE, got %08d\n", result);
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
cb = bufsize -1;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
ok(result == ERROR_BUFFER_TOO_SMALL,
"Expected ERROR_BUFFER_TOO_SMALL, got %08d\n", result);
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
cb = bufsize +1;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
ok(result == ERROR_SUCCESS,
"Expected ERROR_SUCCESS, got %08d\n", result);
@@ -136,7 +153,9 @@ static void test_rasenum(void)
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
/* test combinations of invalid parameters */
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(NULL, NULL, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
@@ -147,7 +166,9 @@ static void test_rasenum(void)
cb = 0;
rasDevInfo[0].dwSize = 0;
+ cDevices = 0xdeadbeef;
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
ok(result == ERROR_INVALID_SIZE ||
broken(result == ERROR_BUFFER_TOO_SMALL), /* win98 */
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
--
2.4.3

View File

@ -1 +0,0 @@
Fixes: [30378] Initialize *lpcDevices in RasEnumDevicesA

View File

@ -1,4 +1,4 @@
From 6a1701127f6f8f1c885cb787249496179a69b06b Mon Sep 17 00:00:00 2001
From 16e895f9770039a4d9129d577698c8dcec90334e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 23 Aug 2016 22:54:14 +0200
Subject: wined3d: Create dummy 1d textures.
@ -10,10 +10,10 @@ Subject: wined3d: Create dummy 1d textures.
3 files changed, 40 insertions(+)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index cd0057e1591..a4820d337c0 100644
index a423fac2079..65853209864 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1531,6 +1531,7 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
@@ -1514,6 +1514,7 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
GL_EXTCALL(glActiveTexture(GL_TEXTURE0 + i));
checkGLcall("glActiveTexture");
@ -21,8 +21,8 @@ index cd0057e1591..a4820d337c0 100644
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D, device->dummy_textures.tex_2d);
if (gl_info->supported[ARB_TEXTURE_RECTANGLE])
@@ -1543,7 +1544,10 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_CUBE_MAP, device->dummy_textures.tex_cube);
@@ -1529,7 +1530,10 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_CUBE_MAP_ARRAY, device->dummy_textures.tex_cube_array);
if (gl_info->supported[EXT_TEXTURE_ARRAY])
+ {
@ -32,7 +32,7 @@ index cd0057e1591..a4820d337c0 100644
if (gl_info->supported[ARB_TEXTURE_BUFFER_OBJECT])
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_BUFFER, device->dummy_textures.tex_buffer);
@@ -2426,6 +2430,14 @@ void context_bind_texture(struct wined3d_context *context, GLenum target, GLuint
@@ -2411,6 +2415,14 @@ void context_bind_texture(struct wined3d_context *context, GLenum target, GLuint
case GL_NONE:
/* nothing to do */
break;
@ -48,10 +48,10 @@ index cd0057e1591..a4820d337c0 100644
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D, device->dummy_textures.tex_2d);
checkGLcall("glBindTexture");
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 7898527f6c0..b5a42905d33 100644
index eef9818affd..5b598e2f3a4 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -624,6 +624,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
@@ -628,6 +628,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
* to each texture stage when the currently set D3D texture is NULL. */
context_active_texture(context, gl_info, 0);
@ -69,7 +69,7 @@ index 7898527f6c0..b5a42905d33 100644
gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_2d);
checkGLcall("glGenTextures");
TRACE("Dummy 2D texture given name %u.\n", device->dummy_textures.tex_2d);
@@ -682,6 +693,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
@@ -704,6 +715,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
if (gl_info->supported[EXT_TEXTURE_ARRAY])
{
@ -87,7 +87,7 @@ index 7898527f6c0..b5a42905d33 100644
gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_2d_array);
checkGLcall("glGenTextures");
TRACE("Dummy 2D array texture given name %u.\n", device->dummy_textures.tex_2d_array);
@@ -729,7 +751,10 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
@@ -751,7 +773,10 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_buffer);
if (gl_info->supported[EXT_TEXTURE_ARRAY])
@ -96,9 +96,9 @@ index 7898527f6c0..b5a42905d33 100644
+ gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_1d_array);
+ }
if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_cube);
@@ -741,6 +766,7 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
if (gl_info->supported[ARB_TEXTURE_CUBE_MAP_ARRAY])
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_cube_array);
@@ -766,6 +791,7 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_rect);
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_2d);
@ -107,10 +107,10 @@ index 7898527f6c0..b5a42905d33 100644
checkGLcall("Delete dummy textures");
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 051836c7414..a71ea9e73ef 100644
index cdc240058a2..34d8f18d698 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2582,10 +2582,12 @@ struct wined3d_device
@@ -2666,11 +2666,13 @@ struct wined3d_device
/* Textures for when no other textures are mapped */
struct
{
@ -119,6 +119,7 @@ index 051836c7414..a71ea9e73ef 100644
GLuint tex_rect;
GLuint tex_3d;
GLuint tex_cube;
GLuint tex_cube_array;
+ GLuint tex_1d_array;
GLuint tex_2d_array;
GLuint tex_buffer;

View File

@ -1,4 +1,4 @@
From ec1172f3bd0ba8c66347ed17edf086c850665f24 Mon Sep 17 00:00:00 2001
From 9e6e4d61e56980850bbbc340d510e9a57f9d5627 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 6 Feb 2017 05:50:11 +0100
Subject: wined3d: Send push_constants through the CS.
@ -10,18 +10,18 @@ Subject: wined3d: Send push_constants through the CS.
3 files changed, 77 insertions(+), 58 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index 543528ae570..72c0ace384c 100644
index 8c0abf449f2..0d74ea806a9 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -66,6 +66,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_MAP,
@@ -67,6 +67,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_UNMAP,
WINED3D_CS_OP_BLT_SUB_RESOURCE,
WINED3D_CS_OP_UPDATE_SUB_RESOURCE,
+ WINED3D_CS_OP_PUSH_CONSTANTS,
};
struct wined3d_cs_sync
@@ -366,6 +367,15 @@ struct wined3d_cs_update_sub_resource
@@ -381,6 +382,15 @@ struct wined3d_cs_update_sub_resource
struct wined3d_sub_resource_data data;
};
@ -37,7 +37,7 @@ index 543528ae570..72c0ace384c 100644
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -1773,6 +1783,64 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
@@ -1856,6 +1866,64 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
cs->ops->submit_and_wait(cs);
}
@ -102,15 +102,15 @@ index 543528ae570..72c0ace384c 100644
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -1815,6 +1883,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_MAP */ wined3d_cs_exec_map,
@@ -1899,6 +1967,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_UNMAP */ wined3d_cs_exec_unmap,
/* WINED3D_CS_OP_BLT_SUB_RESOURCE */ wined3d_cs_exec_blt_sub_resource,
/* WINED3D_CS_OP_UPDATE_SUB_RESOURCE */ wined3d_cs_exec_update_sub_resource,
+ /* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
};
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
@@ -1861,55 +1930,11 @@ static void wined3d_cs_st_submit(struct wined3d_cs *cs)
@@ -1945,55 +2014,11 @@ static void wined3d_cs_st_submit(struct wined3d_cs *cs)
HeapFree(GetProcessHeap(), 0, data);
}
@ -167,10 +167,10 @@ index 543528ae570..72c0ace384c 100644
struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ea27553e8c8..a06cae6412e 100644
index e328f32403f..c3a10a2d13a 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -2337,7 +2337,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_b(struct wined3d_device *device,
@@ -2376,7 +2376,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_b(struct wined3d_device *device,
}
else
{
@ -179,7 +179,7 @@ index ea27553e8c8..a06cae6412e 100644
}
return WINED3D_OK;
@@ -2386,7 +2386,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_i(struct wined3d_device *device,
@@ -2425,7 +2425,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_i(struct wined3d_device *device,
}
else
{
@ -188,7 +188,7 @@ index ea27553e8c8..a06cae6412e 100644
}
return WINED3D_OK;
@@ -2431,7 +2431,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_f(struct wined3d_device *device,
@@ -2470,7 +2470,7 @@ HRESULT CDECL wined3d_device_set_vs_consts_f(struct wined3d_device *device,
memset(&device->recording->changed.vs_consts_f[start_idx], 1,
count * sizeof(*device->recording->changed.vs_consts_f));
else
@ -197,7 +197,7 @@ index ea27553e8c8..a06cae6412e 100644
return WINED3D_OK;
}
@@ -2570,7 +2570,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_b(struct wined3d_device *device,
@@ -2591,7 +2591,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_b(struct wined3d_device *device,
}
else
{
@ -206,7 +206,7 @@ index ea27553e8c8..a06cae6412e 100644
}
return WINED3D_OK;
@@ -2619,7 +2619,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_i(struct wined3d_device *device,
@@ -2640,7 +2640,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_i(struct wined3d_device *device,
}
else
{
@ -215,7 +215,7 @@ index ea27553e8c8..a06cae6412e 100644
}
return WINED3D_OK;
@@ -2665,7 +2665,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_f(struct wined3d_device *device,
@@ -2686,7 +2686,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_f(struct wined3d_device *device,
memset(&device->recording->changed.ps_consts_f[start_idx], 1,
count * sizeof(*device->recording->changed.ps_consts_f));
else
@ -225,10 +225,10 @@ index ea27553e8c8..a06cae6412e 100644
return WINED3D_OK;
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index d2e0052067f..2a8f075667a 100644
index 2922caaa412..9c68628ed6c 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3199,8 +3199,6 @@ struct wined3d_cs_ops
@@ -3200,8 +3200,6 @@ struct wined3d_cs_ops
void *(*require_space)(struct wined3d_cs *cs, size_t size);
void (*submit)(struct wined3d_cs *cs);
void (*submit_and_wait)(struct wined3d_cs *cs);
@ -237,7 +237,7 @@ index d2e0052067f..2a8f075667a 100644
};
struct wined3d_cs
@@ -3229,6 +3227,8 @@ void wined3d_cs_emit_glfinish(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
@@ -3234,6 +3232,8 @@ void wined3d_cs_emit_glfinish(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *swapchain,
const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, DWORD flags) DECLSPEC_HIDDEN;
@ -246,7 +246,7 @@ index d2e0052067f..2a8f075667a 100644
void wined3d_cs_emit_query_issue(struct wined3d_cs *cs, struct wined3d_query *query, DWORD flags) DECLSPEC_HIDDEN;
void wined3d_cs_emit_reset_state(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx,
@@ -3289,12 +3289,6 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource,
@@ -3294,12 +3294,6 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource,
HRESULT wined3d_cs_unmap(struct wined3d_cs *cs, struct wined3d_resource *resource,
unsigned int sub_resource_idx) DECLSPEC_HIDDEN;

View File

@ -1,4 +1,4 @@
From 5ee5e16ac78dcad58eaa40fe41ee7c771b8721cf Mon Sep 17 00:00:00 2001
From 706645d08ae7ebd9175f91532077694b988aef7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Mon, 29 Apr 2013 18:49:53 +0200
Subject: wined3d: Send blits through the command stream.
@ -6,335 +6,45 @@ Subject: wined3d: Send blits through the command stream.
This needs more work. This patch breaks error handling, and the split
between surface_blt and surface_blt_ugly isn't particularly nice.
---
dlls/wined3d/cs.c | 52 +++++++++++++++
dlls/wined3d/surface.c | 140 ++++++++++++++++++++++++-----------------
dlls/wined3d/texture.c | 9 ++-
dlls/wined3d/wined3d_private.h | 7 +++
4 files changed, 148 insertions(+), 60 deletions(-)
dlls/wined3d/device.c | 18 +++++++++---------
dlls/wined3d/texture.c | 9 +++++++--
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index 1366973c1e6..f2eb87e35b8 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -67,6 +67,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_UNMAP,
WINED3D_CS_OP_UPDATE_SUB_RESOURCE,
WINED3D_CS_OP_PUSH_CONSTANTS,
+ WINED3D_CS_OP_BLT,
};
struct wined3d_cs_sync
@@ -376,6 +377,18 @@ struct wined3d_cs_push_constants
BYTE constants[1];
};
+struct wined3d_cs_blt
+{
+ enum wined3d_cs_op opcode;
+ struct wined3d_surface *dst_surface;
+ RECT dst_rect;
+ struct wined3d_surface *src_surface;
+ RECT src_rect;
+ DWORD flags;
+ struct wined3d_blt_fx fx;
+ enum wined3d_texture_filter_type filter;
+};
+
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -1857,6 +1870,44 @@ void wined3d_cs_emit_push_constants(struct wined3d_cs *cs, enum wined3d_push_con
cs->ops->submit(cs);
}
+static void wined3d_cs_exec_blt(struct wined3d_cs *cs, const void *data)
+{
+ const struct wined3d_cs_blt *op = data;
+
+ surface_blt_ugly(op->dst_surface, &op->dst_rect,
+ op->src_surface, &op->src_rect,
+ op->flags, &op->fx, op->filter);
+
+ wined3d_resource_release(&op->dst_surface->container->resource);
+ if (op->src_surface && op->src_surface != op->dst_surface)
+ wined3d_resource_release(&op->src_surface->container->resource);
+}
+
+void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surface,
+ const RECT *dst_rect, struct wined3d_surface *src_surface,
+ const RECT *src_rect, DWORD flags, const struct wined3d_blt_fx *fx,
+ enum wined3d_texture_filter_type filter)
+{
+ struct wined3d_cs_blt *op;
+
+ op = cs->ops->require_space(cs, sizeof(*op));
+ op->opcode = WINED3D_CS_OP_BLT;
+ op->dst_surface = dst_surface;
+ op->dst_rect = *dst_rect;
+ op->src_surface = src_surface;
+ op->src_rect = *src_rect;
+ op->flags = flags;
+ op->filter = filter;
+ if (fx)
+ op->fx = *fx;
+
+ wined3d_resource_acquire(&dst_surface->container->resource);
+ if (src_surface && src_surface != dst_surface)
+ wined3d_resource_acquire(&src_surface->container->resource);
+
+ cs->ops->submit(cs);
+}
+
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -1900,6 +1951,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_UNMAP */ wined3d_cs_exec_unmap,
/* WINED3D_CS_OP_UPDATE_SUB_RESOURCE */ wined3d_cs_exec_update_sub_resource,
/* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
+ /* WINED3D_CS_OP_BLT */ wined3d_cs_exec_blt,
};
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index cd82d46a001..637d300b2f5 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3738,7 +3738,7 @@ const struct blit_shader cpu_blit = {
cpu_blit_blit_surface,
};
-HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst_rect,
+void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect,
struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
{
@@ -3748,8 +3748,8 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
struct wined3d_texture *dst_texture = dst_surface->container;
struct wined3d_device *device = dst_texture->resource.device;
struct wined3d_swapchain *src_swapchain, *dst_swapchain;
- struct wined3d_texture *src_texture = NULL;
- unsigned int src_sub_resource_idx = 0;
+ struct wined3d_texture *src_texture;
+ unsigned int src_sub_resource_idx;
DWORD src_ds_flags, dst_ds_flags;
BOOL scale, convert;
@@ -3762,52 +3762,17 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
| WINED3D_BLT_DO_NOT_WAIT
| WINED3D_BLT_ALPHA_TEST;
- TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
- dst_surface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect),
- flags, fx, debug_d3dtexturefiltertype(filter));
- TRACE("Usage is %s.\n", debug_d3dusage(dst_texture->resource.usage));
-
- if (fx)
- {
- TRACE("fx %#x.\n", fx->fx);
- TRACE("fill_color 0x%08x.\n", fx->fill_color);
- TRACE("dst_color_key {0x%08x, 0x%08x}.\n",
- fx->dst_color_key.color_space_low_value,
- fx->dst_color_key.color_space_high_value);
- TRACE("src_color_key {0x%08x, 0x%08x}.\n",
- fx->src_color_key.color_space_low_value,
- fx->src_color_key.color_space_high_value);
- }
-
if (src_surface)
{
src_texture = src_surface->container;
src_sub_resource_idx = surface_get_sub_resource_idx(src_surface);
+ src_swapchain = src_texture->swapchain;
}
-
- if (!fx || !(fx->fx))
- flags &= ~WINED3D_BLT_FX;
-
- if (flags & WINED3D_BLT_WAIT)
- flags &= ~WINED3D_BLT_WAIT;
-
- if (flags & WINED3D_BLT_ASYNC)
- {
- static unsigned int once;
-
- if (!once++)
- FIXME("Can't handle WINED3D_BLT_ASYNC flag.\n");
- flags &= ~WINED3D_BLT_ASYNC;
- }
-
- /* WINED3D_BLT_DO_NOT_WAIT appeared in DX7. */
- if (flags & WINED3D_BLT_DO_NOT_WAIT)
+ else
{
- static unsigned int once;
-
- if (!once++)
- FIXME("Can't handle WINED3D_BLT_DO_NOT_WAIT flag.\n");
- flags &= ~WINED3D_BLT_DO_NOT_WAIT;
+ src_texture = NULL;
+ src_sub_resource_idx = 0;
+ src_swapchain = NULL;
}
if (!device->d3d_initialized)
@@ -3832,11 +3797,6 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
goto fallback;
}
- if (src_texture)
- src_swapchain = src_texture->swapchain;
- else
- src_swapchain = NULL;
-
dst_swapchain = dst_texture->swapchain;
/* This isn't strictly needed. FBO blits for example could deal with
@@ -3872,15 +3832,15 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
TRACE("Depth fill.\n");
if (!wined3d_format_convert_color_to_float(dst_texture->resource.format, NULL, fx->fill_color, &color))
- return WINED3DERR_INVALIDCALL;
+ return;
if (SUCCEEDED(wined3d_surface_depth_fill(dst_surface, dst_rect, color.r)))
- return WINED3D_OK;
+ return;
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c3a10a2d13a..31453ed0ff8 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4154,16 +4154,16 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
return WINED3DERR_INVALIDCALL;
}
else if (SUCCEEDED(wined3d_surface_depth_blt(src_surface, src_texture->resource.draw_binding,
src_rect, dst_surface, dst_texture->resource.draw_binding, dst_rect)))
- if (dst_texture->sub_resources[dst_sub_resource_idx].map_count)
+ if (dst_texture->sub_resources[dst_sub_resource_idx].map_count ||
+ src_texture->sub_resources[src_sub_resource_idx].map_count)
{
- return WINED3D_OK;
+ return;
- WARN("Destination sub-resource %u is mapped.\n", dst_sub_resource_idx);
- return WINED3DERR_INVALIDCALL;
- }
-
- if (src_texture->sub_resources[src_sub_resource_idx].map_count)
- {
- WARN("Source sub-resource %u is mapped.\n", src_sub_resource_idx);
- return WINED3DERR_INVALIDCALL;
+ wined3d_cs_emit_sync(dst_texture->resource.device->cs);
+ if (dst_texture->sub_resources[dst_sub_resource_idx].map_count ||
+ src_texture->sub_resources[src_sub_resource_idx].map_count)
+ {
+ WARN("Destination or source sub-resource is mapped.\n");
+ return WINEDDERR_SURFACEBUSY;
+ }
}
}
else
@@ -3916,7 +3876,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
goto fallback;
if (SUCCEEDED(surface_color_fill(dst_surface, dst_rect, &color)))
- return WINED3D_OK;
+ return;
}
else
{
@@ -3960,7 +3920,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
context, dst_texture->resource.draw_binding);
context_release(context);
}
- return WINED3D_OK;
+ return;
}
}
}
@@ -3984,7 +3944,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
wined3d_swapchain_present(dst_swapchain, NULL, NULL, dst_swapchain->win_handle, 0);
dst_swapchain->desc.swap_effect = swap_effect;
- return WINED3D_OK;
+ return;
}
if (fbo_blit_supported(&device->adapter->gl_info, blit_op,
@@ -4005,7 +3965,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
wined3d_texture_invalidate_location(dst_texture, dst_sub_resource_idx,
~dst_texture->resource.draw_binding);
- return WINED3D_OK;
+ return;
}
blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info, blit_op,
@@ -4015,7 +3975,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
{
blitter->blit_surface(device, blit_op, filter, src_surface,
src_rect, dst_surface, dst_rect, color_key);
- return WINED3D_OK;
+ return;
}
}
}
@@ -4023,9 +3983,73 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
fallback:
/* Special cases for render targets. */
if (SUCCEEDED(surface_blt_special(dst_surface, dst_rect, src_surface, src_rect, flags, fx, filter)))
- return WINED3D_OK;
+ return;
cpu:
- return surface_cpu_blt(dst_texture, dst_sub_resource_idx, &dst_box,
+ surface_cpu_blt(dst_texture, dst_sub_resource_idx, &dst_box,
src_texture, src_sub_resource_idx, &src_box, flags, fx, filter);
}
+
+HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst_rect,
+ struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
+ const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
+{
+ struct wined3d_texture *dst_texture = dst_surface->container;
+ struct wined3d_device *device = dst_texture->resource.device;
+
+ TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
+ dst_surface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect),
+ flags, fx, debug_d3dtexturefiltertype(filter));
+ TRACE("Usage is %s.\n", debug_d3dusage(dst_texture->resource.usage));
+
+ if (fx)
+ {
+ TRACE("fx %#x.\n", fx->fx);
+ TRACE("fill_color 0x%08x.\n", fx->fill_color);
+ TRACE("dst_color_key {0x%08x, 0x%08x}.\n",
+ fx->dst_color_key.color_space_low_value,
+ fx->dst_color_key.color_space_high_value);
+ TRACE("src_color_key {0x%08x, 0x%08x}.\n",
+ fx->src_color_key.color_space_low_value,
+ fx->src_color_key.color_space_high_value);
+ }
+
+ /* FIXME: We should select the blitter in the main thread, that way we can return an error if the blit
+ * is unsupported without duplicating all the checks... */
+ if (flags & WINED3D_BLT_COLOR_FILL && (dst_surface->container->resource.format_flags & WINED3DFMT_FLAG_BLOCKS))
+ {
+ WARN("Block color fill, returning WINED3DERR_INVALIDCALL\n");
+ return WINED3DERR_INVALIDCALL;
+ }
+
+ if (!fx || !(fx->fx))
+ flags &= ~WINED3D_BLT_FX;
+
+ if (flags & WINED3D_BLT_WAIT)
+ flags &= ~WINED3D_BLT_WAIT;
+
+ if (flags & WINED3D_BLT_ASYNC)
+ {
+ static unsigned int once;
+
+ if (!once++)
+ FIXME("Can't handle WINED3D_BLT_ASYNC flag.\n");
+ flags &= ~WINED3D_BLT_ASYNC;
+ }
+
+ /* WINED3D_BLT_DO_NOT_WAIT appeared in DX7. */
+ if (flags & WINED3D_BLT_DO_NOT_WAIT)
+ {
+ static unsigned int once;
+
+ if (!once++)
+ FIXME("Can't handle WINED3D_BLT_DO_NOT_WAIT flag.\n");
+ flags &= ~WINED3D_BLT_DO_NOT_WAIT;
+ }
+
+ TRACE("Emitting blit %p <== %p\n", dst_surface, src_surface);
+ wined3d_cs_emit_blt(device->cs, dst_surface, dst_rect, src_surface, src_rect,
+ flags, fx, filter);
+
+ return WINED3D_OK;
+}
if (!src_box)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index a65367398f0..7cd69134a0c 100644
index 60e53f55463..9d0909852cd 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -3190,8 +3190,13 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
@@ -3189,8 +3189,13 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
if (dst_texture->sub_resources[dst_sub_resource_idx].map_count
|| (src_texture && src_texture->sub_resources[src_sub_resource_idx].map_count))
{
@ -350,31 +60,6 @@ index a65367398f0..7cd69134a0c 100644
}
if ((dst_format_flags & WINED3DFMT_FLAG_BLOCKS) && (flags & WINED3D_BLT_COLOR_FILL))
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index a3716e937a5..1c3ba4644f1 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3067,6 +3067,9 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
+void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_in,
+ struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags,
+ const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
@@ -3218,6 +3221,10 @@ struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device) DECLSPEC_HID
void wined3d_cs_destroy(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
void wined3d_cs_destroy_object(struct wined3d_cs *cs,
void (*callback)(void *object), void *object) DECLSPEC_HIDDEN;
+void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surface,
+ const RECT *dst_rect, struct wined3d_surface *src_surface,
+ const RECT *src_rect, DWORD flags, const struct wined3d_blt_fx *fx,
+ enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
void wined3d_cs_emit_dispatch(struct wined3d_cs *cs,
--
2.11.0

View File

@ -1,4 +1,4 @@
From da8e396548580773fb77f92c866163693dd576e5 Mon Sep 17 00:00:00 2001
From b880794502fe7d805e3f49b61c8a8b6664cbd187 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 4 Jul 2013 21:10:16 +0200
Subject: wined3d: Send render target view clears through the command stream
@ -24,19 +24,19 @@ index 8e5be756654..88e0e44c4d3 100644
* supported as offscreen plain surfaces and do not support D3DUSAGE_RENDERTARGET
* when created as texture. */
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index f2eb87e35b8..c38bbbd2754 100644
index bf1b63b897b..b8c99985af4 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -68,6 +68,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_BLT_SUB_RESOURCE,
WINED3D_CS_OP_UPDATE_SUB_RESOURCE,
WINED3D_CS_OP_PUSH_CONSTANTS,
WINED3D_CS_OP_BLT,
+ WINED3D_CS_OP_CLEAR_RTV,
};
struct wined3d_cs_sync
@@ -389,6 +390,18 @@ struct wined3d_cs_blt
enum wined3d_texture_filter_type filter;
@@ -391,6 +392,18 @@ struct wined3d_cs_push_constants
BYTE constants[1];
};
+struct wined3d_cs_clear_rtv
@ -54,7 +54,7 @@ index f2eb87e35b8..c38bbbd2754 100644
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -1908,6 +1921,41 @@ void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surf
@@ -1940,6 +1953,41 @@ void wined3d_cs_emit_push_constants(struct wined3d_cs *cs, enum wined3d_push_con
cs->ops->submit(cs);
}
@ -96,19 +96,19 @@ index f2eb87e35b8..c38bbbd2754 100644
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -1952,6 +2000,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
@@ -1984,6 +2032,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_BLT_SUB_RESOURCE */ wined3d_cs_exec_blt_sub_resource,
/* WINED3D_CS_OP_UPDATE_SUB_RESOURCE */ wined3d_cs_exec_update_sub_resource,
/* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
/* WINED3D_CS_OP_BLT */ wined3d_cs_exec_blt,
+ /* WINED3D_CS_OP_CLEAR_RTV */ wined3d_cs_exec_clear_rtv,
};
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index a06cae6412e..0e491b3b8cd 100644
index c3a10a2d13a..728e5570777 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4246,10 +4246,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
@@ -4320,10 +4320,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
return WINED3DERR_INVALIDCALL;
}
@ -122,11 +122,11 @@ index a06cae6412e..0e491b3b8cd 100644
struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 1c3ba4644f1..6fbfa5d9c9c 100644
index 8a07bb98523..f69cead4d1c 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3227,6 +3227,9 @@ void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surf
enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
@@ -3225,6 +3225,9 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,

View File

@ -1,4 +1,4 @@
From ae3267b2c9b77715d189c233472c870a0f55d41b Mon Sep 17 00:00:00 2001
From 8f9e2da3bc48abffee005b95c2b996352db2de16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 1 Aug 2013 00:33:48 +0200
Subject: wined3d: Send update_texture calls through the CS
@ -11,18 +11,18 @@ FIXME: This logic duplication is ugly.
3 files changed, 141 insertions(+), 75 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index c38bbbd2754..47678602fed 100644
index b8c99985af4..bbea6bbb454 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -69,6 +69,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_UPDATE_SUB_RESOURCE,
WINED3D_CS_OP_PUSH_CONSTANTS,
WINED3D_CS_OP_BLT,
WINED3D_CS_OP_CLEAR_RTV,
+ WINED3D_CS_OP_UPDATE_TEXTURE,
};
struct wined3d_cs_sync
@@ -402,6 +403,12 @@ struct wined3d_cs_clear_rtv
@@ -404,6 +405,12 @@ struct wined3d_cs_clear_rtv
const struct blit_shader *blitter;
};
@ -35,7 +35,7 @@ index c38bbbd2754..47678602fed 100644
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -1956,6 +1963,35 @@ void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarge
@@ -1988,6 +1995,35 @@ void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarge
cs->ops->submit(cs);
}
@ -71,19 +71,19 @@ index c38bbbd2754..47678602fed 100644
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -2001,6 +2037,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
@@ -2033,6 +2069,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_UPDATE_SUB_RESOURCE */ wined3d_cs_exec_update_sub_resource,
/* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
/* WINED3D_CS_OP_BLT */ wined3d_cs_exec_blt,
/* WINED3D_CS_OP_CLEAR_RTV */ wined3d_cs_exec_clear_rtv,
+ /* WINED3D_CS_OP_UPDATE_TEXTURE */ wined3d_cs_exec_update_texture,
};
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 2fdfd944b7e..d244091782f 100644
index 364eac4411e..d0e1fe6e9d7 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3627,34 +3627,17 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
@@ -3659,34 +3659,17 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
start_idx, index_count, start_instance, instance_count, TRUE);
}
@ -122,7 +122,7 @@ index 2fdfd944b7e..d244091782f 100644
/* Only a prepare, since we're uploading entire volumes. */
wined3d_texture_prepare_texture(dst_texture, context, FALSE);
@@ -3662,32 +3645,89 @@ static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
@@ -3694,32 +3677,89 @@ static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
for (i = 0; i < level_count; ++i)
{
@ -222,7 +222,7 @@ index 2fdfd944b7e..d244091782f 100644
TRACE("device %p, src_texture %p, dst_texture %p.\n", device, src_texture, dst_texture);
@@ -3724,63 +3764,48 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
@@ -3756,63 +3796,48 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
return WINED3DERR_INVALIDCALL;
}
@ -316,10 +316,10 @@ index 2fdfd944b7e..d244091782f 100644
HRESULT CDECL wined3d_device_validate_device(const struct wined3d_device *device, DWORD *num_passes)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 6fbfa5d9c9c..5b68475945d 100644
index f69cead4d1c..fcefe12d226 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2702,6 +2702,8 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2703,6 +2703,8 @@ 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;
@ -328,7 +328,7 @@ index 6fbfa5d9c9c..5b68475945d 100644
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
{
@@ -3294,6 +3296,8 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
@@ -3292,6 +3294,8 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_resource *resource,
unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch,
unsigned int slice_pitch) DECLSPEC_HIDDEN;

View File

@ -1,4 +1,4 @@
From 41decdb7669a8e83c5c6a244b50822d93ad8d1db Mon Sep 17 00:00:00 2001
From cdbc30321bd78951ffc6e2deaca50b1414ff7abe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sun, 16 Mar 2014 14:13:42 +0100
Subject: wined3d: Send getdc and releasedc through the command stream.
@ -11,11 +11,11 @@ Another hacky patch to avoid using GL outside the worker thread.
3 files changed, 119 insertions(+), 29 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index 47678602fed..735991db6e2 100644
index bbea6bbb454..2a3a984088d 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -70,6 +70,8 @@ enum wined3d_cs_op
WINED3D_CS_OP_BLT,
WINED3D_CS_OP_PUSH_CONSTANTS,
WINED3D_CS_OP_CLEAR_RTV,
WINED3D_CS_OP_UPDATE_TEXTURE,
+ WINED3D_CS_OP_GET_DC,
@ -23,7 +23,7 @@ index 47678602fed..735991db6e2 100644
};
struct wined3d_cs_sync
@@ -409,6 +411,14 @@ struct wined3d_cs_update_texture
@@ -411,6 +413,14 @@ struct wined3d_cs_update_texture
struct wined3d_texture *src, *dst;
};
@ -38,7 +38,7 @@ index 47678602fed..735991db6e2 100644
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -1992,6 +2002,54 @@ void wined3d_cs_emit_update_texture(struct wined3d_cs *cs, struct wined3d_textur
@@ -2024,6 +2034,54 @@ void wined3d_cs_emit_update_texture(struct wined3d_cs *cs, struct wined3d_textur
cs->ops->submit(cs);
}
@ -93,8 +93,8 @@ index 47678602fed..735991db6e2 100644
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -2038,6 +2096,8 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_BLT */ wined3d_cs_exec_blt,
@@ -2070,6 +2128,8 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
/* WINED3D_CS_OP_CLEAR_RTV */ wined3d_cs_exec_clear_rtv,
/* WINED3D_CS_OP_UPDATE_TEXTURE */ wined3d_cs_exec_update_texture,
+ /* WINED3D_CS_OP_GET_DC */ wined3d_cs_exec_get_dc,
@ -103,10 +103,10 @@ index 47678602fed..735991db6e2 100644
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 378ce476ca0..5c9cadef95a 100644
index 60e53f55463..b692c504501 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -3473,13 +3473,41 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
@@ -3509,13 +3509,41 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
return WINED3D_OK;
}
@ -150,7 +150,7 @@ index 378ce476ca0..5c9cadef95a 100644
TRACE("texture %p, sub_resource_idx %u, dc %p.\n", texture, sub_resource_idx, dc);
@@ -3504,28 +3532,32 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
@@ -3540,28 +3568,32 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
if (texture->resource.map_count && !(texture->flags & WINED3D_TEXTURE_GET_DC_LENIENT))
return WINED3DERR_INVALIDCALL;
@ -200,7 +200,7 @@ index 378ce476ca0..5c9cadef95a 100644
}
HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC dc)
@@ -3556,14 +3588,5 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
@@ -3592,14 +3624,5 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
return WINED3DERR_INVALIDCALL;
}
@ -217,10 +217,10 @@ index 378ce476ca0..5c9cadef95a 100644
+ return wined3d_cs_emit_release_dc(device->cs, texture, sub_resource_idx);
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 5b68475945d..0d85fadec75 100644
index fcefe12d226..6373ee3df67 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2947,6 +2947,7 @@ void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
@@ -2948,6 +2948,7 @@ void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
HRESULT wined3d_texture_check_box_dimensions(const struct wined3d_texture *texture,
unsigned int level, const struct wined3d_box *box) DECLSPEC_HIDDEN;
@ -228,7 +228,7 @@ index 5b68475945d..0d85fadec75 100644
GLenum wined3d_texture_get_gl_buffer(const struct wined3d_texture *texture) DECLSPEC_HIDDEN;
void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int sub_resource_idx,
struct wined3d_bo_address *data, DWORD locations) DECLSPEC_HIDDEN;
@@ -2962,6 +2963,8 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned
@@ -2963,6 +2964,8 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
void wined3d_texture_prepare_texture(struct wined3d_texture *texture,
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
@ -237,7 +237,7 @@ index 5b68475945d..0d85fadec75 100644
void wined3d_texture_set_map_binding(struct wined3d_texture *texture, DWORD map_binding) DECLSPEC_HIDDEN;
void wined3d_texture_set_swapchain(struct wined3d_texture *texture,
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
@@ -3237,6 +3240,8 @@ void wined3d_cs_emit_dispatch(struct wined3d_cs *cs,
@@ -3235,6 +3238,8 @@ void wined3d_cs_emit_dispatch(struct wined3d_cs *cs,
void wined3d_cs_emit_draw(struct wined3d_cs *cs, GLenum primitive_type, int base_vertex_idx,
unsigned int start_idx, unsigned int index_count, unsigned int start_instance,
unsigned int instance_count, BOOL indexed) DECLSPEC_HIDDEN;
@ -246,7 +246,7 @@ index 5b68475945d..0d85fadec75 100644
void wined3d_cs_emit_glfinish(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *swapchain,
@@ -3244,6 +3249,8 @@ void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *sw
@@ -3242,6 +3247,8 @@ void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *sw
void wined3d_cs_emit_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p,
unsigned int start_idx, unsigned int count, const void *constants) DECLSPEC_HIDDEN;
void wined3d_cs_emit_query_issue(struct wined3d_cs *cs, struct wined3d_query *query, DWORD flags) DECLSPEC_HIDDEN;

View File

@ -1,132 +0,0 @@
From 3bf5f63ec62c705afb14d485df3e2d0bd799d7dd Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 7 Feb 2017 14:37:07 +0100
Subject: wined3d: Send buffer copy requests through CS.
---
dlls/wined3d/cs.c | 44 ++++++++++++++++++++++++++++++++++++++++++
dlls/wined3d/device.c | 8 ++++----
dlls/wined3d/wined3d_private.h | 3 +++
3 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index be7e041b86c..51ac0c2b000 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -75,6 +75,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_RELEASE_DC,
WINED3D_CS_OP_UPDATE_SWAP_INTERVAL,
WINED3D_CS_OP_TEXTURE_ADD_DIRTY_REGION,
+ WINED3D_CS_OP_BUFFER_COPY,
};
struct wined3d_cs_sync
@@ -443,6 +444,16 @@ struct wined3d_cs_texture_add_dirty_region
unsigned int sub_resource_idx;
};
+struct wined3d_cs_buffer_copy
+{
+ enum wined3d_cs_op opcode;
+ struct wined3d_buffer *dst_buffer;
+ unsigned int dst_offset;
+ struct wined3d_buffer *src_buffer;
+ unsigned int src_offset;
+ unsigned int size;
+};
+
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
{
}
@@ -2150,6 +2161,38 @@ void wined3d_cs_emit_texture_add_dirty_region(struct wined3d_cs *cs,
cs->ops->submit(cs);
}
+static void wined3d_cs_exec_buffer_copy(struct wined3d_cs *cs, const void *data)
+{
+ const struct wined3d_cs_buffer_copy *op = data;
+ HRESULT hr;
+
+ if (FAILED(hr = wined3d_buffer_copy(op->dst_buffer, op->dst_offset, op->src_buffer, op->src_offset, op->size)))
+ ERR("Failed to copy buffer, hr %#x.\n", hr);
+
+ wined3d_resource_release(&op->dst_buffer->resource);
+ wined3d_resource_release(&op->src_buffer->resource);
+}
+
+void wined3d_cs_emit_buffer_copy(struct wined3d_cs *cs, struct wined3d_buffer *dst_buffer,
+ unsigned int dst_offset, struct wined3d_buffer *src_buffer, unsigned int src_offset,
+ unsigned int size)
+{
+ struct wined3d_cs_buffer_copy *op;
+
+ op = cs->ops->require_space(cs, sizeof(*op));
+ op->opcode = WINED3D_CS_OP_BUFFER_COPY;
+ op->dst_buffer = dst_buffer;
+ op->dst_offset = dst_offset;
+ op->src_buffer = src_buffer;
+ op->src_offset = src_offset;
+ op->size = size;
+
+ wined3d_resource_acquire(&dst_buffer->resource);
+ wined3d_resource_acquire(&src_buffer->resource);
+
+ cs->ops->submit(cs);
+}
+
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
@@ -2201,6 +2244,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_RELEASE_DC */ wined3d_cs_exec_release_dc,
/* WINED3D_CS_OP_UPDATE_SWAP_INTERVAL */ wined3d_cs_exec_update_swap_interval,
/* WINED3D_CS_OP_TEXTURE_ADD_DIRTY_REGION */ wined3d_cs_exec_texture_add_dirty_region,
+ /* WINED3D_CS_OP_BUFFER_COPY */ wined3d_cs_exec_buffer_copy,
};
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 749ba9ca19c..a8ca7cbaf56 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3991,10 +3991,9 @@ void CDECL wined3d_device_copy_resource(struct wined3d_device *device,
if (dst_resource->type == WINED3D_RTYPE_BUFFER)
{
- if (FAILED(hr = wined3d_buffer_copy(buffer_from_resource(dst_resource), 0,
+ wined3d_cs_emit_buffer_copy(device->cs, buffer_from_resource(dst_resource), 0,
buffer_from_resource(src_resource), 0,
- dst_resource->size)))
- ERR("Failed to copy buffer, hr %#x.\n", hr);
+ dst_resource->size);
return;
}
@@ -4116,8 +4115,9 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
return WINED3DERR_INVALIDCALL;
}
- return wined3d_buffer_copy(buffer_from_resource(dst_resource), dst_x,
+ wined3d_cs_emit_buffer_copy(device->cs, buffer_from_resource(dst_resource), dst_x,
buffer_from_resource(src_resource), src_offset, size);
+ return WINED3D_OK;
}
if (dst_resource->type != WINED3D_RTYPE_TEXTURE_2D)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index d45c45c09dc..708091f573b 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3239,6 +3239,9 @@ void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surf
const RECT *dst_rect, struct wined3d_surface *src_surface,
const RECT *src_rect, DWORD flags, const struct wined3d_blt_fx *fx,
enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
+void wined3d_cs_emit_buffer_copy(struct wined3d_cs *cs, struct wined3d_buffer *dst_buffer,
+ unsigned int dst_offset, struct wined3d_buffer *src_buffer, unsigned int src_offset,
+ unsigned int size) DECLSPEC_HIDDEN;
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
--
2.11.0

Some files were not shown because too many files have changed in this diff Show More