Log

Author Commit Date CI Message
Sam Lantinga bf754b52 2021-01-04T12:17:24 Valve contributed code is under the Zlib license
Ozkan Sezer 8cb421b2 2021-01-04T10:20:10 SDL_windows_main.c: use new WIN_StringToUTF8W macro
Ozkan Sezer a594b850 2021-01-04T10:00:30 use WIN_StringToUTF8W macro instead of WIN_StringToUTF8, where needed: i.e. where the string is known guaranteed to be WCHAR*, in: - SDL_dinputjoystick.c (WIN_IsXInputDevice): VARIANT->var is BSTR (WCHAR*) - SDL_rawinputjoystick.c (RAWINPUT_AddDevice): string is WCHAR* - SDL_windows_gaming_input.c (IEventHandler_CRawGameControllerVtbl_InvokeAdded): string is WCHAR* There should be more of these..
Ozkan Sezer 5b14bbff 2021-01-04T10:00:10 make ANSI/UNICODE versions of WIN??UTF8 macros individually available.
Ozkan Sezer f2bd861c 2021-01-04T08:50:00 move SDL_tcsstr definition to core/windows/SDL_windows.h
Ozkan Sezer f414a436 2021-01-04T03:00:10 simplify Watcom implementation of SDL_MostSignificantBitIndex32()
Ozkan Sezer 390fd14f 2021-01-04T01:23:50 SDL_windowswindow.c (SDL_HelperWindowCreate): adjust for ANSI/UNICODE: change SDL_HelperWindowClassName and SDL_HelperWindowName from WCHAR * to be const TCHAR* cf. bug #5435.
Ozkan Sezer 398d2764 2021-01-04T01:23:50 RAWINPUT_InitWindowsGamingInput: change pNamespace from LPTSTR to PCWSTR because WindowsCreateStringReference specifically accepts const WCHAR * - WGI_JoystickInit(): ditto. cf. bug #5435.
Ozkan Sezer f09e0af7 2021-01-04T01:23:50 SDL_dinputjoystick.c (IsXInputDevice): adjust to be ANSI/UNICODE-agnostic cf. bug #5435.
Ozkan Sezer ed39f2f3 2021-01-04T01:23:50 SDL_wasapi_win32.c (WASAPI_PlatformThreadInit): use L instead of TEXT() because AvSetMmThreadCharacteristicsW specifically accepts WCHAR* input cf. bug #5435.
Ozkan Sezer 01a2f276 2021-01-04T01:23:50 consistently use TEXT() macro with LoadLibrary() and GetModuleHandle() cf. bug #5435.
Ozkan Sezer ae18109a 2021-01-04T01:23:50 SDL_windowsjoystick.c (SDL_CreateDeviceNotification): use L, not TEXT() cf. bug #5435.
Cameron Gutman 91a831e2 2021-01-03T14:02:55 Implement SDL_MostSignificantBitIndex32 using MSVC intrinsics
Sam Lantinga 393c8c1f 2021-01-03T10:32:55 Fixed bug 5440 - MacCatalyst build failures C.W. Betts I tested building commit http://hg.libsdl.org/SDL/rev/7adf3fdc19f3 on Mac Catalyst and found some issues: * MTLFeatureSet_iOS_* enums aren't available under Mac Catalyst. * OpenGL ES is unavailable under Mac Catalyst. * Some Metal features are available under Catalyst but not iOS, such as displaySyncEnabled. * Set Metal as the default renderer on Mac Catalyst Attaching a patch that will make SDL2 build for Mac Catalyst.
Sam Lantinga 6f9e18da 2021-01-03T10:18:39 Fixed bug 5441 - Add support for endianness check on FreeBSD: Fixes endianness checking on at least powerpc64le, maybe also other architectures VVD Patch based on patch from FreeBSD port devel/sdl20: https://svnweb.freebsd.org/ports/head/devel/sdl20/files/patch-include_SDL__endian.h?view=log
Cameron Gutman 014f507c 2021-01-03T12:13:40 Use specific acquire and release variants of InterlockedExchange on ARM _InterlockedExchange_rel() is required for correctness on ARM because the _ReadWriteBarrier() macro is only a compiler memory barrier, not a hardware memory barrier. Due to ARM's relaxed memory model, this means the '*lock = 0' write may be observed before the operations inside the lock, causing possible corruption of data protected by the lock. _InterlockedExchange_acq() is more efficient on ARM because it avoids an expensive full memory barrier that _InterlockedExchange() does.
Sylvain Becker fea49a3e 2021-01-03T15:24:47 SDL_stretch.c: compilation NEON on Windows 10
Sylvain Becker acccc71f 2021-01-02T22:31:44 Fixed bug 5436 - MSVC 2019 ARM64 build fails to compile SDL_stretch.c
Cameron Gutman 6cbd4417 2021-01-02T14:45:15 Add a hint for D3D9Ex to avoid having to choose at compile-time
Cameron Gutman 59594a78 2021-01-02T13:43:04 Implement PAUSE_INSTRUCTION() for Windows ARM platforms
Cameron Gutman 115d66e7 2021-01-02T12:50:01 Use MSVC _byteswap intrinsics for SDL byteswapping functions This generates bswap on x86/x64 and rev on ARM
Sam Lantinga 9130f7c3 2021-01-02T10:25:38 Updated copyright for 2021
Sam Lantinga 963c9495 2021-01-02T10:11:08 Fixed bug 5431 - SDL_Metal_GetDrawableSize is inaccurate for high dpi displays if a Metal view has not already been created Caleb Cornett For a window created with SDL_WINDOW_ALLOW_HIGHDPI, SDL_GL_GetDrawableSize will return the high-dpi drawable size even before any GL context creation happens. But SDL_Metal_GetDrawableSize will return the size of the window if the Metal view has not been created. This is confusing and inconsistent behavior. An easy way to test this is to build testgl2 and testvulkan on macOS with the SDL_WINDOW_ALLOW_HIGHDPI flag enabled during window creation. The GL2 program will report a drawable size of 2x window width and 2x window height, while the Vulkan program will report the window size. This patch addresses the issue by falling back to using the content view dimensions if no Metal view exists in the window. (The code for this was taken directly from Cocoa_GL_GetDrawableSize.) With this change, the testvulkan behavior matches that of testgl2. Note that I haven't tested for this issue on UIKit. It's possible a similar change will need to be made there too.
Sam Lantinga d25eff65 2021-01-02T10:06:22 Fixed bug 5429 - spinlock implements PAUSE_INSTRUCTION for PPC platforms David Carlier This form of 'or' provides a hint that performance will probably be improved if shared resources dedicated to the executing processor are released for use by other processors
Sam Lantinga f0b6c787 2021-01-02T09:58:08 Fixed Windows XP compatibility with recent hidapi commit
Sylvain Becker 3edf337d 2021-01-02T17:29:34 Simplify RenderGetViewportSize
Sylvain Becker 2af765da 2021-01-02T17:18:13 SDL_RenderGetViewportF: only need the size of viewport (see bug #5424)
Sylvain Becker 41597249 2021-01-02T16:15:22 SDL_RenderGetViewportF: remove debug messages
Sylvain Becker 8c48c423 2021-01-02T16:12:30 Add SDL_RenderGetViewportF: fix lost of precision while scaling (see bug #5424)
Sylvain Becker c005267f 2021-01-02T09:38:19 SDL_BlitScaled: better and safer fix clipping bug #2687 And re-use SDL_round(), since it's been re-added (remove in https://hg.libsdl.org/SDL/rev/34043108b7e4 )
Sylvain Becker 2127ed25 2021-01-02T09:28:16 SDL_SoftStretch: add a check for input pixel format and function re-naming
Cameron Gutman 414ddc32 2021-01-01T17:34:07 Do not wait in GetOverlappedResult() in hid_read_timeout() This is unsafe because the event is auto-reset, therefore the call to WaitForSingleObject() resets the event which GetOverlappedResult() will try to wait on. Even though the overlapped operation is guaranteed to be completed at the point we call GetOverlappedResult(), it will still wait on the event handle for a short time to trigger the reset for auto-reset events. This amounts to roughly a 100 ms sleep each time GetOverlappedResult() is called for a completed I/O with a non-signalled event. In the context of HIDAPI, this extra sleep means that callers that loop on hid_read_timeout() with timeout=0 will loop forever, since the 100 ms sleep each iteration ensures ReadFile() will always have new data.
Ozkan Sezer b5f0483c 2021-01-01T22:30:28 fix permissions
Sam Lantinga ab55ec48 2021-01-01T11:12:41 Fix use-after-free SBH corruption due to overlapped ReadFile in hidapi not being canceled for all threads before device close - hidapi already called CancelIo on hid_close but that only cancels pending IO for the current thread. Controller read/writes originate from multiple threads (serialized, but on a different thread nonetheless) but device destruction was always done on the main device thread which left any pending overlapped reads still running after hidapi's internal read buffer is deallocated leading to intermittent free list corruption.
Sam Lantinga 480c1f9f 2021-01-01T11:12:36 Make sure we're not starving report reads when there's lots of rumble
Sam Lantinga 223af86c 2021-01-01T11:12:30 Added SDL_RenderGetD3D11Device() to get access to the device associated with the D3D11 renderer
Sam Lantinga 5f0b2a7f 2021-01-01T11:12:22 Fixed resource leak with D3D11 NV12 textures
Manuel Alfayate Corchete 21003b7d 2020-12-31T14:31:29 [KMS/DRM] Small refactoring on the SwapWindow function.
Manuel Alfayate Corchete e1fb969b 2020-12-31T01:40:15 [KMS/DRM] Correct comments about last bugfix.
Manuel Alfayate Corchete e34caa97 2020-12-31T01:31:57 [KMS/DRM] Correct EGL/GL library loading on window creation, thus saving window re-creation.
Sylvain Becker d81fe923 2020-12-30T22:03:32 SDL_BlitScaled: remove un needed -1 +1 offset in calculation
Ozkan Sezer 8476df3e 2020-12-30T23:55:10 SDL_mixer.c: remove calls to non-existing m68k asm code.
Ozkan Sezer 5b2e011e 2020-12-30T23:55:02 SDL_endian.h: minor fixes from SDL-1.2 branch ( forward-port of changesets 3909:6832b00d3594 and 5657:529d23724144 )
Sam Lantinga 5aba0827 2020-12-30T11:38:51 Build SDL for Mac hardware when targeting iOS
Sylvain Becker 590a5469 2020-12-30T16:12:14 Fixed bug 5424 - Renderer doesn't use entirely the viewport when scaling is used Viewport/Clip dimensions are calculated usingg SDL_ceil whereas all renders use SDL_floor
Ozkan Sezer a88071de 2020-12-30T15:55:00 configure.ac: directfb dynamic loading support updates: put back sed on find_lib result, remove debug messages, fix directfb_lib report to user.
Ozkan Sezer f24cc903 2020-12-30T15:53:56 remove CFLAGS save/restores from dbus.h and ibus.h header checks. CPPFLAGS is what AC_CHECK_HEADER needs.
Ozkan Sezer 88eaf356 2020-12-30T15:53:20 minor update to test/acinclude.m4 (pkg.m4)
Ozkan Sezer 92edee23 2020-12-30T01:28:02 SDL_config_android.h: update SIZEOF_VOIDP define to respect __LP64__
Ozkan Sezer 7c105f12 2020-12-30T01:21:10 updates to SDL_config_os2.h
Ozkan Sezer 1cdc1d48 2020-12-30T01:00:24 SDL_config.h.cmake, SDL_config.h.in: update for SIZEOF_VOIDP define
Ozkan Sezer 9fc139df 2020-12-30T01:00:24 SDL_config_windows.h: add missing HAVE_STRTOULL along side HAVE_STRTOLL
Ozkan Sezer b76b81b0 2020-12-30T01:00:24 SDL_config.h.cmake, SDL_config.h.in: add os/2 driver defines in case autofoo or cmake is used for it some day..
Ozkan Sezer 8a32ee24 2020-12-30T01:00:24 removed MSVC strtok_s use from SDL_strtokr(). no other ??_s are used elsewhere in SDL_stdinc. besides, C11 has a strtok_s with a different signature.
Sam Lantinga 0684572c 2020-12-29T12:13:10 Added a hint to control whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.
Ozkan Sezer 6116ccf0 2020-12-29T21:20:28 fix configure warnings when checking dbus/dbus.h and ibus-1.0/ibus.h .. by adding DBUS_CFLAGS and IBUS_CFLAGS to CPPFLAGS: configure: WARNING: dbus/dbus.h: accepted by the compiler, rejected by the preprocessor! configure: WARNING: dbus/dbus.h: proceeding with the compiler's result configure: WARNING: ibus-1.0/ibus.h: accepted by the compiler, rejected by the preprocessor! configure: WARNING: ibus-1.0/ibus.h: proceeding with the compiler's result
Ozkan Sezer f1758241 2020-12-29T20:51:10 config.sub, config.guess: go back to backtick `..` substitutions. see e.g. https://lists.gnu.org/archive/html/config-patches/2020-12/msg00000.html
Sylvain Becker 80cf8a8b 2020-12-29T17:29:31 SDL_BlitScaled: also prevent crash if dest width or height is negative
Sylvain Becker f08b9a5b 2020-12-29T16:02:52 SDL_BlitScaled: prevent crash if dest width or height is 0
Manuel Alfayate Corchete 427c96ec 2020-12-29T14:24:38 [KMS/DRM] Rework some functions.
Sam Lantinga 67f0b9b8 2020-12-28T20:58:47 Fixed bug 5418 - Add system features detection for Elbrus (E2K) Ivan Kuzmenko MCST Elbrus 2000 (E2K, https://en.wikipedia.org/wiki/Elbrus_2000) is a russian processor architecture based on VLIW/EPIC instruction set (like Intel Itanium (IA-64) architecture). Architecture has half native / half software support of most Intel/AMD SIMD (e.g. MMX/SSE/SSE2/SSE3/SSSE3/SSE4.1/SSE4.2/AES/AVX/AVX2 & 3DNow!/SSE4a/XOP/FMA4). It also has built-in x86/x86_64 <-> e2k binary translators (RTC, http://www.mcst.ru/rtc and Lintel, http://www.mcst.ru/lintel) that can run code for x86/x86_64 architecture (Transmeta did something similiar with their Crusoe series) with SIMD extensions support. Attached patch allows SDL2 to detect extensions supported by E2K like MMX, 3dNOW!, AVX etc. (test/testplatform log: https://termbin.com/7qs3).
Ozkan Sezer 8eae956c 2020-12-29T00:00:56 regenerated configure
Sam Lantinga 3cb0e840 2020-12-28T11:47:53 Fixed bug 5422 - KMSDRM_LEGACY: Add OpenBSD support wahil1976 This patch adds support for OpenBSD to KMSDRM_LEGACY. Note that the patch won't be ported to the atomic KMSDRM backend because OpenBSD does not support atomic KMS properly yet.
Joel Linn 8fc0baad 2020-12-28T11:43:11 Add SDL_cond implementation using Windows Condition Variables Is automatically used when the SRW SDL_mutex implementation is active. Otherwise falls back to the generic implementation. v2: - Rebase onto master fa3ea1051a4b
Joel Linn 2443e51e 2020-12-28T11:42:49 Add optional suffix `_generic` to generic SDL_cond impl Allows for runtime selectable implementation
Manuel Alfayate Corchete 7539ac80 2020-12-28T18:22:07 [KMS/DRM] Restore hacky code to point to TTY buffer on surface destruction b/c I lack alternatives.
Sylvain Becker 5dabc4d7 2020-12-28T18:17:25 Revert changeset 14590 544ac819e8b3 , does not fully fix
Sylvain Becker 9efdafd4 2020-12-28T18:07:03 SDL_RenderCopy: scale before doing intersection this prevents drawing 1 pixel outside the screen, in letterbox mode
Manuel Alfayate Corchete 86b81abe 2020-12-28T16:19:19 [KMS/DRM_LEGACY] Prevent mouse cursor from staying onscreen after window destruction. Patch by Ozkan Sezer.
Manuel Alfayate Corchete 0feaf7d1 2020-12-28T14:37:58 [KMS/DRM][Vulkan] Correct non-existing property. Remove hacky surface destruction code (TTY buffer isn't there after a Vulkan window is created).
Sylvain Becker 7186584b 2020-12-28T10:41:37 fix indentation (bug 5313)
Ozkan Sezer 9e22f62e 2020-12-28T11:50:02 arm64 implementations of SDL_Swap16/32 (bug #5419.) patch from David Carlier.
Ozkan Sezer 2355dea4 2020-12-28T08:00:50 revert 'arm64 implementations of SDL_Swap16/32' for now (bug #5419)
Ozkan Sezer 2f99bc07 2020-12-28T07:20:20 arm64 implementations of SDL_Swap16/32 (bug #5419.) patch from David Carlier.
Sylvain Becker c2735c0b 2020-12-27T23:53:28 Better scaling fallbacks for the SW renderer (bug 5313)
Ozkan Sezer a6beb2d2 2020-12-28T01:10:02 SDL_PrivateLowerBlitScaled: remove unused local var 'a'
Sylvain Becker 30df2e4e 2020-12-27T23:00:11 Scaling fallbacks for the SW renderer (bug 5313)
Luca Weiss 040bd7a9 2020-12-28T00:55:28 Fix udev not detecting ID_INPUT_KEY devices when udev is not running https://bugzilla.libsdl.org/show_bug.cgi?id=5308 The udev code labels devices that are found by this code with ID_INPUT_KEY which in turn gets used by SDL to label the devices as SDL_UDEV_DEVICE_KEYBOARD. This was missing for the code path when udev is not running and as such devices such as the power button of a phone was not detected as keyboard input and no devices were emitted.
Sylvain Becker f9b5f6cc 2020-12-27T20:28:24 Forward scale mode to SW renderer (Bug 5313)
Ozkan Sezer 471d3c36 2020-12-27T14:00:30 fix bug #5415 -- fatal error: 'Cocoa/Cocoa.h' file not found in iOS build
Ozkan Sezer a6c6e5f5 2020-12-27T14:00:02 configure.ac: fix POSIX conformance issues (bug #4261.) Patch from Matt Whitlock: There are actually two distinct classes of problems at play here. On the one hand, libsdl2's configure.ac has some POSIX conformance issues - namely, the use of 'echo -n' and the passage of arguments containing embedded backslashes to 'echo', neither of which is defined by POSIX. The attached patch takes care of these issues.
Ozkan Sezer 9f6fddb4 2020-12-27T05:20:10 CMake: don't check for --no-undefined linker flag for OpenBSD (bug #5174) it now matches autotools.
Manuel Alfayate Corchete 46d31d57 2020-12-27T00:43:06 [KMS/DRM][Vulkan] Fix segfault when changing fullscren mode and permanent cursor when changing between Vulkan and GL renderers in vkQuake3. Tidy up window destruction code.
Joel Linn e7c47941 2020-12-25T17:10:02 Disable WaitOnAddress SDL_sem implementation on Windows Phone Apps that use the required APIs do not pass certification.
Joel Linn 5b64fdc9 2020-12-25T10:41:20 thread/windows: Remove synchronization.lib from WinPhone81 dependencies synch APIs are implicitly available on this platform.
Joel Linn d6afc1c6 2020-12-25T04:00:20 thread/windows: Statically link synchronization APIs on WINRT GetModuleHandleW is not available on those platforms --- .../WinPhone81_VS2013/SDL-WinPhone81.vcxproj | 8 ++++---- VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj | 12 ++++++------ src/thread/windows/SDL_sysmutex.c | 12 ++++++++++++ src/thread/windows/SDL_syssem.c | 11 +++++++++++ 4 files changed, 33 insertions(+), 10 deletions(-)
Sam Lantinga ff913a22 2020-12-23T16:16:55 Fixed compile warnings on platforms without hidapi support
Sam Lantinga 047b20e3 2020-12-23T16:11:16 Fixed compile warnings on platforms without hidapi support
Sam Lantinga 9838611a 2020-12-23T15:52:12 Fixed compiler crash building for iOS with clang 11.0.3
Ozkan Sezer 2b760c36 2020-12-24T01:55:00 attempt to fix emscripten-buildbot: s/wasm/wasm32/
Ozkan Sezer b9eb43a5 2020-12-24T01:32:10 build-scripts: update install-sh and mkinstalldirs from automake-1.16.3
Ozkan Sezer 3c4103b8 2020-12-24T01:20:00 fix config.guess permissions
Sam Lantinga fd3cb20b 2020-12-23T14:09:01 Fixed bug 5411 - config.guess and config.sub outdated Ozkan Sezer Our config.guess and config.sub are rather outdated. Attached new versions of them here. However, build-scripts/config.sub.patch do not apply to these new versions: I don't know if and where that patch is still needed.
Ozkan Sezer 5ed3d21f 2020-12-24T00:55:30 testsem.c: fix -Wmissing-braces warnings.
Sylvain Becker 4aebad77 2020-12-23T22:50:50 SDL_SoftStretchLowerLinear: try to make xcode buildbot compile (Bug 5313)
Sam Lantinga 93ccdee8 2020-12-23T13:47:49 Fixed bug 5404 - stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf Cameron Cawley stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf The default implementation is based on the one used in the Windows RT video driver.
Joel Linn d0b8295c 2020-12-23T13:36:46 Add SDL_sem implementation using Atomics and WaitOnAddress API. Keep Semaphore Kernel Object impl for Windows 7 and older - choose at runtime v2: - Fix mixed int/LONG types - Reorder definitions - Add missing include v3: - Use `GetModuleHandle()` to load the API Set
Joel Linn 2b040ceb 2020-12-23T13:36:23 Atomic test: Fix use after free SDL_SemPost() was called by the FIFO threads after the semaphore was freed because the main thread actually synchronized on the `writerRunning`/`readersRunning` count and not the semaphores itself.
Joel Linn 6267b951 2020-12-23T13:36:02 Semaphore test: Add overhead tests.
Joel Linn 95a6d4e8 2020-12-23T13:35:35 Semaphore test: Put test into separate function.