Compare commits

..

42 Commits
v2.5 ... v2.7

Author SHA1 Message Date
Sebastian Lackner
d80c4a83fd Release 2.7. 2017-05-02 04:51:49 +02:00
Sebastian Lackner
0c62a31ae7 Added patch for U+FB01 and U+FB02 glyphs in Tahoma font. 2017-05-02 03:19:58 +02:00
Sebastian Lackner
6acc999e64 windowscodecs-TIFF_Support: Fix pixel format descriptors. 2017-05-02 02:22:42 +02:00
Sebastian Lackner
e0ec571af4 dmusic-SynthPort_IKsControl: Remote a Fixes line. 2017-05-02 01:27:48 +02:00
Sebastian Lackner
2c4db4ada1 Added patch to fix Param2 in SPFILENOTIFY_FILEINCABINET handler. 2017-05-02 01:26:37 +02:00
Sebastian Lackner
46bcbf913f Added patch to fix test failure in dmloader tests. 2017-05-01 19:50:27 +02:00
Sebastian Lackner
1d7d9cf626 kernel32-Locale_Definitions: Disable patchset which causes a test failure. 2017-05-01 18:34:32 +02:00
Sebastian Lackner
4e8721c714 ntdll-ProcessImageFileNameWin32: Fix test failures. 2017-05-01 18:20:51 +02:00
Sebastian Lackner
affad837a0 Rebase against 07cf14dc928a1a00baecbbc7ca5a6f3fe680238c. 2017-04-28 23:28:40 +02:00
Sebastian Lackner
c00520d3f8 Added patch to fix handling of ShowWindow when window is already visible. 2017-04-28 15:30:12 +02:00
Sebastian Lackner
bf3ff21ed7 Rebase against ae600c0b2c5b63d0c32a19f44629c204d1a0fc51. 2017-04-28 04:10:08 +02:00
Sebastian Lackner
18b192b7bd kernel32-Named_Pipe: Comment Fixes lines. 2017-04-27 01:26:18 +02:00
Sebastian Lackner
d3c3d2ab96 Rebase against 6f99cf01e1b88c9bb09fe6b9bff3443514db5ae2. 2017-04-27 01:22:20 +02:00
Sebastian Lackner
229bb38973 Rebase against 89ef7b59f548a76960b2278d819a8f915c81e132. 2017-04-26 04:01:25 +02:00
Sebastian Lackner
af6b4ace35 Rebase against e49feb63f489141c08a967a9c47930559e1de4f7. 2017-04-25 03:08:33 +02:00
Sebastian Lackner
e3e7950f4f kernel32-SetFileInformationByHandle: Remove patch with unnecessary include file change. 2017-04-24 16:50:23 +02:00
Sebastian Lackner
b6c2991af1 iexplore-Revert_ProductVersion: Remove deprecated patchset. 2017-04-24 16:31:33 +02:00
Sebastian Lackner
447795d20e wined3d-Revert_Pixel_Center_Offset: Remove deprecated patchset. 2017-04-24 02:27:04 +02:00
Sebastian Lackner
8fd38e80cd ntdll-Virtual_Memory_Stack: Delete disabled patchset. 2017-04-24 00:37:49 +02:00
Sebastian Lackner
7492968519 ntdll-Syscall_Wrappers: Delete disabled patchset. 2017-04-24 00:36:03 +02:00
Sebastian Lackner
c0304d7976 Exagear: Delete disabled patchset. 2017-04-24 00:18:25 +02:00
Sebastian Lackner
075da187c7 Rebase against cced5dfbde8b685022dd74e666f8ad4ea8473453. 2017-04-22 14:57:30 +02:00
Sebastian Lackner
89777bdb23 Rebase against 6c7760f2175e241b330cde0a902c96d9007922e0. 2017-04-21 13:20:03 +02:00
Sebastian Lackner
bd070a400c Rebase against f7402accc40b66140be4d27c5ad1b2fee8532dfc. 2017-04-20 02:16:00 +02:00
Sebastian Lackner
a65b6fa780 Release 2.6. 2017-04-19 10:54:39 +02:00
Sebastian Lackner
92bc06bd9e winecfg-Unmounted_Devices: Fix another compile issue on OSX. 2017-04-19 04:48:29 +02:00
Sebastian Lackner
2b4120187b Compiler_Warnings: Fix compililation error on OSX. 2017-04-19 04:04:24 +02:00
Sebastian Lackner
5dcd52a67f wined3d-CSMT_Main: Reenable patchset. 2017-04-19 01:34:24 +02:00
Sebastian Lackner
10837badd4 wined3d-Accounting: Do not use context on the main thread. 2017-04-17 00:43:21 +02:00
Sebastian Lackner
c9b2336f64 Added patch to implement support for recent OSMesa versions. 2017-04-16 19:19:34 +02:00
Sebastian Lackner
a06d982751 winecfg-Unmounted_Devices: Avoid access violation when autodetecting devices in winecfg. 2017-04-16 17:54:19 +02:00
Sebastian Lackner
e963b417b3 Added patches to fix error handling issues in wined3d. 2017-04-14 17:46:52 +02:00
Sebastian Lackner
079da46f96 Added patch to fix compilation with recent versions of gcc. 2017-04-14 16:02:12 +02:00
Sebastian Lackner
3003efacdb Rebase against 709935314458bd0ce27aab3986ae98cc556cb663. 2017-04-14 15:28:19 +02:00
Sebastian Lackner
14acf51a2d Rebase against aa1580398e4c9eda851d475213e07d865d9238bd. 2017-04-13 11:52:28 +02:00
Sebastian Lackner
830a8b9975 Rebase against d6557e812984e010a989a3360039453eb978bd12. 2017-04-13 11:06:17 +02:00
Sebastian Lackner
4a75337774 Rebase against 9e35dd15454be28c487b0f1bebefbbe530b2aca4. 2017-04-12 09:52:27 +02:00
Sebastian Lackner
b113596b6c Rebase against 692656467729c5548c45244aa05ca946620afa72. 2017-04-12 07:03:43 +02:00
Sebastian Lackner
e5d2247213 Rebase against 61a1a266faa9fa7c959136b0ab0b5d7e01326878. 2017-04-11 05:15:20 +02:00
Sebastian Lackner
fbc61357d3 Rebase against 0128e1a18f25848e6f47146580a8f0db69687dd6. 2017-04-10 22:39:05 +02:00
Sebastian Lackner
d06996cabd Rebase against 35ca862025fa14065d4ebed761783de225cb6690. 2017-04-10 18:41:57 +02:00
Sebastian Lackner
e4ac3ea735 Rebase against 8b1737c0fdf1d3d905bea281d9241f1f48f333e9. 2017-04-10 07:36:39 +02:00
108 changed files with 2616 additions and 10867 deletions

View File

@@ -0,0 +1,26 @@
From 43628d9b1905396ff6442e4f1e07c9dd48739b19 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 14 Apr 2017 15:57:18 +0200
Subject: ole32: Fix compilation with recent versions of gcc.
---
dlls/ole32/storage32.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index 4fcfd9c362..2b23ab8eb8 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -526,6 +526,9 @@ StgStreamImpl* StgStreamImpl_Construct(
/******************************************************************************
* Endian conversion macros
*/
+#undef htole32
+#undef htole16
+
#ifdef WORDS_BIGENDIAN
#define htole32(x) RtlUlongByteSwap(x)
--
2.12.2

View File

@@ -1,287 +0,0 @@
From 472184e5801de5d1fb92d275d9c0c7e840c9a0bf Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 11 Nov 2014 03:11:33 +0100
Subject: ntdll: Implement emulation of SIDT instruction when using Exagear.
---
configure.ac | 8 ++
dlls/ntdll/signal_i386.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 231 insertions(+)
diff --git a/configure.ac b/configure.ac
index 1e6bba3..43bf0db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@ AC_ARG_ENABLE(win16, AS_HELP_STRING([--disable-win16],[do not include Win16 supp
AC_ARG_ENABLE(win64, AS_HELP_STRING([--enable-win64],[build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
AC_ARG_ENABLE(maintainer-mode, AS_HELP_STRING([--enable-maintainer-mode],[enable maintainer-specific build rules]))
+AC_ARG_ENABLE(exagear-compat, AS_HELP_STRING([--enable-exagear-compat],[use workarounds for known problems in the Exagear emulator]))
AC_ARG_WITH(alsa, AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]),
[if test "x$withval" = "xno"; then ac_cv_header_sys_asoundlib_h=no; ac_cv_header_alsa_asoundlib_h=no; fi])
@@ -364,6 +365,13 @@ WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],
[gettext tools not found (or too old), translations won't be built.],
[enable_po])
+dnl **** Enable Exagear workarounds ****
+
+if test "x$enable_exagear_compat" = "xyes"
+then
+ AC_DEFINE(EXAGEAR_COMPAT, 1, [Define if you want to enable Exagear emulator workarounds])
+fi
+
dnl **** Check for some libraries ****
dnl Check for -li386 for NetBSD and OpenBSD
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index ee8855a..4269329 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -96,6 +96,14 @@ typedef struct
BYTE Reserved4[96];
} XMM_SAVE_AREA32;
+#include "pshpack1.h"
+struct idtr
+{
+ WORD limit;
+ BYTE *base;
+};
+#include "poppack.h"
+
/***********************************************************************
* signal context platform-specific definitions
*/
@@ -1898,6 +1906,213 @@ static inline DWORD get_fpu_code( const CONTEXT *context )
}
+#ifdef EXAGEAR_COMPAT
+
+/***********************************************************************
+ * INSTR_GetOperandAddr
+ *
+ * Return the address of an instruction operand (from the mod/rm byte).
+ */
+static BYTE *INSTR_GetOperandAddr( CONTEXT *context, const BYTE *instr,
+ int long_addr, int segprefix, int *len )
+{
+ int mod, rm, base = 0, index = 0, ss = 0, off;
+
+#define GET_VAL(val,type) \
+ { *val = *(type *)instr; instr += sizeof(type); *len += sizeof(type); }
+
+ *len = 0;
+ GET_VAL( &mod, BYTE );
+ rm = mod & 7;
+ mod >>= 6;
+
+ if (mod == 3)
+ {
+ switch(rm)
+ {
+ case 0: return (BYTE *)&context->Eax;
+ case 1: return (BYTE *)&context->Ecx;
+ case 2: return (BYTE *)&context->Edx;
+ case 3: return (BYTE *)&context->Ebx;
+ case 4: return (BYTE *)&context->Esp;
+ case 5: return (BYTE *)&context->Ebp;
+ case 6: return (BYTE *)&context->Esi;
+ case 7: return (BYTE *)&context->Edi;
+ }
+ }
+
+ if (long_addr)
+ {
+ if (rm == 4)
+ {
+ BYTE sib;
+ GET_VAL( &sib, BYTE );
+ rm = sib & 7;
+ ss = sib >> 6;
+ switch((sib >> 3) & 7)
+ {
+ case 0: index = context->Eax; break;
+ case 1: index = context->Ecx; break;
+ case 2: index = context->Edx; break;
+ case 3: index = context->Ebx; break;
+ case 4: index = 0; break;
+ case 5: index = context->Ebp; break;
+ case 6: index = context->Esi; break;
+ case 7: index = context->Edi; break;
+ }
+ }
+
+ switch(rm)
+ {
+ case 0: base = context->Eax; break;
+ case 1: base = context->Ecx; break;
+ case 2: base = context->Edx; break;
+ case 3: base = context->Ebx; break;
+ case 4: base = context->Esp; break;
+ case 5: base = context->Ebp; break;
+ case 6: base = context->Esi; break;
+ case 7: base = context->Edi; break;
+ }
+ switch (mod)
+ {
+ case 0:
+ if (rm == 5) /* special case: ds:(disp32) */
+ {
+ GET_VAL( &base, DWORD );
+ }
+ break;
+
+ case 1: /* 8-bit disp */
+ GET_VAL( &off, BYTE );
+ base += (signed char)off;
+ break;
+
+ case 2: /* 32-bit disp */
+ GET_VAL( &off, DWORD );
+ base += (signed long)off;
+ break;
+ }
+ }
+ else /* short address */
+ {
+ switch(rm)
+ {
+ case 0: /* ds:(bx,si) */
+ base = LOWORD(context->Ebx) + LOWORD(context->Esi);
+ break;
+ case 1: /* ds:(bx,di) */
+ base = LOWORD(context->Ebx) + LOWORD(context->Edi);
+ break;
+ case 2: /* ss:(bp,si) */
+ base = LOWORD(context->Ebp) + LOWORD(context->Esi);
+ break;
+ case 3: /* ss:(bp,di) */
+ base = LOWORD(context->Ebp) + LOWORD(context->Edi);
+ break;
+ case 4: /* ds:(si) */
+ base = LOWORD(context->Esi);
+ break;
+ case 5: /* ds:(di) */
+ base = LOWORD(context->Edi);
+ break;
+ case 6: /* ss:(bp) */
+ base = LOWORD(context->Ebp);
+ break;
+ case 7: /* ds:(bx) */
+ base = LOWORD(context->Ebx);
+ break;
+ }
+
+ switch(mod)
+ {
+ case 0:
+ if (rm == 6) /* special case: ds:(disp16) */
+ {
+ GET_VAL( &base, WORD );
+ }
+ break;
+
+ case 1: /* 8-bit disp */
+ GET_VAL( &off, BYTE );
+ base += (signed char)off;
+ break;
+
+ case 2: /* 16-bit disp */
+ GET_VAL( &off, WORD );
+ base += (signed short)off;
+ break;
+ }
+ base &= 0xffff;
+ }
+ /* FIXME: we assume that all segments have a base of 0 */
+ return (BYTE *)(base + (index << ss));
+#undef GET_VAL
+}
+
+
+/***********************************************************************
+ * check_invalid_instr
+ *
+ * Support for instructions not implemented by Exagear.
+ */
+static inline BOOL check_invalid_instr( CONTEXT *context )
+{
+ const BYTE *instr;
+ unsigned int prefix_count = 0;
+ int len, long_addr = 1;
+
+ if (!wine_ldt_is_system( context->SegCs )) return FALSE;
+ instr = (BYTE *)context->Eip;
+
+ for (;;) switch (*instr)
+ {
+ /* instruction prefixes */
+ case 0x2e: /* %cs: */
+ case 0x36: /* %ss: */
+ case 0x3e: /* %ds: */
+ case 0x26: /* %es: */
+ case 0x64: /* %fs: */
+ case 0x65: /* %gs: */
+ case 0x66: /* opcode size */
+ case 0x67: /* addr size */
+ case 0xf0: /* lock */
+ case 0xf2: /* repne */
+ case 0xf3: /* repe */
+ if (++prefix_count >= 15) return FALSE;
+ if (*instr == 0x67) long_addr = !long_addr; /* addr size */
+ instr++;
+ continue;
+ case 0x0f: /* extended instruction */
+ switch (instr[1])
+ {
+ case 0x01:
+ if (((instr[2] >> 3) & 7) == 1) /* sidt m */
+ {
+ struct idtr ret;
+ BYTE *addr;
+
+ if ((instr[2] >> 6) == 3) return FALSE; /* loading to register not allowed */
+ addr = INSTR_GetOperandAddr( context, instr + 2, long_addr, 0, &len );
+
+ /* fake IDT structure */
+ ret.limit = 0xfff;
+ ret.base = (void *)0xff000000;
+ memcpy(addr, &ret, sizeof(ret));
+
+ context->Eip += prefix_count + len + 2;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+#endif /* EXAGEAR_COMPAT */
+
+
/**********************************************************************
* raise_segv_exception
*/
@@ -1907,6 +2122,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
switch(rec->ExceptionCode)
{
+#ifdef EXAGEAR_COMPAT
+ case EXCEPTION_ILLEGAL_INSTRUCTION:
+ {
+ if (check_invalid_instr( context ))
+ goto done;
+ }
+ break;
+#endif
case EXCEPTION_ACCESS_VIOLATION:
if (rec->NumberParameters == 2)
{
--
2.7.1

View File

@@ -1,51 +0,0 @@
From 5a4827d5c16aefd82029583710b9032a2356917b Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 22 Nov 2014 05:49:30 +0100
Subject: ntdll: Fix issues with write watches when using Exagear.
---
dlls/ntdll/virtual.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index f7aae0b..3fa2027 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1558,6 +1558,26 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
{
void *page = ROUND_ADDR( addr, page_mask );
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
+#ifdef EXAGEAR_COMPAT
+ /* Exagear doesn't correctly set err, so always check for write watches, and
+ * retry after removing the VPROT_WRITEWATCH or VPROT_WRITECOPY flag. In
+ * contrary to the general implementation below this is not completely race-
+ * condition safe. When multiple threads trigger the write watch at the same
+ * time only the first thread will properly continue the execution, the rest
+ * will crash. */
+ if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
+ {
+ *vprot &= ~VPROT_WRITEWATCH;
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
+ }
+ if (*vprot & VPROT_WRITECOPY)
+ {
+ *vprot = (*vprot & ~VPROT_WRITECOPY) | VPROT_WRITE;
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
+ }
+#else
if (err & EXCEPTION_WRITE_FAULT)
{
if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
@@ -1573,6 +1593,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
/* ignore fault if page is writable now */
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
}
+#endif
if (!on_signal_stack && (*vprot & VPROT_GUARD))
{
VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
--
2.2.2

View File

@@ -1,25 +0,0 @@
From 67cc0e23b26d5d9abda7eb771dc2bec309cb8650 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 23 Nov 2014 22:33:51 +0100
Subject: server: Don't attempt to use ptrace when running with Exagear.
---
server/ptrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/ptrace.c b/server/ptrace.c
index cb436b6..fb29b5a 100644
--- a/server/ptrace.c
+++ b/server/ptrace.c
@@ -531,7 +531,7 @@ void get_selector_entry( struct thread *thread, int entry, unsigned int *base,
#if defined(linux) && (defined(HAVE_SYS_USER_H) || defined(HAVE_ASM_USER_H)) \
- && (defined(__i386__) || defined(__x86_64__))
+ && (defined(__i386__) || defined(__x86_64__)) && !defined(EXAGEAR_COMPAT)
#ifdef HAVE_SYS_USER_H
#include <sys/user.h>
--
2.1.3

View File

@@ -1,2 +0,0 @@
Depends: ntdll-WRITECOPY
Disabled: true

View File

@@ -1,14 +1,14 @@
From b9d73e9b13df905bfab65d07babae2f40469c405 Mon Sep 17 00:00:00 2001
From 988abb92ab5dc363b9ea734e256959eb542391e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 12 Apr 2016 01:02:34 +0200
Subject: uiautomationcore: Add dll and stub some functions.
---
dlls/uiautomationcore/Makefile.in | 1 +
dlls/uiautomationcore/uia_main.c | 65 +++++++++++++++++++++++++----
dlls/uiautomationcore/uiautomationcore.spec | 8 +++-
include/uiautomationcoreapi.h | 10 +++--
4 files changed, 72 insertions(+), 12 deletions(-)
dlls/uiautomationcore/uia_main.c | 57 +++++++++++++++++++++++++----
dlls/uiautomationcore/uiautomationcore.spec | 6 +++
include/uiautomationcoreapi.h | 9 +++--
4 files changed, 61 insertions(+), 12 deletions(-)
diff --git a/dlls/uiautomationcore/Makefile.in b/dlls/uiautomationcore/Makefile.in
index 78d6254a01..029fc2e499 100644
@@ -21,7 +21,7 @@ index 78d6254a01..029fc2e499 100644
C_SRCS = \
uia_main.c
diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c
index af986810f5..0f1e84450c 100644
index 6e795ab88f..37c56dacd5 100644
--- a/dlls/uiautomationcore/uia_main.c
+++ b/dlls/uiautomationcore/uia_main.c
@@ -1,4 +1,5 @@
@@ -38,7 +38,7 @@ index af986810f5..0f1e84450c 100644
#include "uiautomation.h"
#include "wine/debug.h"
@@ -37,12 +39,61 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, void *lpv)
@@ -37,12 +39,51 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, void *lpv)
return TRUE;
}
@@ -80,16 +80,6 @@ index af986810f5..0f1e84450c 100644
+};
+
+static IUnknown dummy = { &dummy_Vtbl };
+
+/***********************************************************************
+ * UiaReturnRawElementProvider (uiautomationcore.@)
+ */
+LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wparam, LPARAM lparam,
+ IRawElementProviderSimple *provider)
+{
+ FIXME("(%p, %lx, %lx, %p): stub\n", hwnd, wparam, lparam, provider);
+ return 0;
+}
+
/***********************************************************************
* UiaClientsAreListening (uiautomationcore.@)
@@ -101,7 +91,7 @@ index af986810f5..0f1e84450c 100644
return FALSE;
}
@@ -51,8 +102,8 @@ BOOL WINAPI UiaClientsAreListening(void)
@@ -51,8 +92,8 @@ BOOL WINAPI UiaClientsAreListening(void)
*/
HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value)
{
@@ -112,7 +102,7 @@ index af986810f5..0f1e84450c 100644
return S_OK;
}
@@ -61,16 +112,16 @@ HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value)
@@ -61,17 +102,17 @@ HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value)
*/
HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value)
{
@@ -133,8 +123,17 @@ index af986810f5..0f1e84450c 100644
+ FIXME("(%d, %s): stub!\n", type, debugstr_guid(guid));
return 1;
}
@@ -81,6 +122,6 @@ int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid)
LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam,
LPARAM lParam, IRawElementProviderSimple *elprov)
{
- FIXME("(%p, %lx, %lx, %p) stub!\n", hwnd, wParam, lParam, elprov);
+ FIXME("(%p, %lx, %lx, %p): stub!\n", hwnd, wParam, lParam, elprov);
return 0;
}
diff --git a/dlls/uiautomationcore/uiautomationcore.spec b/dlls/uiautomationcore/uiautomationcore.spec
index ddf84f63c0..221711c41d 100644
index bff1303eda..221711c41d 100644
--- a/dlls/uiautomationcore/uiautomationcore.spec
+++ b/dlls/uiautomationcore/uiautomationcore.spec
@@ -53,6 +53,8 @@
@@ -154,7 +153,7 @@ index ddf84f63c0..221711c41d 100644
@ stdcall UiaLookupId(long ptr)
@ stub UiaNavigate
@ stub UiaNodeFromFocus
@@ -77,13 +80,16 @@
@@ -77,10 +80,13 @@
@ stub UiaNodeFromProvider
@ stub UiaNodeRelease
@ stub UiaPatternRelease
@@ -167,16 +166,12 @@ index ddf84f63c0..221711c41d 100644
+@ stub UiaRaiseTextEditTextChangedEvent
@ stub UiaRegisterProviderCallback
@ stub UiaRemoveEvent
-@ stub UiaReturnRawElementProvider
+@ stdcall UiaReturnRawElementProvider(long long long ptr)
@ stub UiaSetFocus
@ stub UiaTextRangeRelease
@ stub ValuePattern_SetValue
@ stdcall UiaReturnRawElementProvider(long long long ptr)
diff --git a/include/uiautomationcoreapi.h b/include/uiautomationcoreapi.h
index fbe47ad184..8d13a16c53 100644
index 6c1752ec64..1a844d0cb7 100644
--- a/include/uiautomationcoreapi.h
+++ b/include/uiautomationcoreapi.h
@@ -39,20 +39,22 @@ DECLARE_HANDLE(HUIAPATTERNOBJECT);
@@ -39,18 +39,19 @@ DECLARE_HANDLE(HUIAPATTERNOBJECT);
DECLARE_HANDLE(HUIATEXTRANGE);
DECLARE_HANDLE(HUIAEVENT);
@@ -198,11 +193,8 @@ index fbe47ad184..8d13a16c53 100644
-int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid);
+int WINAPI UiaLookupId(AutomationIdentifierType type, const GUID *guid);
BOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj);
LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov);
BOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);
+LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wparam, LPARAM lparam, IRawElementProviderSimple *provider);
#ifdef __cplusplus
}
--
2.11.0

View File

@@ -12,7 +12,7 @@ index ff74f8d..529c209 100644
--- a/configure.ac
+++ b/configure.ac
@@ -966,10 +966,10 @@ ${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
[LDEXECFLAGS="-Wl,--export-dynamic"])
[WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"

View File

@@ -1,4 +1,4 @@
From 6abf532ce00b767eb8c57593ffec8e69c46fd603 Mon Sep 17 00:00:00 2001
From c7a3f1e20d97f61080df53a909c90707160ba45b Mon Sep 17 00:00:00 2001
From: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Date: Sat, 24 Sep 2016 06:51:24 +0300
Subject: d3d11: Add stub deferred rendering context.
@@ -8,7 +8,7 @@ Subject: d3d11: Add stub deferred rendering context.
1 file changed, 993 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 777146d717e..45467480905 100644
index 259f189f8a..366f330bf0 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -25,6 +25,16 @@
@@ -27,8 +27,8 @@ index 777146d717e..45467480905 100644
+
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
@@ -2110,6 +2120,974 @@ static void d3d11_immediate_context_destroy(struct d3d11_immediate_context *cont
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
@@ -2417,6 +2427,974 @@ static void d3d11_immediate_context_destroy(struct d3d11_immediate_context *cont
wined3d_private_store_cleanup(&context->private_store);
}
@@ -1003,7 +1003,7 @@ index 777146d717e..45467480905 100644
/* ID3D11Device methods */
static HRESULT STDMETHODCALLTYPE d3d11_device_QueryInterface(ID3D11Device *iface, REFIID riid, void **out)
@@ -2735,9 +3713,22 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateCounter(ID3D11Device *iface,
@@ -3070,9 +4048,22 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateCounter(ID3D11Device *iface,
static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device *iface, UINT flags,
ID3D11DeviceContext **context)
{
@@ -1029,5 +1029,5 @@ index 777146d717e..45467480905 100644
static HRESULT STDMETHODCALLTYPE d3d11_device_OpenSharedResource(ID3D11Device *iface, HANDLE resource, REFIID riid,
--
2.11.0
2.12.2

View File

@@ -1,4 +1,4 @@
From 498edc59046c38c028f6d9e2d91264ad08d93d57 Mon Sep 17 00:00:00 2001
From 38079a15e97192b7f0f80b9317a47530d6430a5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Jan 2017 16:56:56 +0100
Subject: d3d11: Initial implementation for deferred contexts.
@@ -8,7 +8,7 @@ Subject: d3d11: Initial implementation for deferred contexts.
1 file changed, 1043 insertions(+), 32 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 45467480905..4ee9d500802 100644
index 366f330bf0..7aac903b54 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -19,12 +19,181 @@
@@ -724,8 +724,8 @@ index 45467480905..4ee9d500802 100644
+
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
@@ -1139,7 +1830,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
@@ -1133,7 +1824,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext *iface,
ID3D11CommandList *command_list, BOOL restore_state)
{
@@ -747,7 +747,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext *iface,
@@ -1953,7 +2657,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSGetConstantBuffers(ID3D1
@@ -2260,7 +2964,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSGetConstantBuffers(ID3D1
static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceContext *iface)
{
@@ -756,7 +756,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_immediate_context_Flush(ID3D11DeviceContext *iface)
@@ -2165,6 +2869,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
@@ -2472,6 +3176,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
if (!refcount)
{
@@ -764,7 +764,7 @@ index 45467480905..4ee9d500802 100644
wined3d_private_store_cleanup(&context->private_store);
ID3D11Device_Release(context->device);
HeapFree(GetProcessHeap(), 0, context);
@@ -2216,43 +2921,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
@@ -2523,43 +3228,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
{
@@ -857,7 +857,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
@@ -2265,53 +3013,171 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
@@ -2572,53 +3320,171 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource)
{
@@ -1038,7 +1038,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface,
@@ -2340,7 +3206,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
@@ -2647,7 +3513,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
D3D11_PRIMITIVE_TOPOLOGY topology)
{
@@ -1056,7 +1056,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface,
@@ -2400,8 +3275,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
@@ -2707,8 +3582,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views,
ID3D11DepthStencilView *depth_stencil_view)
{
@@ -1086,7 +1086,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews(
@@ -2421,15 +3316,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
@@ -2728,15 +3623,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface,
ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask)
{
@@ -1133,7 +1133,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count,
@@ -2471,13 +3395,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
@@ -2778,13 +3702,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface,
ID3D11RasterizerState *rasterizer_state)
{
@@ -1170,7 +1170,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface,
@@ -2592,8 +3537,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
@@ -2899,8 +3844,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface,
ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
{
@@ -1190,7 +1190,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface,
@@ -2606,36 +3561,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
@@ -2913,36 +3868,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface,
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
{
@@ -1258,7 +1258,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
@@ -2936,7 +3917,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
@@ -3243,7 +4224,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface)
{
@@ -1275,7 +1275,7 @@ index 45467480905..4ee9d500802 100644
}
static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface)
@@ -2961,9 +3950,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
@@ -3268,9 +4257,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface,
BOOL restore, ID3D11CommandList **command_list)
{
@@ -1307,7 +1307,7 @@ index 45467480905..4ee9d500802 100644
}
static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl =
@@ -3724,6 +4733,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
@@ -4059,6 +5068,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
object->device = iface;
object->refcount = 1;
@@ -1317,5 +1317,5 @@ index 45467480905..4ee9d500802 100644
wined3d_private_store_init(&object->private_store);
--
2.11.0
2.12.2

View File

@@ -1,4 +1,4 @@
From d36a6643bbb79dcea3bc39391dc4a129bd940f31 Mon Sep 17 00:00:00 2001
From d4e5a58b69c7e8810c811041234134fe5062f931 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 25 Aug 2016 19:52:23 +0200
Subject: d3d11/tests: Test the creation of 1d render buffers in
@@ -9,10 +9,10 @@ Subject: d3d11/tests: Test the creation of 1d render buffers in
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index c48ff9a..ec5c296 100644
index 9aa21584d8..063b30ebf1 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -3190,6 +3190,7 @@ static void test_create_rendertarget_view(void)
@@ -3262,6 +3262,7 @@ static void test_create_rendertarget_view(void)
D3D11_RENDER_TARGET_VIEW_DESC rtv_desc;
D3D11_TEXTURE3D_DESC texture3d_desc;
D3D11_TEXTURE2D_DESC texture2d_desc;
@@ -20,15 +20,15 @@ index c48ff9a..ec5c296 100644
D3D11_SUBRESOURCE_DATA data = {0};
ULONG refcount, expected_refcount;
D3D11_BUFFER_DESC buffer_desc;
@@ -3197,6 +3198,7 @@ static void test_create_rendertarget_view(void)
@@ -3269,6 +3270,7 @@ static void test_create_rendertarget_view(void)
ID3D11Device *device, *tmp;
ID3D11Texture3D *texture3d;
ID3D11Texture2D *texture2d;
+ ID3D11Texture1D *texture1d;
ID3D11Resource *texture;
ID3D11Buffer *buffer;
IUnknown *iface;
@@ -3227,6 +3229,23 @@ static void test_create_rendertarget_view(void)
unsigned int i;
@@ -3298,6 +3300,23 @@ static void test_create_rendertarget_view(void)
}
tests[] =
{
@@ -52,7 +52,7 @@ index c48ff9a..ec5c296 100644
{{ 1, 1, RGBA8_UNORM}, {0}, {RGBA8_UNORM, TEX_2D, 0}},
{{10, 1, RGBA8_UNORM}, {0}, {RGBA8_UNORM, TEX_2D, 0}},
{{10, 1, RGBA8_UNORM}, {FMT_UNKNOWN, TEX_2D, 0}, {RGBA8_UNORM, TEX_2D, 0}},
@@ -3388,6 +3407,12 @@ static void test_create_rendertarget_view(void)
@@ -3460,6 +3479,12 @@ static void test_create_rendertarget_view(void)
ID3D11RenderTargetView_Release(rtview);
ID3D11Buffer_Release(buffer);
@@ -65,7 +65,7 @@ index c48ff9a..ec5c296 100644
texture2d_desc.Width = 512;
texture2d_desc.Height = 512;
texture2d_desc.SampleDesc.Count = 1;
@@ -3408,7 +3433,21 @@ static void test_create_rendertarget_view(void)
@@ -3480,7 +3505,21 @@ static void test_create_rendertarget_view(void)
{
D3D11_RENDER_TARGET_VIEW_DESC *current_desc;
@@ -89,5 +89,5 @@ index c48ff9a..ec5c296 100644
texture2d_desc.MipLevels = tests[i].texture.miplevel_count;
texture2d_desc.ArraySize = tests[i].texture.depth_or_array_size;
--
2.8.1
2.12.2

View File

@@ -1,4 +1,4 @@
From 0fb8cdfad5e55e814f6cb7c61935dc5e25cfd132 Mon Sep 17 00:00:00 2001
From 2ba57281f31901b2f9ce05947e44b4a6e7035550 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 25 Aug 2016 19:54:13 +0200
Subject: d3d11/tests: Test the creation of 1d shader resource views in
@@ -9,10 +9,10 @@ Subject: d3d11/tests: Test the creation of 1d shader resource views in
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index ec5c296..0dd286d 100644
index 063b30ebf1..81cced86c3 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -3536,6 +3536,7 @@ static void test_create_shader_resource_view(void)
@@ -3609,6 +3609,7 @@ static void test_create_shader_resource_view(void)
D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc;
D3D11_TEXTURE3D_DESC texture3d_desc;
D3D11_TEXTURE2D_DESC texture2d_desc;
@@ -20,15 +20,15 @@ index ec5c296..0dd286d 100644
ULONG refcount, expected_refcount;
ID3D11ShaderResourceView *srview;
D3D_FEATURE_LEVEL feature_level;
@@ -3543,6 +3544,7 @@ static void test_create_shader_resource_view(void)
@@ -3616,6 +3617,7 @@ static void test_create_shader_resource_view(void)
ID3D11Device *device, *tmp;
ID3D11Texture3D *texture3d;
ID3D11Texture2D *texture2d;
+ ID3D11Texture1D *texture1d;
ID3D11Resource *texture;
ID3D11Buffer *buffer;
IUnknown *iface;
@@ -3575,6 +3577,21 @@ static void test_create_shader_resource_view(void)
unsigned int i;
@@ -3647,6 +3649,21 @@ static void test_create_shader_resource_view(void)
}
tests[] =
{
@@ -50,7 +50,7 @@ index ec5c296..0dd286d 100644
{{10, 1, RGBA8_UNORM}, {0}, {RGBA8_UNORM, TEX_2D, 0, 10}},
{{10, 1, RGBA8_UNORM}, {FMT_UNKNOWN, TEX_2D, 0, ~0u}, {RGBA8_UNORM, TEX_2D, 0, 10}},
{{10, 1, RGBA8_UNORM}, {RGBA8_UNORM, TEX_2D, 0, ~0u}, {RGBA8_UNORM, TEX_2D, 0, 10}},
@@ -3769,6 +3786,12 @@ static void test_create_shader_resource_view(void)
@@ -3847,6 +3864,12 @@ static void test_create_shader_resource_view(void)
skip("Structured buffers require feature level 11_0.\n");
}
@@ -63,7 +63,7 @@ index ec5c296..0dd286d 100644
texture2d_desc.Width = 512;
texture2d_desc.Height = 512;
texture2d_desc.SampleDesc.Count = 1;
@@ -3788,7 +3811,23 @@ static void test_create_shader_resource_view(void)
@@ -3866,7 +3889,23 @@ static void test_create_shader_resource_view(void)
{
D3D11_SHADER_RESOURCE_VIEW_DESC *current_desc;
@@ -89,5 +89,5 @@ index ec5c296..0dd286d 100644
texture2d_desc.MipLevels = tests[i].texture.miplevel_count;
texture2d_desc.ArraySize = tests[i].texture.depth_or_array_size;
--
2.8.1
2.12.2

View File

@@ -1,4 +1,4 @@
From 9b4d4c9b2097f3134cc276dedfe8804475dcdfa6 Mon Sep 17 00:00:00 2001
From 56e710b3d2b2631ee63eb1ed076a2a8af99352ad Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Fri, 19 Dec 2014 22:31:46 +0100
Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
@@ -9,10 +9,10 @@ Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
2 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 76580417e9..fd9c4bd1aa 100644
index 8dc4738360..47e79a689a 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3631,13 +3631,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
@@ -3667,13 +3667,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
return D3D_OK;
}
@@ -58,11 +58,11 @@ index 76580417e9..fd9c4bd1aa 100644
static BOOL walk_parameter_dep(struct d3dx_parameter *param, walk_parameter_dep_func param_func,
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index 54f5377106..bcf4f68a57 100644
index b1f7f3ef26..95d29d0155 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -4957,6 +4957,65 @@ static void test_effect_commitchanges(IDirect3DDevice9 *device)
effect->lpVtbl->Release(effect);
@@ -6111,6 +6111,65 @@ static void test_effect_shared_parameters(IDirect3DDevice9 *device)
ok(!refcount, "Effect pool was not properly freed, refcount %u.\n", refcount);
}
+/*
@@ -127,14 +127,14 @@ index 54f5377106..bcf4f68a57 100644
START_TEST(effect)
{
HWND wnd;
@@ -5002,6 +5061,7 @@ START_TEST(effect)
test_effect_isparameterused(device);
test_effect_out_of_bounds_selector(device);
test_effect_commitchanges(device);
@@ -6160,6 +6219,7 @@ START_TEST(effect)
test_effect_state_manager(device);
test_cross_effect_handle(device);
test_effect_shared_parameters(device);
+ test_effect_technique_validation(device);
count = IDirect3DDevice9_Release(device);
ok(count == 0, "The device was not properly freed: refcount %u\n", count);
--
2.11.0
2.12.2

View File

@@ -0,0 +1,31 @@
From dabf89ee29066b7a133ca2fb1e5c05a8100a0365 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 1 May 2017 19:49:41 +0200
Subject: dmloader/tests: Fix test failures.
---
dlls/dmloader/tests/loader.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dmloader/tests/loader.c b/dlls/dmloader/tests/loader.c
index 6b2ee3ad93..1735994088 100644
--- a/dlls/dmloader/tests/loader.c
+++ b/dlls/dmloader/tests/loader.c
@@ -66,11 +66,11 @@ static void test_directory(void)
/* Two consecutive SetSearchDirectory with the same path */
GetTempPathW(ARRAY_SIZE(path), path);
hr = IDirectMusicLoader_SetSearchDirectory(loader, &GUID_DirectMusicAllTypes, path, 0);
- todo_wine ok(hr == S_OK, "SetSearchDirectory failed with %#x\n", hr);
+ ok(hr == S_OK, "SetSearchDirectory failed with %#x\n", hr);
hr = IDirectMusicLoader_SetSearchDirectory(loader, &GUID_DirectMusicAllTypes, path, 0);
- ok(hr == S_FALSE, "Second SetSearchDirectory failed with %#x\n", hr);
+ todo_wine ok(hr == S_FALSE, "Second SetSearchDirectory failed with %#x\n", hr);
hr = IDirectMusicLoader_SetSearchDirectory(loader, &CLSID_DirectSoundWave, path, 0);
- ok(hr == S_OK, "SetSearchDirectory failed with %#x\n", hr);
+ todo_wine ok(hr == S_OK, "SetSearchDirectory failed with %#x\n", hr);
hr = IDirectMusicLoader_SetSearchDirectory(loader, &CLSID_DirectSoundWave, path, 0);
ok(hr == S_FALSE, "Second SetSearchDirectory failed with %#x\n", hr);
--
2.12.2

View File

@@ -1 +0,0 @@
Fixes: [30105] Implement IKsControl stub subinterface for SynthPort

View File

@@ -1,26 +0,0 @@
From cc25929d3a152ee70f0f779091d82da88010f2ae Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Mon, 3 Apr 2017 08:14:08 +0300
Subject: dwrite: Added missing max bitmap size initialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
dlls/dwrite/font.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index e89d0a825a..4e35ceab2e 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -5203,6 +5203,7 @@ HRESULT create_glyphrunanalysis(const struct glyphrunanalysis_desc *desc, IDWrit
analysis->flags = 0;
analysis->bitmap = NULL;
+ analysis->max_glyph_bitmap_size = 0;
analysis->ppdip = desc->ppdip;
analysis->origin.x = desc->origin_x * desc->ppdip;
analysis->origin.y = desc->origin_y * desc->ppdip;
--
2.11.0

View File

@@ -1,25 +0,0 @@
From 7fda9638073cbf136c87bfcac507a067c2159b3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 21 Feb 2015 14:49:30 +0100
Subject: include: Fix an invalid UUID in dxva2api.idl.
---
include/dxva2api.idl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/dxva2api.idl b/include/dxva2api.idl
index ebd508b..7a29157 100644
--- a/include/dxva2api.idl
+++ b/include/dxva2api.idl
@@ -434,7 +434,7 @@ interface IDirectXVideoDecoder : IUnknown
*/
[
object,
- uuid(fc51a551-d5e7-11d9-af55-00054e43ff02),
+ uuid(fc51a552-d5e7-11d9-af55-00054e43ff02),
local
]
interface IDirectXVideoProcessorService : IDirectXVideoAccelerationService
--
2.1.0

View File

@@ -0,0 +1,332 @@
From 36981579fb5a781ed036dd769f9a1e1e878d76d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 2 May 2017 01:38:43 +0200
Subject: fonts/tahoma.sfd: Add glyphs U+FB01 and U+FB02.
---
fonts/tahoma.sfd | 16 ++++++++++++++++
fonts/tahoma.ttf | Bin 143652 -> 144028 bytes
2 files changed, 16 insertions(+)
diff --git a/fonts/tahoma.sfd b/fonts/tahoma.sfd
index 3d6b44ee13..466f250496 100644
--- a/fonts/tahoma.sfd
+++ b/fonts/tahoma.sfd
@@ -24398,6 +24398,10 @@ BDFChar: 252 8364 7 0 5 0 8
4@"GpJGap_49,?]
BDFChar: 253 8482 11 1 9 5 8
k^ZBX8q9H_
+BDFChar: 266 64257 6 0 5 0 9
+0LS1u6psF26pq"T
+BDFChar: 267 64258 6 0 5 0 9
+1djb(6psF26pq"T
BDFChar: 280 278 7 0 5 0 10
&-2WYJ:RQJJ:ROt
BDFChar: 306 279 6 0 5 0 8
@@ -25127,6 +25131,10 @@ BDFChar: 252 8364 7 0 5 0 8
4@"GpJGap_49,?]
BDFChar: 253 8482 11 1 9 5 8
k^ZBX8q9H_
+BDFChar: 266 64257 7 0 5 0 9
+0LS1u6psF26pq"T
+BDFChar: 267 64258 7 0 5 0 9
+1djb(6psF26pq"T
BDFChar: 280 278 7 1 6 0 11
0JEM)J:RQJJ:N1J
BDFChar: 306 279 7 0 5 0 8
@@ -25856,6 +25864,10 @@ BDFChar: 252 8364 8 0 6 0 10
*$RXur.+]q5U%0J
BDFChar: 253 8482 13 0 11 6 10
q@Fl*,1%O\+qO_S
+BDFChar: 266 64257 8 0 6 0 11
+3'okqnj5Z06:+"*
+BDFChar: 267 64258 8 0 6 0 11
+3^Q/"nj5Z06:+"*
BDFChar: 280 278 8 1 7 0 12
&-2][J:RWLJ:N0#rVuou
BDFChar: 306 279 8 0 6 0 10
@@ -26585,6 +26597,10 @@ BDFChar: 252 8364 9 0 7 0 11
%M9gK5lO%J5TgXK
BDFChar: 253 8482 14 1 12 7 11
q@Fl*,1%O\+qO_S
+BDFChar: 266 64257 9 0 6 0 12
+3'oqsnj5Z06:+"*63$uc
+BDFChar: 267 64258 8 0 6 0 12
+3^Q/"nj5Z06:+"*63$uc
BDFChar: 280 278 9 1 8 0 14
(`38QJ:N0#s+#WMJ:RY"
BDFChar: 306 279 8 0 6 0 11
diff --git a/fonts/tahoma.ttf b/fonts/tahoma.ttf
index 4f68d1edfa825a0b27e0f41932867b768157a7a7..39cd156e590a86b27d66c1abe026eefb569703c3 100644
GIT binary patch
delta 9261
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
D^h$Ea
delta 8726
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
J(W^4)e**UO;}ZY?
--
2.12.2

View File

@@ -0,0 +1 @@
Fixes: Add glyphs U+FB01 and U+FB02 to Tahoma font

View File

@@ -1,32 +0,0 @@
From 0c1c8f2879629c0e698c23373e699742f34b2bd1 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 27 Dec 2015 22:25:31 +0100
Subject: Revert "iexplore: Sync registry and program resource values."
This reverts commit bda46cc6fd5fa0f3c9db947108b685533662037a.
---
programs/iexplore/iexplore.rc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/programs/iexplore/iexplore.rc b/programs/iexplore/iexplore.rc
index 3d6d50f..cd75781 100644
--- a/programs/iexplore/iexplore.rc
+++ b/programs/iexplore/iexplore.rc
@@ -18,10 +18,10 @@
#define WINE_FILEDESCRIPTION_STR "Wine Internet Explorer"
#define WINE_FILENAME_STR "iexplore.exe"
-#define WINE_FILEVERSION 9,0,8112,16421
-#define WINE_FILEVERSION_STR "9.0.8112.16421"
-#define WINE_PRODUCTVERSION 9,0,8112,16421
-#define WINE_PRODUCTVERSION_STR "9.0.8112.16421"
+#define WINE_FILEVERSION 6,0,2900,2180
+#define WINE_FILEVERSION_STR "6.0.2900.2180"
+#define WINE_PRODUCTVERSION 6,0,2900,2180
+#define WINE_PRODUCTVERSION_STR "6.0.2900.2180"
#define WINE_EXTRAVALUES VALUE "OLESelfRegister",""
#include "wine/wine_common_ver.rc"
--
2.6.4

View File

@@ -1 +0,0 @@
Fixes: Workaround installation bug of IE7 caused by version bump

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