Compare commits

..

36 Commits

Author SHA1 Message Date
Sebastian Lackner
29d851bf3a Release 2.1. 2017-02-09 05:39:42 +01:00
Sebastian Lackner
481488be9f Added patch to revert changes to wined3d_buffer_upload_data. 2017-02-08 19:56:48 +01:00
Sebastian Lackner
74528271f3 wined3d-CSMT_Main: Reenable patchset. 2017-02-08 17:36:36 +01:00
Sebastian Lackner
06886567bc Added patch to implement MemorySectionName class in NtQueryVirtualMemory. 2017-02-07 11:54:25 +01:00
Sebastian Lackner
a12dca03ce Added patch to implement some processor group functions and SetThreadIdealProcessorEx. 2017-02-05 22:38:32 +01:00
Sebastian Lackner
f6d52a6a19 kernel32-SetFileCompletionNotificationModes: Update patchset. 2017-02-05 16:14:08 +01:00
Sebastian Lackner
6ab46f2760 Added patch to implement stub for advapi32.LookupSecurityDescriptorPartsA/W. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
cc8133fd8c Added patch to implement ProcessPriorityClass in NtQueryInformationProcess. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
9392a75d90 Added patch with stub for kernel32.GetPackageFullName. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
91eac1310f Added patch to implement ntdll.LdrEnumerateLoadedModules. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
0fb4e4b319 api-ms-win-Stub_DLLs: Update specfile. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
dbbf832f67 Added patch to implement stub for wevtapi.EvtNext. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
e6ff2b49ac Added patch to set focus to dialog itself when it has no controls. 2017-02-05 07:20:17 +01:00
Sebastian Lackner
e4754f827a Rebase against e08ed6cac218fc09044d06d3cbe2a54f7ec898cf. 2017-02-04 07:47:58 +01:00
Sebastian Lackner
e374d7a750 windowscodecs-32bppPRGBA: Update patchset. 2017-02-02 22:48:15 +01:00
Sebastian Lackner
2e509b911f Rebase against 2a28e4d843ec5302f53a3168061fdf2ca30eb076. 2017-02-02 00:06:41 +01:00
Sebastian Lackner
c8b29193db server-PeekMessage: Update patchset. 2017-02-01 23:43:28 +01:00
Sebastian Lackner
52f7df8325 Added patch to handle begin == NULL in _vcomp_for_static_init. 2017-02-01 14:58:18 +01:00
Sebastian Lackner
25019ba42d Rebase against 36bb9d905ae10713bcd197958fb71aa86930a505. 2017-02-01 14:56:51 +01:00
Sebastian Lackner
72479040c5 Rebase against 2dd0fb880c005cd5660928d1646a117407cec238. 2017-01-31 11:19:50 +01:00
Sebastian Lackner
8f474115cd bcrypt-Improvements: Fix compilation on OSX when both gnutls and commoncrypto is available. 2017-01-29 12:46:25 +01:00
Sebastian Lackner
4a6f3210c9 Rebase against 152b24015308286441399f9fc2be57213c762c7a. 2017-01-27 23:24:02 +01:00
Sebastian Lackner
a6c14e35e7 Rebase against 96a48efeeade7359c8c84a8c3a0a9768fb2a6194. 2017-01-27 00:45:45 +01:00
Sebastian Lackner
db836be757 msvideo.dll16-DrawDibProfileDisplay: Fix spec file. 2017-01-26 15:13:40 +01:00
Sebastian Lackner
e7a0f0e60e Rebase against 76644a7c26f2c2b3a5968665c349b45bdb294387. 2017-01-25 22:09:05 +01:00
Sebastian Lackner
26a06cd63b Release 2.0. 2017-01-25 06:34:02 +01:00
Sebastian Lackner
9ffe3e0eb6 crypt32-SHA_OIDs: Update Fixes line. 2017-01-24 20:13:51 +01:00
Sebastian Lackner
ac69f4b5df Added patch to fix alpha blending in X11DRV_UpdateLayeredWindow. 2017-01-24 14:48:06 +01:00
Sebastian Lackner
93fc292115 Added patch to replace Peb->BeingDebugged check by CheckRemoteDebuggerPresent. 2017-01-24 13:10:56 +01:00
Sebastian Lackner
b6f7d83896 d3d11-Deferred_Context: Update patchset. 2017-01-24 11:53:57 +01:00
Sebastian Lackner
fa1d5938f2 Added patch to recognize sha256/384/512 KEY OIDs. 2017-01-24 05:04:18 +01:00
Sebastian Lackner
f93bdfd5fb Added patch to implement support for 32bppRGB, 32bppRGBA and 32bppPRGBA in format converter. 2017-01-24 04:45:15 +01:00
Sebastian Lackner
cb587975ef Added patch to implement DXGI GammaControl methods. 2017-01-24 03:52:53 +01:00
Sebastian Lackner
819d0a394b patchupdate.py: Remove support for patch categories. 2017-01-23 21:30:25 +01:00
Sebastian Lackner
bf7d655c80 Added patch for ProfileImagePath registry key with users profile directory. 2017-01-23 08:44:17 +01:00
Sebastian Lackner
428f6a06ad Added patch to implement some more wined3d blend modes. 2017-01-22 16:36:35 +01:00
309 changed files with 10470 additions and 19399 deletions

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -1,4 +1,4 @@
From a41dac0b19ec2ba3807da4ac42d77717d79f1115 Mon Sep 17 00:00:00 2001
From 41ee5d7699182ea01c61223ab9d0a10473e16ac2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: kernel32: Add winediag message to show warning, that this isn't
@@ -9,7 +9,7 @@ Subject: kernel32: Add winediag message to show warning, that this isn't
1 file changed, 9 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index b0c06e3..a2c1d4c 100644
index 6d0fc74cdf4..ed1d967ffdf 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
@@ -20,7 +20,7 @@ index b0c06e3..a2c1d4c 100644
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1099,6 +1100,14 @@ static DWORD WINAPI start_process( PEB *peb )
@@ -1104,6 +1105,14 @@ static DWORD WINAPI start_process( PEB *peb )
DPRINTF( "%04x:Starting process %s (entryproc=%p)\n", GetCurrentThreadId(),
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer), entry );
@@ -32,9 +32,9 @@ index b0c06e3..a2c1d4c 100644
+ else
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
+
SetLastError( 0 ); /* clear error code */
if (peb->BeingDebugged) DbgBreakPoint();
return call_process_entry( peb, entry );
if (!CheckRemoteDebuggerPresent( GetCurrentProcess(), &being_debugged ))
being_debugged = FALSE;
--
2.5.1
2.11.0

View File

@@ -1 +1 @@
Category: stable
Depends: kernel32-BeingDebugged

View File

@@ -0,0 +1,61 @@
From bb079b53bc79d44987d5f7ac93d0e1d2c5b00698 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Wed, 9 Nov 2016 21:46:10 -0600
Subject: advapi32: add LookupSecurityDescriptorPartsA/W stubs
Fixes https://bugs.winehq.org/show_bug.cgi?id=41682
---
dlls/advapi32/advapi32.spec | 4 ++--
dlls/advapi32/security.c | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 6c57c88adf7..88d8634ef64 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -415,8 +415,8 @@
@ stdcall LookupPrivilegeNameW(wstr ptr ptr ptr)
@ stdcall LookupPrivilegeValueA(ptr ptr ptr)
@ stdcall LookupPrivilegeValueW(ptr ptr ptr)
-# @ stub LookupSecurityDescriptorPartsA
-# @ stub LookupSecurityDescriptorPartsW
+@ stdcall LookupSecurityDescriptorPartsA(ptr ptr ptr ptr ptr ptr ptr)
+@ stdcall LookupSecurityDescriptorPartsW(ptr ptr ptr ptr ptr ptr ptr)
@ stdcall LsaAddAccountRights(ptr ptr ptr long)
@ stub LsaAddPrivilegesToAccount
# @ stub LsaClearAuditLog
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 3b5d7a42b6f..01e8ea02706 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -6199,3 +6199,27 @@ BOOL WINAPI SaferSetLevelInformation(SAFER_LEVEL_HANDLE handle, SAFER_OBJECT_INF
FIXME("(%p %u %p %u) stub\n", handle, infotype, buffer, size);
return FALSE;
}
+
+/******************************************************************************
+ * LookupSecurityDescriptorPartsA [ADVAPI32.@]
+ */
+DWORD WINAPI LookupSecurityDescriptorPartsA(TRUSTEEA *owner, TRUSTEEA *group, ULONG *access_count,
+ EXPLICIT_ACCESSA *access_list, ULONG *audit_count,
+ EXPLICIT_ACCESSA *audit_list, SECURITY_DESCRIPTOR *descriptor)
+{
+ FIXME("(%p %p %p %p %p %p %p) stub\n", owner, group, access_count,
+ access_list, audit_count, audit_list, descriptor);
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+/******************************************************************************
+ * LookupSecurityDescriptorPartsW [ADVAPI32.@]
+ */
+DWORD WINAPI LookupSecurityDescriptorPartsW(TRUSTEEW *owner, TRUSTEEW *group, ULONG *access_count,
+ EXPLICIT_ACCESSW *access_list, ULONG *audit_count,
+ EXPLICIT_ACCESSW *audit_list, SECURITY_DESCRIPTOR *descriptor)
+{
+ FIXME("(%p %p %p %p %p %p %p) stub\n", owner, group, access_count,
+ access_list, audit_count, audit_list, descriptor);
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
--
2.11.0

View File

@@ -0,0 +1 @@
Fixes: [41682] Add stub for advapi32.LookupSecurityDescriptorPartsA/W

View File

@@ -1,4 +1,4 @@
From 616c17cc58a4943d3a367704943e737d5713740d Mon Sep 17 00:00:00 2001
From 77d43d721793edda9b419f7426442a35f0cb5918 Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 7 Apr 2015 11:23:34 +0800
Subject: advapi32: Fallback to Sid string when LookupAccountSid fails.
@@ -8,7 +8,7 @@ Subject: advapi32: Fallback to Sid string when LookupAccountSid fails.
1 file changed, 31 insertions(+)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 258b8ca..93afa20 100644
index 1b270a80829..b8dedbd6d58 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -29,6 +29,7 @@
@@ -19,8 +19,8 @@ index 258b8ca..93afa20 100644
#include "advapi32_misc.h"
#include "wine/debug.h"
@@ -554,6 +555,21 @@ NTSTATUS WINAPI LsaLookupSids(
heap_free(name);
@@ -562,6 +563,21 @@ NTSTATUS WINAPI LsaLookupSids(
domain.MaximumLength = sizeof(WCHAR);
}
}
+ else
@@ -41,9 +41,9 @@ index 258b8ca..93afa20 100644
}
/* now we have full length needed for both */
@@ -593,6 +609,21 @@ NTSTATUS WINAPI LsaLookupSids(
heap_free(domain.Buffer);
}
@@ -605,6 +621,21 @@ NTSTATUS WINAPI LsaLookupSids(
(*Names)[i].DomainIndex = lsa_reflist_add_domain(*ReferencedDomains, &domain, &domain_data);
heap_free(domain.Buffer);
}
+ else
+ {
@@ -64,5 +64,5 @@ index 258b8ca..93afa20 100644
name_buffer += name_size;
}
--
2.3.5
2.11.0

View File

@@ -1,4 +1,4 @@
From 51fb5229fdb33887fe25440defc8df09d1623abb Mon Sep 17 00:00:00 2001
From 306414ced0169b9ee4de34706e9235acb1bd93d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 15 Jan 2016 13:01:15 +0100
Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
@@ -13,7 +13,7 @@ Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
create mode 100644 dlls/kernelbase/misc.c
diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in
index b9caed0..2beb34b 100644
index b9caed090b2..2beb34bafdb 100644
--- a/dlls/kernelbase/Makefile.in
+++ b/dlls/kernelbase/Makefile.in
@@ -1 +1,4 @@
@@ -22,7 +22,7 @@ index b9caed0..2beb34b 100644
+C_SRCS = \
+ misc.c
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index f104030..e09112e 100644
index f104030ab25..74ff728cbc8 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1,3 +1,6 @@
@@ -96,7 +96,7 @@ index f104030..e09112e 100644
-@ stub BaseReleaseProcessDllPath
-@ stub BaseReleaseProcessExePath
+@ stub BaseDumpAppcompatCache
+@ stub BaseFlushAppcompatCache
+@ stdcall BaseFlushAppcompatCache() kernel32.BaseFlushAppcompatCache
+@ stub BaseFormatObjectAttributes
+@ stub BaseFreeAppCompatDataForProcess
+@ stub BaseGetNamedObjectDirectory
@@ -244,7 +244,7 @@ index f104030..e09112e 100644
+@ stdcall CreateWaitableTimerW(ptr long wstr) kernel32.CreateWaitableTimerW
@ stdcall CreateWellKnownSid(long ptr ptr ptr) advapi32.CreateWellKnownSid
+@ stub CtrlRoutine
+@ stdcall DeactivateActCtx(long ptr) kernel32.DeactivateActCtx
+@ stdcall DeactivateActCtx(long long) kernel32.DeactivateActCtx
+@ stdcall DebugActiveProcess(long) kernel32.DebugActiveProcess
+@ stdcall DebugActiveProcessStop(long) kernel32.DebugActiveProcessStop
@ stdcall DebugBreak() kernel32.DebugBreak
@@ -433,7 +433,7 @@ index f104030..e09112e 100644
@ stub GetCalendar
@ stdcall GetCalendarInfoEx(wstr long ptr long ptr long ptr) kernel32.GetCalendarInfoEx
@ stdcall GetCalendarInfoW(long long long ptr long ptr) kernel32.GetCalendarInfoW
+@ stdcall GetCommConfig(long ptr long) kernel32.GetCommConfig
+@ stdcall GetCommConfig(long ptr ptr) kernel32.GetCommConfig
+@ stdcall GetCommMask(long ptr) kernel32.GetCommMask
+@ stdcall GetCommModemStatus(long ptr) kernel32.GetCommModemStatus
+@ stdcall GetCommProperties(long ptr) kernel32.GetCommProperties
@@ -1354,7 +1354,7 @@ index f104030..e09112e 100644
+@ stub SetClientTimeZoneInformation
+@ stdcall SetCommBreak(long) kernel32.SetCommBreak
+@ stdcall SetCommConfig(long ptr long) kernel32.SetCommConfig
+@ stdcall SetCommMask(long ptr) kernel32.SetCommMask
+@ stdcall SetCommMask(long long) kernel32.SetCommMask
+@ stdcall SetCommState(long ptr) kernel32.SetCommState
+@ stdcall SetCommTimeouts(long ptr) kernel32.SetCommTimeouts
+@ stdcall SetComputerNameA(str) kernel32.SetComputerNameA
@@ -1715,7 +1715,7 @@ index f104030..e09112e 100644
+@ stub wprintf
diff --git a/dlls/kernelbase/misc.c b/dlls/kernelbase/misc.c
new file mode 100644
index 0000000..be1591a
index 00000000000..be1591aee7e
--- /dev/null
+++ b/dlls/kernelbase/misc.c
@@ -0,0 +1,37 @@
@@ -1757,7 +1757,7 @@ index 0000000..be1591a
+ return FALSE;
+}
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
index 6b6ead2..7c2a9d1 100644
index 6b6ead26968..7c2a9d117e0 100644
--- a/dlls/shlwapi/shlwapi.spec
+++ b/dlls/shlwapi/shlwapi.spec
@@ -417,7 +417,7 @@
@@ -1770,10 +1770,10 @@ index 6b6ead2..7c2a9d1 100644
422 stdcall -noname SHGlobalCounterCreateNamedA(str long)
423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long)
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 8e11529..eba8548 100755
index 1e2400e4c7f..a245aefe406 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -233,6 +233,7 @@ my @dll_groups =
@@ -249,6 +249,7 @@ my @dll_groups =
[
"kernel32",
"advapi32",
@@ -1782,5 +1782,5 @@ index 8e11529..eba8548 100755
"kernelbase",
"api-ms-win-core-bem-l1-1-0",
--
2.9.0
2.11.0

View File

@@ -1,42 +0,0 @@
From 64ce8c391c3706a2b3ce9b5f8f76710d5751a766 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Thu, 20 Oct 2016 17:48:24 +0800
Subject: avifil32: AVIFileGetStream should set stream to NULL in case of an
error.
---
dlls/avifil32/avifile.c | 1 +
dlls/avifil32/tests/api.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index f649d05..7a4caaa 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -316,6 +316,7 @@ static HRESULT WINAPI IAVIFile_fnGetStream(IAVIFile *iface, IAVIStream **avis, D
}
/* Sorry, but the specified stream doesn't exist */
+ *avis = NULL;
return AVIERR_NODATA;
}
diff --git a/dlls/avifil32/tests/api.c b/dlls/avifil32/tests/api.c
index b3d822d..8a00865 100644
--- a/dlls/avifil32/tests/api.c
+++ b/dlls/avifil32/tests/api.c
@@ -373,6 +373,11 @@ static void test_default_data(void)
res = AVIFileOpenA(&pFile, filename, OF_SHARE_DENY_WRITE, 0L);
ok(res == 0, "Unable to open file: error=%u\n", res);
+ pStream0 = (void *)0xdeadbeef;
+ res = AVIFileGetStream(pFile, &pStream0, ~0, 0);
+ ok(res == AVIERR_NODATA, "expected AVIERR_NODATA, got %#x\n", res);
+ ok(pStream0 == NULL, "AVIFileGetStream should set stream to NULL\n");
+
res = AVIFileGetStream(pFile, &pStream0, 0, 0);
ok(res == 0, "Unable to open video stream: error=%u\n", res);
--
2.9.0

View File

@@ -1 +0,0 @@
Fixes: [41579] AVIFileGetStream should set stream to NULL in case of an error

View File

@@ -1,4 +1,4 @@
From c178117abacbf8644ae05429999ff8e8f8585a7e Mon Sep 17 00:00:00 2001
From 489a67ec803b382248134be53f3449c206e208ff Mon Sep 17 00:00:00 2001
From: Hans Leidekker <hans@codeweavers.com>
Date: Mon, 19 Dec 2016 19:38:52 +0100
Subject: bcrypt: Add AES provider.
@@ -53,7 +53,7 @@ index e299fe0cce8..962953e509b 100644
@ stub BCryptUnregisterConfigChangeNotify
@ stub BCryptUnregisterProvider
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index 6023c942e49..5e066283f6e 100644
index 6023c942e49..5867dbdc3fa 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -49,6 +49,10 @@ WINE_DECLARE_DEBUG_CHANNEL(winediag);
@@ -208,7 +208,7 @@ index 6023c942e49..5e066283f6e 100644
return BCryptDestroyHash( handle );
}
+#if defined(HAVE_GNUTLS_HASH)
+#if defined(HAVE_GNUTLS_HASH) && !defined(HAVE_COMMONCRYPTO_COMMONDIGEST_H)
+struct key
+{
+ struct object hdr;

View File

@@ -1,2 +1 @@
Fixes: [26256] Support for setcap on wine-preloader
Category: stable

View File

@@ -0,0 +1,52 @@
From 80ed5b05271aed72ae87ecfc354dce8cca5efd19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 03:47:25 +0100
Subject: crypt32: Recognize sha256/384/512 KEY OIDs.
---
dlls/crypt32/oid.c | 6 ++++++
include/wincrypt.h | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/dlls/crypt32/oid.c b/dlls/crypt32/oid.c
index d5c29534c23..7c07b9fcd99 100644
--- a/dlls/crypt32/oid.c
+++ b/dlls/crypt32/oid.c
@@ -1053,6 +1053,9 @@ static const WCHAR rc2[] = { 'r','c','2',0 };
static const WCHAR rc4[] = { 'r','c','4',0 };
static const WCHAR sha[] = { 's','h','a',0 };
static const WCHAR sha1[] = { 's','h','a','1',0 };
+static const WCHAR sha256[] = { 's','h','a','2','5','6',0 };
+static const WCHAR sha384[] = { 's','h','a','3','8','4',0 };
+static const WCHAR sha512[] = { 's','h','a','5','1','2',0 };
static const WCHAR RSA[] = { 'R','S','A',0 };
static const WCHAR RSA_KEYX[] = { 'R','S','A','_','K','E','Y','X',0 };
static const WCHAR RSA_SIGN[] = { 'R','S','A','_','S','I','G','N',0 };
@@ -1157,6 +1160,9 @@ static const struct OIDInfoConstructor {
{ 1, szOID_RSA_MD5, CALG_MD5, md5, NULL },
{ 1, szOID_RSA_MD4, CALG_MD4, md4, NULL },
{ 1, szOID_RSA_MD2, CALG_MD2, md2, NULL },
+ { 1, szOID_NIST_sha256, CALG_SHA_256, sha256, NULL },
+ { 1, szOID_NIST_sha384, CALG_SHA_384, sha384, NULL },
+ { 1, szOID_NIST_sha512, CALG_SHA_512, sha512, NULL },
{ 2, szOID_OIWSEC_desCBC, CALG_DES, des, NULL },
{ 2, szOID_RSA_DES_EDE3_CBC, CALG_3DES, tripledes, NULL },
diff --git a/include/wincrypt.h b/include/wincrypt.h
index 88b4b65d4c1..14705708f2b 100644
--- a/include/wincrypt.h
+++ b/include/wincrypt.h
@@ -3149,6 +3149,10 @@ typedef struct _CTL_FIND_SUBJECT_PARA
#define szOID_NETSCAPE_DATA_TYPE "2.16.840.1.113730.2"
#define szOID_NETSCAPE_CERT_SEQUENCE "2.16.840.1.113730.2.5"
+#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1"
+#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2"
+#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3"
+
/* Bits for szOID_NETSCAPE_CERT_TYPE */
#define NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE 0x80
#define NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE 0x40
--
2.11.0

View File

@@ -0,0 +1 @@
Fixes: [41356] Recognize sha256/384/512 KEY OIDs

View File

@@ -0,0 +1,81 @@
From d9227039538ab84f28787ab5ca7fa74a8755740f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 04:10:12 +0100
Subject: d3d11: Implement CSSetShader for deferred contexts.
---
dlls/d3d11/device.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 4ee9d500802..0bb973e3933 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -40,6 +40,7 @@ enum deferred_cmd
DEFERRED_OMSETBLENDSTATE, /* blend_state_info */
DEFERRED_OMSETRENDERTARGETS, /* render_target_info */
+ DEFERRED_CSSETSHADER, /* cs_info */
DEFERRED_DSSETSHADER, /* ds_info */
DEFERRED_HSSETSHADER, /* hs_info */
DEFERRED_PSSETSHADER, /* ps_info */
@@ -120,6 +121,11 @@ struct deferred_call
} render_target_info;
struct
{
+ ID3D11ComputeShader *shader;
+ /* FIXME: add class instances */
+ } cs_info;
+ struct
+ {
ID3D11DomainShader *shader;
/* FIXME: add class instances */
} ds_info;
@@ -349,6 +355,12 @@ static void free_deferred_calls(struct list *commands)
ID3D11DepthStencilView_Release(call->render_target_info.depth_stencil);
break;
}
+ case DEFERRED_CSSETSHADER:
+ {
+ if (call->cs_info.shader)
+ ID3D11ComputeShader_Release(call->cs_info.shader);
+ break;
+ }
case DEFERRED_DSSETSHADER:
{
if (call->ds_info.shader)
@@ -491,6 +503,11 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->render_target_info.render_targets, call->render_target_info.depth_stencil);
break;
}
+ case DEFERRED_CSSETSHADER:
+ {
+ ID3D11DeviceContext_CSSetShader(iface, call->cs_info.shader, NULL, 0);
+ break;
+ }
case DEFERRED_DSSETSHADER:
{
ID3D11DeviceContext_DSSetShader(iface, call->ds_info.shader, NULL, 0);
@@ -3636,8 +3653,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetUnorderedAccessViews(I
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShader(ID3D11DeviceContext *iface,
ID3D11ComputeShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
{
- FIXME("iface %p, shader %p, class_instances %p, class_instance_count %u stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+
+ TRACE("iface %p, shader %p, class_instances %p, class_instance_count %u.\n",
iface, shader, class_instances, class_instance_count);
+
+ if (!(call = add_deferred_call(context, 0)))
+ return;
+
+ call->cmd = DEFERRED_CSSETSHADER;
+ if (shader) ID3D11ComputeShader_AddRef(shader);
+ call->cs_info.shader = shader;
}
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetSamplers(ID3D11DeviceContext *iface,
--
2.11.0

View File

@@ -0,0 +1,68 @@
From 56e9fa8ef7ccfd0d98e29bfac9ee44c08bb8e891 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 04:21:47 +0100
Subject: d3d11: Implement CSSetConstantBuffers for deferred contexts.
---
dlls/d3d11/device.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 0bb973e3933..38b407b22ee 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -52,6 +52,7 @@ enum deferred_cmd
DEFERRED_DSSETSAMPLERS, /* samplers_info */
DEFERRED_PSSETSAMPLERS, /* samplers_info */
+ DEFERRED_CSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_DSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_HSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_PSSETCONSTANTBUFFERS, /* constant_buffers_info */
@@ -266,7 +267,7 @@ static void add_deferred_set_samplers(struct d3d11_deferred_context *context, en
}
}
-/* for DEFERRED_DSSETCONSTANTBUFFERS, DEFERRED_HSSETCONSTANTBUFFERS,
+/* for DEFERRED_CSSETCONSTANTBUFFERS. DEFERRED_DSSETCONSTANTBUFFERS, DEFERRED_HSSETCONSTANTBUFFERS,
* DEFERRED_PSSETCONSTANTBUFFERS and DEFERRED_VSSETCONSTANTBUFFERS */
static void add_deferred_set_constant_buffers(struct d3d11_deferred_context *context, enum deferred_cmd cmd,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
@@ -405,6 +406,7 @@ static void free_deferred_calls(struct list *commands)
}
break;
}
+ case DEFERRED_CSSETCONSTANTBUFFERS:
case DEFERRED_DSSETCONSTANTBUFFERS:
case DEFERRED_HSSETCONSTANTBUFFERS:
case DEFERRED_PSSETCONSTANTBUFFERS:
@@ -552,6 +554,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->samplers_info.num_samplers, call->samplers_info.samplers);
break;
}
+ case DEFERRED_CSSETCONSTANTBUFFERS:
+ {
+ ID3D11DeviceContext_CSSetConstantBuffers(iface, call->constant_buffers_info.start_slot,
+ call->constant_buffers_info.num_buffers, call->constant_buffers_info.buffers);
+ break;
+ }
case DEFERRED_DSSETCONSTANTBUFFERS:
{
ID3D11DeviceContext_DSSetConstantBuffers(iface, call->constant_buffers_info.start_slot,
@@ -3677,8 +3685,12 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetSamplers(ID3D11DeviceC
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetConstantBuffers(ID3D11DeviceContext *iface,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
{
- FIXME("iface %p, start_slot %u, buffer_count %u, buffers %p stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+
+ TRACE("iface %p, start_slot %u, buffer_count %u, buffers %p.\n",
iface, start_slot, buffer_count, buffers);
+
+ add_deferred_set_constant_buffers(context, DEFERRED_CSSETCONSTANTBUFFERS, start_slot, buffer_count, buffers);
}
static void STDMETHODCALLTYPE d3d11_deferred_context_VSGetConstantBuffers(ID3D11DeviceContext *iface,
--
2.11.0

View File

@@ -0,0 +1,82 @@
From aab89808ea9387070c3ac1a1be56ac498538c80e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 04:29:10 +0100
Subject: d3d11: Implement Dispatch for deferred contexts.
---
dlls/d3d11/device.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 38b407b22ee..644728f178a 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -62,6 +62,7 @@ enum deferred_cmd
DEFERRED_DRAWINDEXEDINSTANCED, /* draw_indexed_inst_info */
DEFERRED_MAP, /* map_info */
+ DEFERRED_DISPATCH, /* dispatch_info */
DEFERRED_CLEARSTATE,
};
@@ -186,6 +187,12 @@ struct deferred_call
void *buffer;
UINT size;
} map_info;
+ struct
+ {
+ UINT count_x;
+ UINT count_y;
+ UINT count_z;
+ } dispatch_info;
};
};
@@ -429,6 +436,10 @@ static void free_deferred_calls(struct list *commands)
ID3D11Resource_Release(call->map_info.resource);
break;
}
+ case DEFERRED_DISPATCH:
+ {
+ break; /* nothing to do */
+ }
case DEFERRED_CLEARSTATE:
{
break; /* nothing to do */
@@ -614,6 +625,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
break;
}
+ case DEFERRED_DISPATCH:
+ {
+ ID3D11DeviceContext_Dispatch(iface, call->dispatch_info.count_x,
+ call->dispatch_info.count_y, call->dispatch_info.count_z);
+ break;
+ }
case DEFERRED_CLEARSTATE:
{
ID3D11DeviceContext_ClearState(iface);
@@ -3407,8 +3424,19 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstancedIndirect(ID3D1
static void STDMETHODCALLTYPE d3d11_deferred_context_Dispatch(ID3D11DeviceContext *iface,
UINT thread_group_count_x, UINT thread_group_count_y, UINT thread_group_count_z)
{
- FIXME("iface %p, thread_group_count_x %u, thread_group_count_y %u, thread_group_count_z %u stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+
+ TRACE("iface %p, thread_group_count_x %u, thread_group_count_y %u, thread_group_count_z %u.\n",
iface, thread_group_count_x, thread_group_count_y, thread_group_count_z);
+
+ if (!(call = add_deferred_call(context, 0)))
+ return;
+
+ call->cmd = DEFERRED_DISPATCH;
+ call->dispatch_info.count_x = thread_group_count_x;
+ call->dispatch_info.count_y = thread_group_count_y;
+ call->dispatch_info.count_z = thread_group_count_z;
}
static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11DeviceContext *iface,
--
2.11.0

View File

@@ -0,0 +1,97 @@
From a36710e9b8b7c3bef157b29baac3911c633f8e38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 04:48:56 +0100
Subject: d3d11: Implement CSSetUnorderedAccessViews for deferred contexts.
---
dlls/d3d11/device.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 644728f178a..8dd19910b7c 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -58,6 +58,8 @@ enum deferred_cmd
DEFERRED_PSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_VSSETCONSTANTBUFFERS, /* constant_buffers_info */
+ DEFERRED_CSSETUNORDEREDACCESSVIEWS, /* unordered_view */
+
DEFERRED_DRAWINDEXED, /* draw_indexed_info */
DEFERRED_DRAWINDEXEDINSTANCED, /* draw_indexed_inst_info */
@@ -166,6 +168,13 @@ struct deferred_call
} constant_buffers_info;
struct
{
+ UINT start_slot;
+ UINT num_views;
+ ID3D11UnorderedAccessView **views;
+ UINT *initial_counts;
+ } unordered_view;
+ struct
+ {
UINT count;
UINT start_index;
INT base_vertex;
@@ -426,6 +435,15 @@ static void free_deferred_calls(struct list *commands)
}
break;
}
+ case DEFERRED_CSSETUNORDEREDACCESSVIEWS:
+ {
+ for (i = 0; i < call->unordered_view.num_views; i++)
+ {
+ if (call->unordered_view.views[i])
+ ID3D11UnorderedAccessView_Release(call->unordered_view.views[i]);
+ }
+ break;
+ }
case DEFERRED_DRAWINDEXED:
case DEFERRED_DRAWINDEXEDINSTANCED:
{
@@ -595,6 +613,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->constant_buffers_info.num_buffers, call->constant_buffers_info.buffers);
break;
}
+ case DEFERRED_CSSETUNORDEREDACCESSVIEWS:
+ {
+ ID3D11DeviceContext_CSSetUnorderedAccessViews(iface, call->unordered_view.start_slot,
+ call->unordered_view.num_views, call->unordered_view.views, call->unordered_view.initial_counts);
+ break;
+ }
case DEFERRED_DRAWINDEXED:
{
ID3D11DeviceContext_DrawIndexed(iface, call->draw_indexed_info.count,
@@ -3682,8 +3706,27 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetUnorderedAccessViews(ID3D11DeviceContext *iface,
UINT start_slot, UINT view_count, ID3D11UnorderedAccessView *const *views, const UINT *initial_counts)
{
- FIXME("iface %p, start_slot %u, view_count %u, views %p, initial_counts %p stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+ int i;
+
+ TRACE("iface %p, start_slot %u, view_count %u, views %p, initial_counts %p.\n",
iface, start_slot, view_count, views, initial_counts);
+
+ if (!(call = add_deferred_call(context, view_count * (sizeof(*views) + sizeof(UINT)))))
+ return;
+
+ call->cmd = DEFERRED_CSSETUNORDEREDACCESSVIEWS;
+ call->unordered_view.start_slot = start_slot;
+ call->unordered_view.num_views = view_count;
+ call->unordered_view.views = (void *)(call + 1);
+ call->unordered_view.initial_counts = (void *)&call->unordered_view.views[view_count];
+ for (i = 0; i < view_count; i++)
+ {
+ if (views[i]) ID3D11UnorderedAccessView_AddRef(views[i]);
+ call->unordered_view.views[i] = views[i];
+ call->unordered_view.initial_counts[i] = initial_counts[i];
+ }
}
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShader(ID3D11DeviceContext *iface,
--
2.11.0

View File

@@ -0,0 +1,85 @@
From 8adc88c6d9ab48d4014486775fcff6d869ae44ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 05:06:12 +0100
Subject: d3d11: Implement ClearRenderTargetView for deferred contexts.
---
dlls/d3d11/device.c | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 8dd19910b7c..46dddbd4d6c 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -67,6 +67,7 @@ enum deferred_cmd
DEFERRED_DISPATCH, /* dispatch_info */
DEFERRED_CLEARSTATE,
+ DEFERRED_CLEARRENDERTARGETVIEW, /* clear_rtv_info */
};
struct deferred_call
@@ -202,6 +203,11 @@ struct deferred_call
UINT count_y;
UINT count_z;
} dispatch_info;
+ struct
+ {
+ ID3D11RenderTargetView *rtv;
+ float color[4];
+ } clear_rtv_info;
};
};
@@ -462,6 +468,12 @@ static void free_deferred_calls(struct list *commands)
{
break; /* nothing to do */
}
+ case DEFERRED_CLEARRENDERTARGETVIEW:
+ {
+ if (call->clear_rtv_info.rtv)
+ ID3D11RenderTargetView_Release(call->clear_rtv_info.rtv);
+ break;
+ }
default:
{
FIXME("Unimplemented command type %u\n", call->cmd);
@@ -660,6 +672,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
ID3D11DeviceContext_ClearState(iface);
break;
}
+ case DEFERRED_CLEARRENDERTARGETVIEW:
+ {
+ ID3D11DeviceContext_ClearRenderTargetView(iface, call->clear_rtv_info.rtv,
+ call->clear_rtv_info.color);
+ break;
+ }
default:
{
FIXME("Unimplemented command type %u\n", call->cmd);
@@ -3542,8 +3560,21 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CopyStructureCount(ID3D11De
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearRenderTargetView(ID3D11DeviceContext *iface,
ID3D11RenderTargetView *render_target_view, const float color_rgba[4])
{
- FIXME("iface %p, render_target_view %p, color_rgba %s stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+ int i;
+
+ TRACE("iface %p, render_target_view %p, color_rgba %s.\n",
iface, render_target_view, debug_float4(color_rgba));
+
+ if (!(call = add_deferred_call(context, 0)))
+ return;
+
+ call->cmd = DEFERRED_CLEARRENDERTARGETVIEW;
+ if (render_target_view) ID3D11RenderTargetView_AddRef(render_target_view);
+ call->clear_rtv_info.rtv = render_target_view;
+ for (i = 0; i < 4; i++)
+ call->clear_rtv_info.color[i] = color_rgba[i];
}
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearUnorderedAccessViewUint(ID3D11DeviceContext *iface,
--
2.11.0

View File

@@ -0,0 +1,76 @@
From de1e3912b0b481e70ab6a4f739e8b2441f741be7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 05:13:46 +0100
Subject: d3d11: Implement Draw for deferred contexts.
---
dlls/d3d11/device.c | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 46dddbd4d6c..1dfd6de7bde 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -60,6 +60,7 @@ enum deferred_cmd
DEFERRED_CSSETUNORDEREDACCESSVIEWS, /* unordered_view */
+ DEFERRED_DRAW, /* draw_info */
DEFERRED_DRAWINDEXED, /* draw_indexed_info */
DEFERRED_DRAWINDEXEDINSTANCED, /* draw_indexed_inst_info */
@@ -177,6 +178,11 @@ struct deferred_call
struct
{
UINT count;
+ UINT start;
+ } draw_info;
+ struct
+ {
+ UINT count;
UINT start_index;
INT base_vertex;
} draw_indexed_info;
@@ -450,6 +456,7 @@ static void free_deferred_calls(struct list *commands)
}
break;
}
+ case DEFERRED_DRAW:
case DEFERRED_DRAWINDEXED:
case DEFERRED_DRAWINDEXEDINSTANCED:
{
@@ -631,6 +638,11 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->unordered_view.num_views, call->unordered_view.views, call->unordered_view.initial_counts);
break;
}
+ case DEFERRED_DRAW:
+ {
+ ID3D11DeviceContext_Draw(iface, call->draw_info.count, call->draw_info.start);
+ break;
+ }
case DEFERRED_DRAWINDEXED:
{
ID3D11DeviceContext_DrawIndexed(iface, call->draw_indexed_info.count,
@@ -3090,8 +3102,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DrawIndexed(ID3D11DeviceCon
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
UINT vertex_count, UINT start_vertex_location)
{
- FIXME("iface %p, vertex_count %u, start_vertex_location %u stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+
+ TRACE("iface %p, vertex_count %u, start_vertex_location %u.\n",
iface, vertex_count, start_vertex_location);
+
+ if (!(call = add_deferred_call(context, 0)))
+ return;
+
+ call->cmd = DEFERRED_DRAW;
+ call->draw_info.count = vertex_count;
+ call->draw_info.start = start_vertex_location;
}
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
--
2.11.0

View File

@@ -0,0 +1,88 @@
From da527f6e90d4f3725882e7501199b0645e52685c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Jan 2017 05:29:10 +0100
Subject: d3d11: Implement ClearDepthStencilView for deferred contexts.
---
dlls/d3d11/device.c | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 1dfd6de7bde..83d97665ed5 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -69,6 +69,7 @@ enum deferred_cmd
DEFERRED_CLEARSTATE,
DEFERRED_CLEARRENDERTARGETVIEW, /* clear_rtv_info */
+ DEFERRED_CLEARDEPTHSTENCILVIEW, /* clear_depth_info */
};
struct deferred_call
@@ -214,6 +215,13 @@ struct deferred_call
ID3D11RenderTargetView *rtv;
float color[4];
} clear_rtv_info;
+ struct
+ {
+ ID3D11DepthStencilView *view;
+ UINT flags;
+ FLOAT depth;
+ UINT8 stencil;
+ } clear_depth_info;
};
};
@@ -481,6 +489,12 @@ static void free_deferred_calls(struct list *commands)
ID3D11RenderTargetView_Release(call->clear_rtv_info.rtv);
break;
}
+ case DEFERRED_CLEARDEPTHSTENCILVIEW:
+ {
+ if (call->clear_depth_info.view)
+ ID3D11DepthStencilView_Release(call->clear_depth_info.view);
+ break;
+ }
default:
{
FIXME("Unimplemented command type %u\n", call->cmd);
@@ -690,6 +704,13 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->clear_rtv_info.color);
break;
}
+ case DEFERRED_CLEARDEPTHSTENCILVIEW:
+ {
+ ID3D11DeviceContext_ClearDepthStencilView(iface, call->clear_depth_info.view,
+ call->clear_depth_info.flags, call->clear_depth_info.depth,
+ call->clear_depth_info.stencil);
+ break;
+ }
default:
{
FIXME("Unimplemented command type %u\n", call->cmd);
@@ -3616,8 +3637,21 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_ClearUnorderedAccessViewFlo
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearDepthStencilView(ID3D11DeviceContext *iface,
ID3D11DepthStencilView *depth_stencil_view, UINT flags, FLOAT depth, UINT8 stencil)
{
- FIXME("iface %p, depth_stencil_view %p, flags %#x, depth %.8e, stencil %u stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+ struct deferred_call *call;
+
+ TRACE("iface %p, depth_stencil_view %p, flags %#x, depth %.8e, stencil %u.\n",
iface, depth_stencil_view, flags, depth, stencil);
+
+ if (!(call = add_deferred_call(context, 0)))
+ return;
+
+ call->cmd = DEFERRED_CLEARDEPTHSTENCILVIEW;
+ if (depth_stencil_view) ID3D11DepthStencilView_AddRef(depth_stencil_view);
+ call->clear_depth_info.view = depth_stencil_view;
+ call->clear_depth_info.flags = flags;
+ call->clear_depth_info.depth = depth;
+ call->clear_depth_info.stencil = stencil;
}
static void STDMETHODCALLTYPE d3d11_deferred_context_GenerateMips(ID3D11DeviceContext *iface,
--
2.11.0

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