Module: wine
Branch: master
Commit: 264bd4fc84020f217807f1e59d3bfa9302e5110c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=264bd4fc84020f217807f1e5…
Author: Martin Storsjo <martin(a)martin.st>
Date: Fri May 29 13:51:04 2020 +0300
wine/asm.h: Don't define __ASM_CFI when using clang as cross compiler.
Consolidate the existing checks for __APPLE__ and __clang__ into one,
but only use it as long as __GNUC__ is defined (clang operating in
gcc compatible mode, as opposed to MSVC compatible mode) and as
long as __SEH__ isn't defined (which it is while cross compiling
targeting windows, when SEH is used as unwind format).
Signed-off-by: Martin Storsjo <martin(a)martin.st>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
include/wine/asm.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/wine/asm.h b/include/wine/asm.h
index 7650d84a79..592f638306 100644
--- a/include/wine/asm.h
+++ b/include/wine/asm.h
@@ -33,7 +33,7 @@
# define __ASM_STDCALL(name,args) __ASM_NAME(name)
#endif
-#if defined(__GCC_HAVE_DWARF2_CFI_ASM) || defined(__APPLE__) || defined(__clang__)
+#if defined(__GCC_HAVE_DWARF2_CFI_ASM) || (defined(__clang__) && defined(__GNUC__) && !defined(__SEH__))
# define __ASM_CFI(str) str
#else
# define __ASM_CFI(str)
Module: wine
Branch: master
Commit: 6c11d1d745af859cab682c3330bcf391f2521121
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6c11d1d745af859cab682c33…
Author: Martin Storsjo <martin(a)martin.st>
Date: Thu May 28 11:14:44 2020 +0300
ntdll: Implement RtlRestoreContext.
Call the consolidate frame callback before resuming. Before
calling the callback, fill in ExceptionInformation[10] with the
equivalent of dispatch.NonVolatileRegisters.
This fixes unwinding of MSVC C++ exceptions in a lot of cases.
Signed-off-by: Martin Storsjo <martin(a)martin.st>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
.../api-ms-win-core-rtlsupport-l1-1-0.spec | 2 +-
.../api-ms-win-core-rtlsupport-l1-2-0.spec | 2 +-
dlls/ntdll/ntdll.spec | 2 +-
dlls/ntdll/signal_arm64.c | 134 ++++++++++++++++++++-
4 files changed, 136 insertions(+), 4 deletions(-)
Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=6c11d1d745af859cab68…
Module: wine
Branch: master
Commit: 42a5885669e35f13725ab8e36d3a95132bd49ffc
URL: https://source.winehq.org/git/wine.git/?a=commit;h=42a5885669e35f13725ab8e3…
Author: Martin Storsjo <martin(a)martin.st>
Date: Thu May 28 11:14:41 2020 +0300
ntdll: Store the real stack pointer in RtlCaptureContext.
In most cases, unwinding will use the frame pointer anyway, so it
doesn't make much of a difference, but for cases where it won't,
capture the actual stack pointer.
(In most cases on arm64, calling the RtlCaptureContext won't cause
anything extra to be pushed on the stack at that point anyway).
Signed-off-by: Martin Storsjo <martin(a)martin.st>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/ntdll/signal_arm64.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index b364f08e9a..4c9017b9e2 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -265,8 +265,8 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 8,
"stp x23, x24, [x0, #0xc0]\n\t" /* context->X23,X24 */
"stp x25, x26, [x0, #0xd0]\n\t" /* context->X25,X26 */
"stp x27, x28, [x0, #0xe0]\n\t" /* context->X27,X28 */
- "stp x29, x30, [x0, #0xf0]\n\t" /* context->Fp,Lr */
- "add x1, x29, #0x10\n\t"
+ "stp x29, x30, [x0, #0xf0]\n\t" /* context->Fp,Lr */
+ "mov x1, sp\n\t"
"stp x1, x30, [x0, #0x100]\n\t" /* context->Sp,Pc */
"mov w1, #0x400000\n\t" /* CONTEXT_ARM64 */
"add w1, w1, #0x3\n\t" /* CONTEXT_FULL */
Module: wine
Branch: master
Commit: ad7fcd2c40eadb79a10ef64d6a9440b8b53132e6
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ad7fcd2c40eadb79a10ef64d…
Author: Martin Storsjo <martin(a)martin.st>
Date: Thu May 28 11:14:37 2020 +0300
configure: Pass -fasynchronous-unwind-tables to the compiler.
On aarch64-linux-gnu, unwind tables aren't emitted by default (contrary
to x86_64-linux-gnu), so we must pass the flag (or -funwind-tables)
to the compiler to make it generate them.
Previously wine just added the flag to the linker options.
Signed-off-by: Martin Storsjo <martin(a)martin.st>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
configure | 1 +
configure.ac | 1 +
2 files changed, 2 insertions(+)
diff --git a/configure b/configure
index b652ddbf79..f1292fa4ca 100755
--- a/configure
+++ b/configure
@@ -17909,6 +17909,7 @@ fi
$as_echo "$ac_cv_c_cfi_support" >&6; }
if test "$ac_cv_c_cfi_support" = "yes"
then
+ DLLFLAGS="$DLLFLAGS -fasynchronous-unwind-tables"
LDDLLFLAGS="$LDDLLFLAGS -fasynchronous-unwind-tables"
else
if test "x$enable_win64" = "xyes"
diff --git a/configure.ac b/configure.ac
index c0f60fe694..816e368451 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2141,6 +2141,7 @@ AC_CACHE_CHECK([whether CFI directives are supported in assembly code], ac_cv_c_
ac_cv_c_cfi_support="yes",ac_cv_c_cfi_support="no"))
if test "$ac_cv_c_cfi_support" = "yes"
then
+ DLLFLAGS="$DLLFLAGS -fasynchronous-unwind-tables"
LDDLLFLAGS="$LDDLLFLAGS -fasynchronous-unwind-tables"
else
if test "x$enable_win64" = "xyes"
Module: wine
Branch: master
Commit: c0ab55700f681ace7ac13f9fdaa6075185fef35c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c0ab55700f681ace7ac13f9f…
Author: Paul Gofman <pgofman(a)codeweavers.com>
Date: Thu May 28 22:50:16 2020 +0430
wined3d: Prepare/load the destination resource location in glsl_blitter_blit().
Like the other blitters. When the GLSL blitter was introduced, the idea was
that caller would be responsible for doing this, but we never ended up
updating the other blitters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49251
Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/wined3d/glsl_shader.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 7d16f03a21..ddb76143b5 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -13135,6 +13135,11 @@ static DWORD glsl_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bli
wined3d_texture_load(src_texture, context, FALSE);
}
+ if (wined3d_texture_is_full_rect(dst_texture, dst_sub_resource_idx % dst_texture->level_count, dst_rect))
+ wined3d_texture_prepare_location(dst_texture, dst_sub_resource_idx, context, dst_location);
+ else
+ wined3d_texture_load_location(dst_texture, dst_sub_resource_idx, context, dst_location);
+
wined3d_context_gl_apply_blit_state(context_gl, device);
if (dst_location == WINED3D_LOCATION_DRAWABLE)
Module: vkd3d
Branch: master
Commit: 6dace4a8be7bba174be2dc1acbd495697f07f5af
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=6dace4a8be7bba174be2dc1…
Author: Zebediah Figura <zfigura(a)codeweavers.com>
Date: Tue May 26 15:16:41 2020 -0500
vkd3d-shader: Read the resource index from idx[1] instead of idx[0] when looking up SM5.1 bindings.
We still use the first index to uniquely identify the register in vkd3d_symbol,
only changing which field is used to declare it.
This patch does not handle descriptor arrays.
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
libs/vkd3d-shader/dxbc.c | 18 ++++++++++++++++
libs/vkd3d-shader/spirv.c | 35 ++++++++++++++++----------------
libs/vkd3d-shader/vkd3d_shader_private.h | 10 ++++-----
3 files changed, 41 insertions(+), 22 deletions(-)
Diff: https://source.winehq.org/git/vkd3d.git/?a=commitdiff;h=6dace4a8be7bba174be…