Commit Graph

554 Commits

Author SHA1 Message Date
Chip Davis 289d456dd6 ntdll: Fix tick count calculation on Mac.
Inspired by a patch by Andrew Eikum.

macOS's mach_absolute_time() stops counting when the computer goes to
sleep/suspend/hibernate/etc. However, Windows's GetTickCount() does not
stop counting. mach_continuous_time() matches Windows's behavior.

BSD's CLOCK_MONOTONIC already counts asleep time.

Unfortunately, there is no clock source on Linux which does exactly what
we want. CLOCK_MONOTONIC_RAW is unaffected by NTP adjustment, but like
mach_absolute_time() doesn't keep ticking when the computer is asleep.
CLOCK_BOOTTIME does keep ticking, but it is affected by NTP adjustments.
CLOCK_MONOTONIC has both problems. What's needed is a
CLOCK_BOOTTIME_RAW, which would not be slewed by adjtimex(2) and would
count time spent asleep.

To avoid issues with skew and performance, this patch falls back to
mach_absolute_time() on macOS if mach_continuous_time() is unavailable.
Note that mach_continuous_time() was introduced in macOS 10.12, meaning
that if the minimum version required is less than that, it will be
linked weakly. Therefore we must check that it is nonnull before
attempting to call it.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Hans Leidekker b7ab346cf7 mountmgr.sys: Add support for querying DHCP parameters on macOS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:05 +01:00
Jacek Caban a94c8d5b6b configure: Get rid of no longer needed __builtin_clz check.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:37:44 +01:00
Zhiyi Zhang be54adcffc winex11.drv: Support XRandR display device handler.
XRandR supports multiple GPUs and runtime device change
compared to Xinerama.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:18 +02:00
Zhiyi Zhang 0d23ecd9ec winemac.drv: Fix build with older macOS SDKs.
macOS SDKs older than 10.11 doesn't support Metal.
macOS 10.11 and 10.12 SDK support Metal but don't
support registryID in MTLDevice protocol. Recommend
using 10.13+ SDK.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:16:04 +02:00
Naveen Narayanan 624bcd314c libwine: Only link libi386 with the libraries that need it.
In particular it does not make sense to link executables and dlls built
with MinGW with it.

Signed-off-by: Francois Gouget <fgouget@icodeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:45:20 +02:00
Naveen Narayanan 557c4334a5 wineoss: Fix the -lossaudio check.
Only check for libossaudio if compiling wineoss.drv and the headers
are recent enough. Also only wineoss.drv needs to be linked with
libossaudio so put the link options in OSS4_LIBS.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Alexandre Julliard d2e4a6fae0 configure: Add support for using an external libunwind.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Martin Storsjo e38b46e7f7 msvcrt: Implement the tgamma functions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:57:12 +02:00
Ethan Lee d341efeff0 xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 22:22:22 +02:00
Andrew Eikum fa54e895a7 msvcrt: Implement fma and fmaf.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Alexandre Julliard ce09e564d7 configure: Don't allow using config.h when cross-compiling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:53 +02:00
Alexandre Julliard b8daf1f134 configure: Rename WINE_CROSSTEST to WINE_CROSS_PE.
It's not used only in tests.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 17:19:45 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alexandre Julliard d624883047 include: Move DECLSPEC_HOTPATCH definition out of config.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:35 +02:00
Martin Storsjo de8be4a09c msvcrt: Implement the remquo family of functions.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Zebediah Figura 34ef3c89ad qcap: Port to libv4l2.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:43:15 +02:00
Alexandre Julliard 8d20ad28c3 configure: Remove some obsolete checks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 10:43:57 +02:00
Alexandre Julliard 817fb9755c configure: Hardcode some functions for Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 23:40:39 +01:00
Alexandre Julliard 4d4c55d061 configure: Hardcode some types for Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 23:40:39 +01:00
Alexandre Julliard 667bc336fe configure: Hardcode some headers for Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 23:40:39 +01:00
Alexandre Julliard 47c440a8a9 libport: Remove checks for strerror().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 19:47:35 +01:00
Alexandre Julliard 4fcd86e17d libport: Remove checks for memmove().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 19:47:21 +01:00
Alexandre Julliard cba41d9bfd libport: Remove checks for gettimeofday().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 19:47:21 +01:00
Alexandre Julliard 2f149571d5 configure: Remove a few no longer used definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 14:58:27 +01:00
Nikolay Sivov 8c8d8e80f5 ucrtbase: Add ilogb* functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Zebediah Figura 28e74af742 msvcr120: Add nexttoward implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45631
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 17:48:02 +01:00
Ethan Lee 3e390b1aaf xaudio2: Rewrite to use FAudio.
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 17:35:14 +01:00
Alex Henrie 48f108345a msvcrt: Use isnan instead of isnanf.
This resolves several warnings when compiling with MinGW because isnanf
is not in MinGW's math.h (it's not a standard C function). On the other
hand, isnan is a widely available C99 macro designed for both floats and
doubles. We also have an isnan implementation in libs/port/isnan.c for
pre-C99 compilers.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Andrew Eikum 10035f1b97 winemac: Implement Vulkan driver on top of MoltenVK.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Ken Thomases 357017cd87 winemac: Implement WineMetalView class.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia 281bdcac73 configure: Check for libvkd3d.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-24 09:11:23 +02:00
Alex Henrie acd2f1e59b msvcrt: Compile but show an error if Bessel functions aren't available.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:59:19 -06:00
Roderick Colenbrander 75b68a8585 winevulkan/winex11: Implement vkCreateInstance.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Aric Stewart f8c0228dc2 winebus.sys: Add SDL gamepad and joystick driver.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 18:51:58 +01:00
Alexandre Julliard e7202687fc ntdll: Remove support for vm86 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:57 +01:00
Hans Leidekker 737d464e75 kerberos: Implement SpAcquireCredentialsHandle.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-24 16:12:38 +01:00
Martin Storsjo 4415653f84 ntdll: Implement NtFlushInstructionCache using __clear_cache where available.
The configure check needs to be done with a more elaborate test than
just AC_CHECK_FUNC, since it's a built-in function in clang and errors
out if invoked with no parameters.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Alexandre Julliard 9d36aad457 libport: Add a replacement implementation for strnlen.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-15 11:00:36 +01:00
Hans Leidekker 20aaf167dd bcrypt: Add support for AES encryption on macOS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:58 +01:00
Dmitry Timoshkov e9063e1243 kerberos: Add a stub for Kerberos5 Authentication Package.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-18 11:49:58 +02:00
Vincent Povirk 66b126b675 windowscodecs: Generate a palette for color-keyed grayscale PNG's.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Hans Leidekker 8aa300ba1a configure: Check for gnutls_cipher_init instead of gnutls_hash.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 22:30:16 +09:00
Alex Henrie 31b835d0e0 msvcr120: Add log1p.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Alex Henrie 79715cce88 msvcr120: Add expm1.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:26 +02:00
Alex Henrie 26163f5cdf msvcr120: Add erfc.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:11 +02:00
Alex Henrie 860c1578e6 msvcr120: Add atanh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:44 +02:00
Alex Henrie f1dad14807 msvcr120: Add acosh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:27 +02:00
Alexandre Julliard ad9fbf8e0a configure: Add check for OpenGL ES libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-22 21:42:45 +02:00
Alexandre Julliard 7f23bbe7f9 iphlpapi: Check if getifaddrs really exists.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 18:46:29 +02:00