Compare commits

..

9 Commits

Author SHA1 Message Date
Sebastian Lackner
154a80f8be Release 2.10-3 (macOS preloader fixes). 2017-06-18 18:21:12 +02:00
Sebastian Lackner
dfdeb2e61a loader-OSX_Preloader: Add PAGEZERO section for wine-preloader executable.
For wine64-preloader we already do that, but apparently there are also kernel
versions which enforce a PAGEZERO section for 32-bit executables.

(cherry picked from commit 907dc4eae6)
2017-06-17 21:03:13 +02:00
Sebastian Lackner
abb1f3201c Release 2.10-2 (macOS preloader fixes). 2017-06-16 00:50:52 +02:00
Sebastian Lackner
0ef6e01258 loader-OSX_Preloader: Fall back to MAP_FIXED if address hint is ignored.
This should get rid of preloader warnings on old versions of macOS.
Thanks to Gijs Vermeulen for help with debugging and testing this patch.

Ideally, we would like to use vm_allocate, but since the preloader runs
very early during the startup of the process, we don't have all required
libc functions available. Also, we don't want to reimplement it ourself,
which would be very unreliable in practice.

For now, lets just use mincore() to check if there are any other pages
mapped within the area, and then fallback to MAP_FIXED.

(cherry picked from commit f254a73e66)
2017-06-15 18:52:12 +02:00
Sebastian Lackner
256e818da5 loader-OSX_Preloader: Temporarily map address ranges needed for Wine builtin DLLs.
(cherry picked from commit 463f2b02c9)
2017-06-15 05:31:20 +02:00
Sebastian Lackner
bc32032f02 loader-OSX_Preloader: Allocate pagezero for main wine binary.
This change should fix compatibility with old versions of macOS.
Thanks to Gijs Vermeulen for help with debugging and testing this patch.

Old versions of libsystem_c.dylib crash while running initializers when
the application does not contain a PAGEZERO section. This is probably
caused by an incorrect comparison against NULL instead of (void *)-1.

Unfortunately, when we just add a PAGEZERO section, we trigger the next
bug - no matter if we actually use the page at address (void *)0 or not,
it will not be used because the relocation code tries to find a memory
hole of size (highAddr - lowAddr) ~ 2GB.

We might be able to workaround this issue by manually reordering the
sections in the main executable, but for now lets just drop the fixed
image base. Please note that this introduces a risk of conflicts with
builtin DLLs, which will be resolved in the next patch.

(cherry picked from commit e9daff5bc8)
2017-06-15 05:31:05 +02:00
Sebastian Lackner
199b98a78b patchinstall.sh: Add workaround for mktemp on macOS <= 10.10.
(cherry picked from commit ecdf44fe29)
2017-06-15 05:30:50 +02:00
Sebastian Lackner
c0525850fc patchinstall.sh: Do not use 'readlink -f' to improve compatibility with macOS.
(cherry picked from commit 3a7c5ae711)
2017-06-15 05:30:33 +02:00
Sebastian Lackner
d4aa71ae9d loader-OSX_Preloader: Fix compile error with old SDK versions.
(cherry picked from commit 3fab2fbed2)
2017-06-15 05:30:13 +02:00
181 changed files with 4305 additions and 9729 deletions

View File

@@ -1,30 +0,0 @@
Contributing to Wine Staging
----------------------------
First of all, thank you for taking the time to contribute to this project.
### Reporting bugs
Since WineConf 2015 Wine Staging is an official part of WineHQ, which means you
can report problems directly at [bugs.winehq.org](https://bugs.winehq.org/).
Most of the time bugs found in Wine Staging also turn out to be present in the
development branch, so its recommended to open your bug in the "Wine" product,
unless you are sure its really "Wine Staging" specific. For bugs related to our
binary packages, please open a bug report in the "Packaging" product.
### Submitting patches
**IMPORTANT:** Please use [dev.wine-staging.com](https://dev.wine-staging.com/patches)
for patch submissions, we currently do not accept Pull requests on GitHub.
Wine Staging mainly concentrates on experimental features and patches which are
difficult to get into the development branch. If you have a very simple bug fix
including tests, there is usually no need to send it to Wine Staging. You can
directly contribute it to the
[development branch](http://wiki.winehq.org/SubmittingPatches). However, if you
already tried that without success, or are working on such a complex area that
you do not really think its ready for inclusion, you might want to submit it to
our Staging tree. Please open a patch submission request on
[dev.wine-staging.com](https://dev.wine-staging.com/patches) including the patch.
More information is also available in our
[Wiki](https://wiki.winehq.org/Wine-Staging_Patches).

View File

@@ -24,6 +24,16 @@ other wine-specific programs like `winecfg`. To learn more about how to use
Wine Staging, please take a look at the
[usage instructions](https://github.com/wine-compholio/wine-staging/wiki/Usage).
Reporting bugs
--------------
Since WineConf 2015 Wine Staging is an official part of WineHQ, which means you
can report problems directly at https://bugs.winehq.org/. Most of the time bugs
found in Wine Staging also turn out to be present in the development branch, so
its recommended to open your bug in the "Wine" product, unless you are sure its
really "Wine Staging" specific. For problems with our binary packages, please
also open a bug report there.
Building
--------
@@ -78,5 +88,14 @@ in our [Wiki](https://github.com/wine-compholio/wine-staging/wiki/Packaging).
Contributing
------------
Please see CONTRIBUTING.md for more information about contributing to Wine
Staging.
Wine Staging mainly concentrates on experimental features and patches which are
difficult to get into the development branch. If you have a very simple bug fix
including tests, there is usually no need to send it to Wine Staging. You can
directly contribute it to the
[development branch](http://wiki.winehq.org/SubmittingPatches). However, if you
already tried that without success, or are working on such a complex area that
you do not really think its ready for inclusion, you might want to submit it to
our Staging tree. Please open a patch submission request on
[bugs.wine-staging.com](https://bugs.wine-staging.com/) including the patch.
More information is also available in our
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Contributing).

View File

@@ -0,0 +1,37 @@
From 9d0f651d9cb5c3ae68810e37dd6030373c7aeab6 Mon Sep 17 00:00:00 2001
From: Nils Kuhnhenn <kuhnhenn.nils@gmail.com>
Date: Wed, 24 Aug 2016 19:56:00 +0200
Subject: oleaut32: Use variable with the correct type in LIST_FOR_EACH_ENTRY_SAFE macro.
---
dlls/oleaut32/typelib.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index b9318fba423..5a6dad496ed 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -4830,10 +4830,9 @@ static ULONG WINAPI ITypeLib2_fnRelease( ITypeLib2 *iface)
if (!ref)
{
TLBImpLib *pImpLib, *pImpLibNext;
- TLBRefType *ref_type;
+ TLBRefType *ref_type, *ref_type_next;
TLBString *tlbstr, *tlbstr_next;
TLBGuid *tlbguid, *tlbguid_next;
- void *cursor2;
int i;
/* remove cache entry */
@@ -4883,7 +4882,7 @@ static ULONG WINAPI ITypeLib2_fnRelease( ITypeLib2 *iface)
heap_free(pImpLib);
}
- LIST_FOR_EACH_ENTRY_SAFE(ref_type, cursor2, &This->ref_list, TLBRefType, entry)
+ LIST_FOR_EACH_ENTRY_SAFE(ref_type, ref_type_next, &This->ref_list, TLBRefType, entry)
{
list_remove(&ref_type->entry);
heap_free(ref_type);
--
2.13.1

View File

@@ -0,0 +1,24 @@
From 380543910f8912374a13b9773738e018bd638341 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 11 Jun 2017 02:42:47 +0200
Subject: gdiplus: Initialize containers list in GdipCloneImage.
---
dlls/gdiplus/image.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index ce2194317ff..b28606e916c 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -1339,6 +1339,7 @@ GpStatus WINGDIPAPI GdipCloneImage(GpImage *image, GpImage **cloneImage)
result->unit = metafile->unit;
result->metafile_type = metafile->metafile_type;
result->hemf = CopyEnhMetaFileW(metafile->hemf, NULL);
+ list_init(&result->containers);
if (!result->hemf)
{
--
2.13.1

View File

@@ -1,14 +1,15 @@
From cd34de81164087b3593d0ec9416e2f157a5df40d Mon Sep 17 00:00:00 2001
From b6b1e5da04ed867251253410e37d412109a4cec2 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 8 Aug 2014 19:33:14 -0600
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
---
dlls/d3d9/tests/visual.c | 2 +-
dlls/netapi32/netapi32.c | 2 +-
dlls/wined3d/glsl_shader.c | 2 +-
tools/makedep.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
dlls/d3d9/tests/visual.c | 2 +-
dlls/netapi32/netapi32.c | 2 +-
dlls/winealsa.drv/mmdevdrv.c | 2 +-
dlls/wined3d/glsl_shader.c | 2 +-
tools/makedep.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index c8a6a1fa5a8..0261d3708e6 100644
@@ -36,11 +37,24 @@ index 278d4528b01..1c5f110b828 100644
NET_API_STATUS status;
if (servername && !(server = strdup_unixcp( servername ))) return ERROR_OUTOFMEMORY;
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index 2ecb111e218..b285705509c 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -359,7 +359,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
{
WCHAR *ret;
const WCHAR *prefix;
- DWORD len_wchars = 0, chunk1_len, copied = 0, prefix_len;
+ DWORD len_wchars = 0, chunk1_len = 0, copied = 0, prefix_len;
static const WCHAR dashW[] = {' ','-',' ',0};
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index f96f48d97d1..8fe3318cd78 100644
index ce960853362..f4275d8dd48 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -9721,7 +9721,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
@@ -9316,7 +9316,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
GLuint ds_id = 0;
GLuint gs_id = 0;
GLuint ps_id = 0;
@@ -50,7 +64,7 @@ index f96f48d97d1..8fe3318cd78 100644
struct wined3d_string_buffer *tmp_name;
diff --git a/tools/makedep.c b/tools/makedep.c
index 296356b0a57..5a2873b56f1 100644
index add722f80a9..24b06bbfcb2 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1608,7 +1608,7 @@ static const char *get_make_variable( const struct makefile *make, const char *n
@@ -63,5 +77,5 @@ index 296356b0a57..5a2873b56f1 100644
var = get_make_variable( make, name );
if (!var) return NULL;
--
2.13.1
2.12.2

View File

@@ -1,25 +0,0 @@
From 814a4e7a4cad942e284a4828927dd0b67938af33 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 2 Jul 2017 22:32:45 +0200
Subject: wsdapi: Avoid implicit cast of interface pointer.
---
dlls/wsdapi/msgparams.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/wsdapi/msgparams.c b/dlls/wsdapi/msgparams.c
index a7a2f0a73b3..47a77138709 100644
--- a/dlls/wsdapi/msgparams.c
+++ b/dlls/wsdapi/msgparams.c
@@ -45,7 +45,7 @@ static inline IWSDMessageParametersImpl *impl_from_IWSDMessageParameters(IWSDMes
static inline IWSDUdpMessageParametersImpl *impl_from_IWSDUdpMessageParameters(IWSDUdpMessageParameters *iface)
{
- return CONTAINING_RECORD(iface, IWSDUdpMessageParametersImpl, base.IWSDMessageParameters_iface);
+ return CONTAINING_RECORD((IWSDMessageParameters *)iface, IWSDUdpMessageParametersImpl, base.IWSDMessageParameters_iface);
}
/* IWSDMessageParameters implementation */
--
2.13.1

View File

@@ -1,4 +1,4 @@
From fcefc5661656de44d02fed0431b4a61fa618b663 Mon Sep 17 00:00:00 2001
From bee5e0baac722c66ad8c1034a65a2cecfe74716e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:50:06 +0100
Subject: advapi32: Implement LsaLookupPrivilegeName.
@@ -6,13 +6,13 @@ Subject: advapi32: Implement LsaLookupPrivilegeName.
---
dlls/advapi32/advapi32.spec | 2 +-
dlls/advapi32/advapi32_misc.h | 2 ++
dlls/advapi32/lsa.c | 39 +++++++++++++++++++++++++++++++++++++++
dlls/advapi32/lsa.c | 38 ++++++++++++++++++++++++++++++++++++++
dlls/advapi32/security.c | 27 ++++++++++++++++++---------
include/ntsecapi.h | 1 +
5 files changed, 61 insertions(+), 10 deletions(-)
5 files changed, 60 insertions(+), 10 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index d5503490a0..709a385967 100644
index 078bb8fc25..124f527282 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -469,7 +469,7 @@
@@ -36,10 +36,10 @@ index d116ecb836..ecb07f635a 100644
+
#endif /* __WINE_ADVAPI32MISC_H */
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 3da6d19b82..af5f9dd46d 100644
index 479201bfc1..ceb3b05c05 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -973,3 +973,42 @@ NTSTATUS WINAPI LsaUnregisterPolicyChangeNotification(
@@ -973,3 +973,41 @@ NTSTATUS WINAPI LsaUnregisterPolicyChangeNotification(
FIXME("(%d,%p) stub\n", class, event);
return STATUS_SUCCESS;
}
@@ -67,8 +67,7 @@ index 3da6d19b82..af5f9dd46d 100644
+
+ if (lpLuid->HighPart ||
+ (lpLuid->LowPart < SE_MIN_WELL_KNOWN_PRIVILEGE ||
+ lpLuid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE ||
+ !WellKnownPrivNames[lpLuid->LowPart]))
+ lpLuid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE))
+ return STATUS_NO_SUCH_PRIVILEGE;
+
+ priv_size = (strlenW(WellKnownPrivNames[lpLuid->LowPart]) + 1) * sizeof(WCHAR);
@@ -159,5 +158,5 @@ index 2bb3d312e4..0bf0eca43e 100644
ULONG WINAPI LsaNtStatusToWinError(NTSTATUS);
NTSTATUS WINAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE);
--
2.13.1
2.11.0

View File

@@ -1 +1 @@
Fixes: [43316] Add LsaLookupPrivilege[Display]Name stubs
Fixes: Add LsaLookupPrivilege[Display]Name stubs

View File

@@ -1,4 +1,4 @@
From 09d62cfc4fa999eacc89af2ad414810e22c910a9 Mon Sep 17 00:00:00 2001
From 63082c3863d8be466ed14f532653ddf35e40328a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 5 May 2017 00:18:50 +0200
Subject: advapi32/tests: Add basic tests for BuildSecurityDescriptor.
@@ -8,11 +8,11 @@ Subject: advapi32/tests: Add basic tests for BuildSecurityDescriptor.
1 file changed, 39 insertions(+)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index ca5edffae5..db5a0f934c 100644
index d6ea3a19fad..c591f7b6e5f 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -7217,6 +7217,44 @@ static void test_GetExplicitEntriesFromAclW(void)
HeapFree(GetProcessHeap(), 0, old_acl);
@@ -7489,6 +7489,44 @@ static void test_child_token_sd(void)
HeapFree(GetProcessHeap(), 0, sd);
}
+static void test_BuildSecurityDescriptorW(void)
@@ -56,14 +56,14 @@ index ca5edffae5..db5a0f934c 100644
START_TEST(security)
{
init();
@@ -7271,6 +7309,7 @@ START_TEST(security)
@@ -7542,6 +7580,7 @@ START_TEST(security)
test_pseudo_tokens();
test_maximum_allowed();
test_token_label();
test_GetExplicitEntriesFromAclW();
+ test_BuildSecurityDescriptorW();
/* Must be the last test, modifies process token */
/* must be the last test, modifies process token */
test_token_security_descriptor();
--
2.13.1
2.12.2

View File

@@ -1,2 +1,2 @@
Fixes: Initial implementation of advapi32.BuildSecurityDescriptorW
Depends: advapi32-GetExplicitEntriesFromAclW
Depends: server-LABEL_SECURITY_INFORMATION

View File

@@ -1,4 +1,4 @@
From 510d9f43f441bc3a9723aabfd2c1cdc8737d6dcc Mon Sep 17 00:00:00 2001
From b4469d7a12637ef2b57df3f6aebbe65c9b52ef57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 28 Aug 2016 21:56:41 +0200
Subject: advapi32: Implement GetExplicitEntriesFromAclW.
@@ -9,10 +9,10 @@ Subject: advapi32: Implement GetExplicitEntriesFromAclW.
2 files changed, 221 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index e36792cff4..b305947347 100644
index 7e41c0a7361..ccd0bf64cab 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -4205,8 +4205,85 @@ DWORD WINAPI GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntr
@@ -4202,8 +4202,85 @@ DWORD WINAPI GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntr
DWORD WINAPI GetExplicitEntriesFromAclW( PACL pacl, PULONG pcCountOfExplicitEntries,
PEXPLICIT_ACCESSW* pListOfExplicitEntries)
{
@@ -101,10 +101,10 @@ index e36792cff4..b305947347 100644
/******************************************************************************
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 3c68205922..ca5edffae5 100644
index c31dfbeace3..23cbff58117 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -134,6 +134,7 @@ static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
@@ -133,6 +133,7 @@ static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
static void (WINAPI *pRtlInitAnsiString)(PANSI_STRING,PCSZ);
static NTSTATUS (WINAPI *pRtlFreeUnicodeString)(PUNICODE_STRING);
static PSID_IDENTIFIER_AUTHORITY (WINAPI *pGetSidIdentifierAuthority)(PSID);
@@ -112,16 +112,16 @@ index 3c68205922..ca5edffae5 100644
static HMODULE hmod;
static int myARGC;
@@ -230,6 +231,7 @@ static void init(void)
@@ -227,6 +228,7 @@ static void init(void)
pGetAce = (void *)GetProcAddress(hmod, "GetAce");
pGetWindowsAccountDomainSid = (void *)GetProcAddress(hmod, "GetWindowsAccountDomainSid");
pGetSidIdentifierAuthority = (void *)GetProcAddress(hmod, "GetSidIdentifierAuthority");
pDuplicateTokenEx = (void *)GetProcAddress(hmod, "DuplicateTokenEx");
+ pGetExplicitEntriesFromAclW = (void *)GetProcAddress(hmod, "GetExplicitEntriesFromAclW");
myARGC = winetest_get_mainargs( &myARGV );
}
@@ -7076,6 +7078,145 @@ static void test_child_token_sd(void)
HeapFree(GetProcessHeap(), 0, sd);
@@ -6451,6 +6453,145 @@ static void test_maximum_allowed(void)
CloseHandle(handle);
}
+static void test_GetExplicitEntriesFromAclW(void)
@@ -266,14 +266,12 @@ index 3c68205922..ca5edffae5 100644
START_TEST(security)
{
init();
@@ -7129,6 +7270,7 @@ START_TEST(security)
@@ -6499,4 +6640,5 @@ START_TEST(security)
test_GetSidIdentifierAuthority();
test_pseudo_tokens();
test_maximum_allowed();
test_token_label();
+ test_GetExplicitEntriesFromAclW();
/* Must be the last test, modifies process token */
test_token_security_descriptor();
}
--
2.13.1
2.11.0

View File

@@ -1,4 +1,4 @@
From 393f8906d8b26414fb4fc89c692cb5247be6b4c2 Mon Sep 17 00:00:00 2001
From 13a60cc5ea59cc2f18ac19888fe51628f9f0774a Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 16 Dec 2016 13:23:15 +0800
Subject: advapi32/tests: Add a test that compares a well-known SID to a SID
@@ -9,7 +9,7 @@ Subject: advapi32/tests: Add a test that compares a well-known SID to a SID
1 file changed, 92 insertions(+), 38 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index dfe2f871d42..808547ddbc0 100644
index 18f4e04..4e1f53b 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -2,7 +2,7 @@
@@ -36,7 +36,7 @@ index dfe2f871d42..808547ddbc0 100644
#define SID_SLOTS 4
static char debugsid_str[SID_SLOTS][256];
static int debugsid_index = 0;
@@ -174,12 +166,6 @@ static const char* debugstr_sid(PSID sid)
@@ -175,12 +167,6 @@ static const char* debugstr_sid(PSID sid)
return res;
}
@@ -135,7 +135,7 @@ index dfe2f871d42..808547ddbc0 100644
- LPSTR str = NULL;
+ LPSTR str;
if( !pConvertStringSidToSidA )
if( !pConvertSidToStringSidA || !pConvertStringSidToSidA )
{
@@ -402,7 +428,7 @@ static void test_sid(void)
}
@@ -167,7 +167,7 @@ index dfe2f871d42..808547ddbc0 100644
if (r)
{
- if ((winetest_debug > 1) && (ConvertSidToStringSidA(psid, &temp)))
- if ((winetest_debug > 1) && (pConvertSidToStringSidA(psid, &temp)))
+ char buf[SECURITY_MAX_SID_SIZE];
+ char *sid_string, *well_known_sid_string;
+ DWORD n, size;
@@ -182,7 +182,7 @@ index dfe2f871d42..808547ddbc0 100644
+ *GetSidSubAuthority(psid, n) = 0;
}
+
+ r = ConvertSidToStringSidA(psid, &sid_string);
+ r = pConvertSidToStringSidA(psid, &sid_string);
+ ok(r, "%s: ConvertSidToStringSid error %u\n", strsid_table[i].str, GetLastError());
+ if (winetest_debug > 1)
+ trace("%s => %s\n", strsid_table[i].str, sid_string);
@@ -191,7 +191,7 @@ index dfe2f871d42..808547ddbc0 100644
+ r = pCreateWellKnownSid(strsid_table[i].sid_type, domain_sid, buf, &size);
+ ok(r, "%u: CreateWellKnownSid(%u) error %u\n", i, strsid_table[i].sid_type, GetLastError());
+
+ r = ConvertSidToStringSidA(buf, &well_known_sid_string);
+ r = pConvertSidToStringSidA(buf, &well_known_sid_string);
+ ok(r, "%u: ConvertSidToStringSi(%u) error %u\n", i, strsid_table[i].sid_type, GetLastError());
+ if (winetest_debug > 1)
+ trace("%u => %s\n", strsid_table[i].sid_type, well_known_sid_string);
@@ -214,7 +214,7 @@ index dfe2f871d42..808547ddbc0 100644
static void test_trustee(void)
@@ -2288,7 +2342,7 @@ static void test_LookupAccountSid(void)
if (pCreateWellKnownSid)
if (pCreateWellKnownSid && pConvertSidToStringSidA)
{
trace("Well Known SIDs:\n");
- for (i = 0; i <= 60; i++)
@@ -223,5 +223,5 @@ index dfe2f871d42..808547ddbc0 100644
size = SECURITY_MAX_SID_SIZE;
if (pCreateWellKnownSid(i, NULL, &max_sid.sid, &size))
--
2.13.1
2.9.0

View File

@@ -1,4 +1,4 @@
From 3981c1e27bd2b871761ad5a627c99e0fca17a8ac Mon Sep 17 00:00:00 2001
From bfbe1cfd28797365a7341add7a330568b3846e89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 17:07:35 +0100
Subject: ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for
@@ -15,20 +15,20 @@ Subject: ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for
create mode 100644 dlls/ext-ms-win-xaml-pal-l1-1-0/main.c
diff --git a/configure.ac b/configure.ac
index 8bd76710a37..1f78aea5ce0 100644
index 670c2fc..8e44524 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3114,6 +3114,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
@@ -3025,6 +3025,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-rgn-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dc-access-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-sysparams-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-credui-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-cryptui-l1-1-0)
+WINE_CONFIG_DLL(ext-ms-win-xaml-pal-l1-1-0)
WINE_CONFIG_DLL(faultrep,,[implib])
WINE_CONFIG_TEST(dlls/faultrep/tests)
WINE_CONFIG_DLL(fltlib)
diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in b/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in
new file mode 100644
index 00000000000..6382d85272b
index 0000000..6382d85
--- /dev/null
+++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in
@@ -0,0 +1,4 @@
@@ -38,7 +38,7 @@ index 00000000000..6382d85272b
+ main.c
diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec b/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec
new file mode 100644
index 00000000000..c167f5e753e
index 0000000..c167f5e
--- /dev/null
+++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec
@@ -0,0 +1,6 @@
@@ -50,7 +50,7 @@ index 00000000000..c167f5e753e
+@ stub XamlPalUninitialize
diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c b/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c
new file mode 100644
index 00000000000..3e282758f41
index 0000000..3e28275
--- /dev/null
+++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c
@@ -0,0 +1,35 @@
@@ -90,5 +90,5 @@ index 00000000000..3e282758f41
+ return TRUE;
+}
--
2.13.1
2.9.0

View File

@@ -1,4 +1,4 @@
From 1d6b09ecb94a11bef9142a975b1d2053696193c4 Mon Sep 17 00:00:00 2001
From 703b9bd81221bd985ec79697e035e60a6fbcbc6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 21:00:39 +0100
Subject: ext-ms-win-ntuser-mouse-l1-1-0: Add dll.
@@ -13,12 +13,12 @@ Subject: ext-ms-win-ntuser-mouse-l1-1-0: Add dll.
create mode 100644 dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index dd536e88742..6fa34f04129 100644
index c5d7a4e..377d146 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3105,6 +3105,7 @@ WINE_CONFIG_DLL(ext-ms-win-gdi-render-l1-1-0)
@@ -3020,6 +3020,7 @@ WINE_CONFIG_DLL(ext-ms-win-gdi-draw-l1-1-1)
WINE_CONFIG_DLL(ext-ms-win-gdi-render-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-kernel32-package-current-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-kernel32-package-l1-1-1)
WINE_CONFIG_DLL(ext-ms-win-ntuser-message-l1-1-1)
+WINE_CONFIG_DLL(ext-ms-win-ntuser-mouse-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-ntuser-private-l1-1-1)
@@ -26,14 +26,14 @@ index dd536e88742..6fa34f04129 100644
WINE_CONFIG_DLL(ext-ms-win-ntuser-uicontext-ext-l1-1-0)
diff --git a/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in
new file mode 100644
index 00000000000..c408dbbe052
index 0000000..c408dbb
--- /dev/null
+++ b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = ext-ms-win-ntuser-mouse-l1-1-0.dll
diff --git a/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
new file mode 100644
index 00000000000..22128a256f1
index 0000000..22128a2
--- /dev/null
+++ b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
@@ -0,0 +1,5 @@
@@ -43,10 +43,10 @@ index 00000000000..22128a256f1
+@ stdcall SetCapture(long) user32.SetCapture
+@ stdcall TrackMouseEvent(ptr) user32.TrackMouseEvent
diff --git a/tools/make_specfiles b/tools/make_specfiles
index c84686b111b..7e2a921ed18 100755
index 45fa346..576dc5f 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -330,6 +330,7 @@ my @dll_groups =
@@ -286,6 +286,7 @@ my @dll_groups =
"api-ms-win-ntuser-dc-access-l1-1-0",
"api-ms-win-rtcore-ntuser-private-l1-1-0",
"ext-ms-win-ntuser-message-l1-1-1",
@@ -55,5 +55,5 @@ index c84686b111b..7e2a921ed18 100755
"ext-ms-win-ntuser-rectangle-ext-l1-1-0",
"ext-ms-win-ntuser-uicontext-ext-l1-1-0",
--
2.13.1
2.9.0

View File

@@ -1,4 +1,4 @@
From 8ac935e746234726007a479f7d351405a53b932d Mon Sep 17 00:00:00 2001
From bc9d6818548e009b387d32677e19d56018a9f59c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 21:02:52 +0100
Subject: ext-ms-win-uxtheme-themes-l1-1-0: Add dll.
@@ -13,27 +13,27 @@ Subject: ext-ms-win-uxtheme-themes-l1-1-0: Add dll.
create mode 100644 dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index 6fa34f04129..fa7423fb29b 100644
index 377d146..be65d14 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3119,6 +3119,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
@@ -3030,6 +3030,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-rgn-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dc-access-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-sysparams-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-credui-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-cryptui-l1-1-0)
+WINE_CONFIG_DLL(ext-ms-win-uxtheme-themes-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-xaml-pal-l1-1-0)
WINE_CONFIG_DLL(faultrep,,[implib])
WINE_CONFIG_TEST(dlls/faultrep/tests)
diff --git a/dlls/ext-ms-win-uxtheme-themes-l1-1-0/Makefile.in b/dlls/ext-ms-win-uxtheme-themes-l1-1-0/Makefile.in
new file mode 100644
index 00000000000..576b6f69b41
index 0000000..576b6f6
--- /dev/null
+++ b/dlls/ext-ms-win-uxtheme-themes-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = ext-ms-win-uxtheme-themes-l1-1-0.dll
diff --git a/dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec b/dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec
new file mode 100644
index 00000000000..0a96983936d
index 0000000..0a96983
--- /dev/null
+++ b/dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec
@@ -0,0 +1,24 @@
@@ -62,10 +62,10 @@ index 00000000000..0a96983936d
+@ stdcall OpenThemeDataEx(ptr wstr long) uxtheme.OpenThemeDataEx
+@ stdcall SetWindowTheme(ptr wstr wstr) uxtheme.SetWindowTheme
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 7e2a921ed18..1bd5c68f4ec 100755
index 576dc5f..1dde434 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -382,6 +382,10 @@ my @dll_groups =
@@ -329,6 +329,10 @@ my @dll_groups =
"api-ms-win-core-winrt-string-l1-1-0",
],
[
@@ -77,5 +77,5 @@ index 7e2a921ed18..1bd5c68f4ec 100755
"irprops.cpl",
],
--
2.13.1
2.9.0

View File

@@ -1,4 +1,4 @@
From 6ea995be80a3f9ed89f1aad8a246bdd7923c42f3 Mon Sep 17 00:00:00 2001
From 6c31a75359f023d3152378144efdee5f34078147 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 21:06:59 +0100
Subject: ext-ms-win-rtcore-ntuser-syscolors-l1-1-0: Add dll.
@@ -13,37 +13,37 @@ Subject: ext-ms-win-rtcore-ntuser-syscolors-l1-1-0: Add dll.
create mode 100644 dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index 99ef34fdda5..cb28b8af0ce 100644
index e865969..4e7869f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3117,6 +3117,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-object-l1-1-0)
@@ -3030,6 +3030,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-object-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-rgn-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dc-access-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
+WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-syscolors-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-sysparams-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-credui-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-security-cryptui-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-uxtheme-themes-l1-1-0)
WINE_CONFIG_DLL(ext-ms-win-xaml-pal-l1-1-0)
diff --git a/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in b/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in
new file mode 100644
index 00000000000..3e6b6e8f0e7
index 0000000..3e6b6e8
--- /dev/null
+++ b/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.dll
diff --git a/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec b/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec
new file mode 100644
index 00000000000..626c778c49f
index 0000000..626c778
--- /dev/null
+++ b/dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec
@@ -0,0 +1,2 @@
+@ stdcall GetSysColor(long) user32.GetSysColor
+@ stdcall SetSysColors(long ptr ptr) user32.SetSysColors
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 48d32b83629..556355234b3 100755
index 40129d0..1230505 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -339,6 +339,7 @@ my @dll_groups =
@@ -294,6 +294,7 @@ my @dll_groups =
"ext-ms-win-ntuser-window-l1-1-1",
"ext-ms-win-rtcore-ntuser-dc-access-l1-1-0",
"ext-ms-win-rtcore-ntuser-dpi-l1-1-0",
@@ -52,5 +52,5 @@ index 48d32b83629..556355234b3 100755
],
[
--
2.13.1
2.9.0

View File

@@ -1,81 +0,0 @@
From 848ac26c5b1e6551639fbef1a03e93ca14d934a2 Mon Sep 17 00:00:00 2001
From: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Date: Fri, 7 Jul 2017 11:01:07 +0300
Subject: d3d11: Implement GSSetShader 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 8642bf50fb1..98aa5ef6a77 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -42,6 +42,7 @@ enum deferred_cmd
DEFERRED_CSSETSHADER, /* cs_info */
DEFERRED_DSSETSHADER, /* ds_info */
+ DEFERRED_GSSETSHADER, /* gs_info */
DEFERRED_HSSETSHADER, /* hs_info */
DEFERRED_PSSETSHADER, /* ps_info */
DEFERRED_VSSETSHADER, /* vs_info */
@@ -138,6 +139,11 @@ struct deferred_call
} ds_info;
struct
{
+ ID3D11GeometryShader *shader;
+ /* FIXME: add class instances */
+ } gs_info;
+ struct
+ {
ID3D11HullShader *shader;
/* FIXME: add class instances */
} hs_info;
@@ -404,6 +410,12 @@ static void free_deferred_calls(struct list *commands)
ID3D11DomainShader_Release(call->ds_info.shader);
break;
}
+ case DEFERRED_GSSETSHADER:
+ {
+ if (call->gs_info.shader)
+ ID3D11GeometryShader_Release(call->gs_info.shader);
+ break;
+ }
case DEFERRED_HSSETSHADER:
{
if (call->hs_info.shader)
@@ -577,6 +589,11 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
ID3D11DeviceContext_DSSetShader(iface, call->ds_info.shader, NULL, 0);
break;
}
+ case DEFERRED_GSSETSHADER:
+ {
+ ID3D11DeviceContext_GSSetShader(iface, call->gs_info.shader, NULL, 0);
+ break;
+ }
case DEFERRED_HSSETSHADER:
{
ID3D11DeviceContext_HSSetShader(iface, call->hs_info.shader, NULL, 0);
@@ -3875,8 +3892,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetConstantBuffers(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceContext *iface,
ID3D11GeometryShader *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_GSSETSHADER;
+ if (shader) ID3D11GeometryShader_AddRef(shader);
+ call->gs_info.shader = shader;
}
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
--
2.13.1

View File

@@ -1,70 +0,0 @@
From 4e7076c5cc9806ce0e0218588ea587cfe3db8951 Mon Sep 17 00:00:00 2001
From: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Date: Fri, 7 Jul 2017 11:04:41 +0300
Subject: d3d11: Implement GSSetConstantBuffers for deferred contexts.
---
dlls/d3d11/device.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 98aa5ef6a77..014f39f74c1 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -55,6 +55,7 @@ enum deferred_cmd
DEFERRED_CSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_DSSETCONSTANTBUFFERS, /* constant_buffers_info */
+ DEFERRED_GSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_HSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_PSSETCONSTANTBUFFERS, /* constant_buffers_info */
DEFERRED_VSSETCONSTANTBUFFERS, /* constant_buffers_info */
@@ -309,8 +310,8 @@ static void add_deferred_set_samplers(struct d3d11_deferred_context *context, en
}
}
-/* for DEFERRED_CSSETCONSTANTBUFFERS. DEFERRED_DSSETCONSTANTBUFFERS, DEFERRED_HSSETCONSTANTBUFFERS,
- * DEFERRED_PSSETCONSTANTBUFFERS and DEFERRED_VSSETCONSTANTBUFFERS */
+/* for DEFERRED_CSSETCONSTANTBUFFERS. DEFERRED_DSSETCONSTANTBUFFERS, DEFERRED_GSSETCONSTANTBUFFERS,
+ * 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)
{
@@ -456,6 +457,7 @@ static void free_deferred_calls(struct list *commands)
}
case DEFERRED_CSSETCONSTANTBUFFERS:
case DEFERRED_DSSETCONSTANTBUFFERS:
+ case DEFERRED_GSSETCONSTANTBUFFERS:
case DEFERRED_HSSETCONSTANTBUFFERS:
case DEFERRED_PSSETCONSTANTBUFFERS:
case DEFERRED_VSSETCONSTANTBUFFERS:
@@ -645,6 +647,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_GSSETCONSTANTBUFFERS:
+ {
+ ID3D11DeviceContext_GSSetConstantBuffers(iface, call->constant_buffers_info.start_slot,
+ call->constant_buffers_info.num_buffers, call->constant_buffers_info.buffers);
+ break;
+ }
case DEFERRED_HSSETCONSTANTBUFFERS:
{
ID3D11DeviceContext_HSSetConstantBuffers(iface, call->constant_buffers_info.start_slot,
@@ -3885,8 +3893,12 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceC
static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetConstantBuffers(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_GSSETCONSTANTBUFFERS, start_slot, buffer_count, buffers);
}
static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceContext *iface,
--
2.13.1

View File

@@ -1,68 +0,0 @@
From bde4fe1e674ff4dc32e9417b3ef020eb96cf6700 Mon Sep 17 00:00:00 2001
From: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Date: Fri, 7 Jul 2017 11:07:15 +0300
Subject: d3d11: Implement CSSetShaderResources 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 014f39f74c1..ae92b190de5 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -47,6 +47,7 @@ enum deferred_cmd
DEFERRED_PSSETSHADER, /* ps_info */
DEFERRED_VSSETSHADER, /* vs_info */
+ DEFERRED_CSSETSHADERRESOURCES, /* res_info */
DEFERRED_DSSETSHADERRESOURCES, /* res_info */
DEFERRED_PSSETSHADERRESOURCES, /* res_info */
@@ -268,7 +269,7 @@ static struct deferred_call *add_deferred_call(struct d3d11_deferred_context *co
return call;
}
-/* for DEFERRED_DSSETSHADERRESOURCES and DEFERRED_PSSETSHADERRESOURCES */
+/* for DEFERRED_CSSETSHADERRESOURCES, DEFERRED_DSSETSHADERRESOURCES and DEFERRED_PSSETSHADERRESOURCES */
static void add_deferred_set_shader_resources(struct d3d11_deferred_context *context, enum deferred_cmd cmd,
UINT start_slot, UINT view_count, ID3D11ShaderResourceView *const *views)
{
@@ -435,6 +436,7 @@ static void free_deferred_calls(struct list *commands)
ID3D11VertexShader_Release(call->vs_info.shader);
break;
}
+ case DEFERRED_CSSETSHADERRESOURCES:
case DEFERRED_DSSETSHADERRESOURCES:
case DEFERRED_PSSETSHADERRESOURCES:
{
@@ -611,6 +613,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
ID3D11DeviceContext_VSSetShader(iface, call->vs_info.shader, NULL, 0);
break;
}
+ case DEFERRED_CSSETSHADERRESOURCES:
+ {
+ ID3D11DeviceContext_CSSetShaderResources(iface, call->res_info.start_slot,
+ call->res_info.num_views, call->res_info.views);
+ break;
+ }
case DEFERRED_DSSETSHADERRESOURCES:
{
ID3D11DeviceContext_DSSetShaderResources(iface, call->res_info.start_slot,
@@ -4374,8 +4382,12 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DSSetConstantBuffers(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
UINT start_slot, UINT view_count, ID3D11ShaderResourceView *const *views)
{
- FIXME("iface %p, start_slot %u, view_count %u, views %p stub!\n",
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+
+ TRACE("iface %p, start_slot %u, view_count %u, views %p.\n",
iface, start_slot, view_count, views);
+
+ add_deferred_set_shader_resources(context, DEFERRED_CSSETSHADERRESOURCES, start_slot, view_count, views);
}
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetUnorderedAccessViews(ID3D11DeviceContext *iface,
--
2.13.1

View File

@@ -1,69 +0,0 @@
From d55adbf05b349aa1cd3b6134cd5d9b4c211ff6db Mon Sep 17 00:00:00 2001
From: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Date: Fri, 7 Jul 2017 11:09:57 +0300
Subject: d3d11: Implement GSSetShaderResources for deferred contexts.
---
dlls/d3d11/device.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index ae92b190de5..917101d055c 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -49,6 +49,7 @@ enum deferred_cmd
DEFERRED_CSSETSHADERRESOURCES, /* res_info */
DEFERRED_DSSETSHADERRESOURCES, /* res_info */
+ DEFERRED_GSSETSHADERRESOURCES, /* res_info */
DEFERRED_PSSETSHADERRESOURCES, /* res_info */
DEFERRED_DSSETSAMPLERS, /* samplers_info */
@@ -269,7 +270,8 @@ static struct deferred_call *add_deferred_call(struct d3d11_deferred_context *co
return call;
}
-/* for DEFERRED_CSSETSHADERRESOURCES, DEFERRED_DSSETSHADERRESOURCES and DEFERRED_PSSETSHADERRESOURCES */
+/* for DEFERRED_CSSETSHADERRESOURCES, DEFERRED_DSSETSHADERRESOURCES, DEFERRED_GSSETSHADERRESOURCES,
+ * and DEFERRED_PSSETSHADERRESOURCES */
static void add_deferred_set_shader_resources(struct d3d11_deferred_context *context, enum deferred_cmd cmd,
UINT start_slot, UINT view_count, ID3D11ShaderResourceView *const *views)
{
@@ -438,6 +440,7 @@ static void free_deferred_calls(struct list *commands)
}
case DEFERRED_CSSETSHADERRESOURCES:
case DEFERRED_DSSETSHADERRESOURCES:
+ case DEFERRED_GSSETSHADERRESOURCES:
case DEFERRED_PSSETSHADERRESOURCES:
{
for (i = 0; i < call->res_info.num_views; i++)
@@ -625,6 +628,12 @@ static void exec_deferred_calls(ID3D11DeviceContext *iface, struct list *command
call->res_info.num_views, call->res_info.views);
break;
}
+ case DEFERRED_GSSETSHADERRESOURCES:
+ {
+ ID3D11DeviceContext_GSSetShaderResources(iface, call->res_info.start_slot,
+ call->res_info.num_views, call->res_info.views);
+ break;
+ }
case DEFERRED_PSSETSHADERRESOURCES:
{
ID3D11DeviceContext_PSSetShaderResources(iface, call->res_info.start_slot,
@@ -3984,7 +3993,12 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_SetPredication(ID3D11Device
static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShaderResources(ID3D11DeviceContext *iface,
UINT start_slot, UINT view_count, ID3D11ShaderResourceView *const *views)
{
- FIXME("iface %p, start_slot %u, view_count %u, views %p stub!\n", iface, start_slot, view_count, views);
+ struct d3d11_deferred_context *context = impl_from_deferred_ID3D11DeviceContext(iface);
+
+ TRACE("iface %p, start_slot %u, view_count %u, views %p.\n",
+ iface, start_slot, view_count, views);
+
+ add_deferred_set_shader_resources(context, DEFERRED_GSSETSHADERRESOURCES, start_slot, view_count, views);
}
static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetSamplers(ID3D11DeviceContext *iface,
--
2.13.1

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