You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
36 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
29d851bf3a | ||
|
481488be9f | ||
|
74528271f3 | ||
|
06886567bc | ||
|
a12dca03ce | ||
|
f6d52a6a19 | ||
|
6ab46f2760 | ||
|
cc8133fd8c | ||
|
9392a75d90 | ||
|
91eac1310f | ||
|
0fb4e4b319 | ||
|
dbbf832f67 | ||
|
e6ff2b49ac | ||
|
e4754f827a | ||
|
e374d7a750 | ||
|
2e509b911f | ||
|
c8b29193db | ||
|
52f7df8325 | ||
|
25019ba42d | ||
|
72479040c5 | ||
|
8f474115cd | ||
|
4a6f3210c9 | ||
|
a6c14e35e7 | ||
|
db836be757 | ||
|
e7a0f0e60e | ||
|
26a06cd63b | ||
|
9ffe3e0eb6 | ||
|
ac69f4b5df | ||
|
93fc292115 | ||
|
b6f7d83896 | ||
|
fa1d5938f2 | ||
|
f93bdfd5fb | ||
|
cb587975ef | ||
|
819d0a394b | ||
|
bf7d655c80 | ||
|
428f6a06ad |
@@ -1 +0,0 @@
|
||||
Category: stable
|
@@ -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
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
Category: stable
|
||||
Depends: kernel32-BeingDebugged
|
||||
|
@@ -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
|
||||
|
@@ -0,0 +1 @@
|
||||
Fixes: [41682] Add stub for advapi32.LookupSecurityDescriptorPartsA/W
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [41579] AVIFileGetStream should set stream to NULL in case of an error
|
@@ -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;
|
||||
|
@@ -1,2 +1 @@
|
||||
Fixes: [26256] Support for setcap on wine-preloader
|
||||
Category: stable
|
||||
|
@@ -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
|
||||
|
1
patches/crypt32-SHA_OIDs/definition
Normal file
1
patches/crypt32-SHA_OIDs/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [41356] Recognize sha256/384/512 KEY OIDs
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
Reference in New Issue
Block a user