Rémi Bernon reports an unspecified issue with gcc 11 related to
compute_sphere_visibility() expecting 12 input planes, but
d3d_device3_ComputeSphereVisibility() only providing 6. The actual number of
planes required depends on the "enabled_planes" mask. This patch should make
the code better reflect that, but I do not have a gcc 11 setup to verify it
resolves the issue there.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Native msado15 queries this to workout if interface IMultipleResults can
be used with CreateCommand.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Prevent division by zero exceptions from being thrown,
if they are enabled and calls to xmlXPathInit() are being made.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52003
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This matches what was done for x86_64 in
882980c17a.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This is a very close copy of the arm64 implementation.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Store the original stack pointer (on entry to the syscall dispatcher)
in syscall_frame; the stack pointer itself is incremented by
"pop {r0-r3}" right before calling the syscall itself.
This fixes unwinding from functions set up by syscalls, like
KiUserExceptionDispatcher.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
We ideally should back up all of d0-d31, but when building in ELF
form, only d0-d15 are normally available (with common distributions'
default compilers), unless object files are built with flags to enable
support for d16-d31 (with e.g. -mfpu=neon).
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
RtlCaptureContext doesn't set context->Lr, which is needed for
being able to unwind from the context.
This matches what is done in the arm64 version.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This does the same as 23b44e8df6,
but for arm:
Don't call KiUserExceptionDispatcher directly on the stack pointer
stored in the CONTEXT, but use the one stored in syscall_frame
(which includes the stack allocation in e.g. RtlRaiseException).
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This differs slightly from the official docs (which is clear in some
places, vague in others, and contradictory in some places), based
on actual observed behaviour.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This isn't mentioned in the documentation (which only writes out the
instruction that is executed while unwinding, i.e. the mirror form of
it), but a prologue version of this instruction would look like this.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Some functions aren't available in real kernel32.dll on i386, even if
they are available in ntdll (and thus are available on x86_64,arm,arm64),
some should be available on more architectures but aren't implemented
in ntdll yet.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This doesn't fix (or break) any case known to me, but the code seems
wrong.
Leaf functions on arm (either 32 or 64) don't generally have any
default/implicit stack allocation.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Fixes a regression introduced by
6dcaff421f.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
It's not completely correct yet as dinput version 0x500 and probably
below enumerate objects following the default data format instead of
a device specific one.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Fixes 4 second hang in Yooka-Laylee and the Impossible Lair when a
controller is connected.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
These signatures extend the OSG5 format by a minimum precision hint, which gets
ignored for now but could be implemented using 16-bit floats in the future.
Fixes some shader parsing errors in Resident Evil 2.
Based on a vkd3d patch by Philip Rebohle.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
It may load buffers into a different location.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>