Log

Author Commit Date CI Message
Pierre Wendling af79b46f 2022-05-16T20:34:07 Test: Add Sin tests to math suite.
Pierre Wendling b06eda55 2022-05-16T20:02:24 Test: Fix math suite build on Win32. The cosine precision test now uses an array of double and the result gets truncated instead of casted to signed int64.
Pierre Wendling a864180c 2022-05-15T19:36:30 Test: Add float header for FLT_RADIX definition.
Pierre Wendling 5ecc75a4 2022-05-15T16:30:38 Test: Add Pow tests to math suite.
Pierre Wendling 43c22e5d 2022-05-10T22:07:28 Test: Refactor math suite duplicate code. Many tests were using the same underlying routine, as such three helper functions were added: - A wrapper to test double -> double functions. - A wrapper to test (double, double) -> double functions, - A wrapper for range tests on double -> double functions.
Pierre Wendling 7389eba9 2022-05-04T12:49:25 Test: Fix C89 declaration and math include.
Pierre Wendling b3faebb8 2022-05-04T12:40:24 Test: Add Floor tests to math.
Pierre Wendling 3d720ba3 2022-05-10T21:05:05 Test: Refactor math suites edge cases. Split infinity and zero checks in their own functions. The result of NAN tests is now logged. The SDL_TestCaseReference structure were renamed to be more explicit.
Pierre Wendling b72b5d0f 2022-05-04T12:39:49 Test: Add math automation test suite.
Pierre Wendling 6349ad73 2022-05-15T11:52:12 Test: Add Log10 tests to math suite.
Pierre Wendling a530fc91 2022-05-09T22:56:44 Test: Add Copysign tests to math suite.
Pierre Wendling 48a406db 2022-05-06T14:32:50 Test: Add Fabs tests to math suite.
Pierre Wendling 7a55fa4e 2022-05-15T19:03:53 Test: Add Scalbn tests to math suite.
Pierre Wendling 7041bbaf 2022-05-15T11:36:12 Test: Add Log tests to math suite.
Pierre Wendling 2130dff0 2022-05-06T14:19:44 Test: Add Round tests to math suite.
Pierre Wendling 324b9615 2022-05-06T13:57:02 Test: Add Trunc tests to math suite.
Pierre Wendling dd30ff2e 2022-05-12T22:19:59 Test: Add Exp tests to math suite.
Pierre Wendling b09266a4 2022-05-06T13:51:04 Test: Add Ceil tests to math suite.
Pierre Wendling 9eb09d23 2022-05-06T13:39:44 Test: Refactored and formatted math test suite.
Pierre Wendling adb445ea 2022-05-16T18:29:08 Test: Add Cos tests to math suite.
Pierre Wendling afd81237 2022-05-15T17:43:38 Test: Add Sqrt tests to math suite.
Pierre Wendling aacb5e17 2022-05-11T22:17:18 Test: Extract range test parameters into defines.
Pierre Wendling 0f630e91 2022-05-04T21:37:40 Test: fix indentation in Makefile.in.
Pierre Wendling 4e3a26e2 2022-05-04T14:36:49 Test: Add math test suite to autotools.
Pierre Wendling 75b9aab6 2022-05-11T22:04:28 Test: Add Fmod tests to math suite.
Pierre Wendling e64acb61 2022-05-04T14:25:10 Test: Fix for-loop for OS/2 in math suite.
Pierre Wendling a3a852e9 2022-05-04T13:51:42 Test: Unrolled the array of cases in math suite. On OS/2, `INFINITY` is a `const double` which cannot be used to instantiate an array.
Pierre Wendling c389c32d 2022-05-15T17:00:12 Test: Change assertion type in range tests. Changes SDLTest_AssertPass(...) to SDLTest_AssertCheck(SDL_FALSE, ...) for failed assertions so the internal counter gets updated properly.
Pierre Wendling 0dbdf90e 2022-05-11T12:54:16 Test: Use SDLCALL in typedefs instead of ifdefs. Thanks to @sezero for the tip.
Pierre Wendling c23216bf 2022-05-04T13:20:09 Test: Removed static from local variables (Math). Static would break compilation on OS/2.
Pierre Wendling 6208ed86 2022-05-04T13:18:13 Test: Add math suite to Visual Studio solution.
Pierre Wendling 2ec48b36 2022-05-10T22:55:41 Test: Fix OS/2 compilation in math suite.
Pierre Wendling 6646edf6 2022-05-04T13:10:41 Test: Fix Windows build for math suite.
Pierre Wendling d9ff6380 2022-05-04T12:51:13 Test: Add math test suite to Watcom Makefile.
Anonymous Maarten 86f50ae7 2022-06-15T06:10:25 ci: Test cmake build script on Android android
Anonymous Maarten 18206446 2022-06-15T17:10:31 cmake: collect SDL_LIBS as list + export PKG_DIRECTFB_LDFLAGS
Anonymous Maarten b5f1fe50 2022-06-15T06:17:59 cmake: Allow integers for SDL_ASSERTIONS + fix -DSDL_ASSERTIONS=0
Anonymous Maarten 97711e99 2022-06-15T18:57:13 cmake: no need to explicitly add a depency (target_link_libraries does this implicitly)
Anonymous Maarten ad21c704 2022-06-15T05:36:28 cmake: fix CMP0072 warning by prefering GLVND
Yao Wei Tjong 姚伟忠 c90e1ec3 2021-08-15T21:51:31 Remove redundant sizeof "size_t" check The result variables: HAVE_${VARIABLE}, ${VARIABLE}, ${VARIABLE}_CODE, etc. do not seem to be referenced anywhere in the CMake build script.
Cameron Cawley 12f9bcd2 2022-05-08T17:08:41 Build tests for all CMake platforms on CI
takase1121 f8ae3ef1 2022-06-15T22:01:59 wayland: use libdecor resize edge enums for libdecor
Ozkan Sezer 163f6697 2022-06-15T17:00:02 minor tidy-up to configury.
Ozkan Sezer 960b86dc 2022-06-14T01:56:40 update SDL_render_d3d12.c after DPI scaling/highdpi support patch. See https://github.com/libsdl-org/SDL/pull/5778#issuecomment-1153006938
Anonymous Maarten 6d1dfc83 2022-06-15T04:29:14 cmake: make sure SDL2::SDL2 is always available
Anonymous Maarten 69df26a0 2022-06-15T03:51:46 ci: test clang+MinGW on CI
Anonymous Maarten 32df5aeb 2022-06-15T03:16:28 Check result of FindLibraryAndSONAME before use
Anonymous Maarten 8a2c6b60 2022-06-15T03:11:33 cmake: don't link to libibus (not needed, I think)
Anonymous Maarten c950018f 2022-06-15T03:07:41 cmake: don't link to libdbus (see note in SDL_dbus.c)
Anonymous Maarten fb7c03eb 2022-06-15T03:04:10 cmake: install LICENSE.txt
Anonymous Maarten afc350ee 2022-06-15T03:03:33 cmake: do 's#set(SOURCE_FILES #list(APPEND SOURCE_FILES #g'
Ryan C. Gordon ded6c22e 2022-06-14T14:09:13 render: Corrected wrong SDL_memcpy() sizes for viewport, cliprect. Fixes #5786.
Frank Praznik e427e80b 2022-06-14T10:41:18 wayland: Use the output descriptions from xdg-output when available Some compositors will provide 'nicer' / 'human readable' output descriptions via the xdg-output protocol. Use these description strings, when available, instead of the model name provided by wl-output. On compositors such as GNOME where this is provided, the display names provided to applications by SDL will now match those in the desktop display settings panel. On compositors where this data isn't provided, the old behavior of using the model string provided by wl-output will remain unchanged. Additionally, per the protocol spec, output data provided by xdg-output should supersede wl-output data, so this is the recommended behavior in general.
Ozkan Sezer 714502d3 2022-06-13T22:15:56 minor windows warning fixes.
Simon McVittie e9749859 2022-06-13T16:54:42 test: Add test coverage for surface size overflows Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 507ce36d 2022-05-10T10:35:06 video: Note unused SDL_surface creation parameters for removal in SDL 3 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 535fdc3a 2022-05-10T10:34:41 video: Detect and reject nonsense SDL_surface dimensions Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 8c9f7104 2022-05-10T10:33:54 video: Harden calculation of SDL_surface pitch and size against overflow If the width is sufficiently ludicrous, then the calculated pitch or the image size could conceivably be a signed integer overflow, which is undefined behaviour. Calculate in the unsigned size_t domain, with overflow checks. Signed-off-by: Simon McVittie <smcv@collabora.com>
Anonymous Maarten 6606ab8b 2022-06-13T18:35:32 Introduce EXTRA_TEST_LIBS variable for test-only libraries
Anonymous Maarten e99a7144 2022-06-13T18:04:51 Use list(APPEND EXTRA_LIBS) everywhere
Anonymous Maarten 851eecdf 2022-06-13T18:04:10 Don't add extra build linker flags to SDL2_static These leak to users, when SDL2 is vendored.
Simon McVittie 63b3b9a5 2022-06-13T16:02:40 Fix some typos in diagnostic messages Detected by Debian's packaging QA tool, Lintian. Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga c95edd94 2022-06-13T06:36:39 Fixed spacing
SDL Wiki Bot 33f8a4dd 2022-06-13T13:29:04 Sync wiki -> header
Sam Lantinga 6258f2ef 2022-06-13T06:27:01 Fixed spacing
Simon McVittie 73215379 2022-06-13T11:51:41 cmake: Fix static linking to dependencies with "-" in library name When SDL is built with Wayland support on Linux, and Wayland libraries are linked as dependencies instead of being loaded with dlopen(), its dependencies will include libraries whose names contain a dash, like `-lwayland-client` and `-ldecor-0`. Don't replace such libraries with `-lwayland` and `-ldecor`: those don't exist and linking them will fail. Signed-off-by: Simon McVittie <smcv@collabora.com>
Ozkan Sezer bdf14133 2022-06-12T23:22:20 autotools: fixed d3d12 detection result report.
Ryan C. Gordon 9a036767 2022-06-12T15:28:49 windows: Get better name for the physical display, for Vista and later. Fixes #5321.
Pierre Wendling 1963cccc 2022-06-12T09:48:57 CMake: Fix XCode CMake config file. (#5787) As mentionned in libsdl-org/SDL_net#48 and libsdl-org/SDL_ttf#213: - Options needs to use `SHELL:` to avoid aggressive option de-duplication - Framework path needs to be quoted to support paths with spaces.
Matthew Morrison b84ce0d4 2022-06-11T20:07:26 Fix typo platform was spelled like plattform
Cameron Cawley fd8cafc7 2022-06-11T17:11:55 Rename variables in SDL_egl.c to be more intuitive
Eric Wasylishen e09551bc 2022-06-09T02:22:21 Fix WinRT build
Eric Wasylishen 28308957 2022-06-08T23:49:05 testgles2.c: refresh cached SDL_GL_GetDrawableSize() on SDL_WINDOWEVENT_SIZE_CHANGED, not SDL_WINDOWEVENT_RESIZED Fixes bug with viewport not updating when moving window between monitors with different scale factors on Windows (this should also fix the same issue on other OS'es, though untested)
Eric Wasylishen ab81a559 2022-06-07T02:01:27 Windows DPI scaling/highdpi support Adds hint "SDL_WINDOWS_DPI_SCALING" which can be set to "1" to change the SDL coordinate system units to be DPI-scaled points, rather than pixels everywhere. This means windows will be appropriately sized, even when created on high-DPI displays with scaling. e.g. requesting a 640x480 window from SDL, on a display with 125% scaling in Windows display settings, will create a window with an 800x600 client area (in pixels). Setting this to "1" implicitly requests process DPI awareness (setting SDL_WINDOWS_DPI_AWARENESS is unnecessary), and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows.
Eric Wasylishen df36f926 2022-06-05T14:44:30 testautomation: add video_setWindowCenteredOnDisplay test
Eric Wasylishen 448e05e3 2022-06-05T12:51:57 add DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED define
Eric Wasylishen 1b797957 2022-06-05T12:36:58 SDL_windowsvideo.c: add HIGHDPI_DEBUG ifdef, print DPI awareness at startup if defined document some additional quirks
Eric Wasylishen 1488c408 2022-06-05T12:01:32 WM_DPICHANGED: remove some dead code, add comment
Eric Wasylishen 60ef11b3 2022-06-03T00:21:36 Fix Watcom compile errors
Eric Wasylishen d3b970d4 2022-05-29T21:56:37 HighDPI: remove SWP_NOSIZE in WIN_SetWindowPosition If the move results in a DPI change, we need to allow the window to resize (e.g. AdjustWindowRectExForDpi frame sizes are different). - WM_DPICHANGED: Don't assume WM_GETDPISCALEDSIZE is always called for PMv2 awareness - it's only called during interactive dragging. - WIN_AdjustWindowRectWithStyle: always calculate final window size including frame based on the destination rect, not based on the current window DPI. - Update wmmsg.h to include WM_GETDPISCALEDSIZE (for WMMSG_DEBUG) - WIN_AdjustWindowRectWithStyle: add optional logging - WM_GETMINMAXINFO: add optional HIGHDPI_DEBUG logging - WM_DPICHANGED: fix potentially clobbering data->expected_resize Together these changes fix the following scenario: - launch testwm2 with the SDL_WINDOWS_DPI_AWARENESS=permonitorv2 environment variable - Windows 10 21H2 (OS Build 19044.1706) - Left (primary) monitor: 3840x2160, 125% scaling - Right (secondary) monitor: 2560x1440, 100% scaling - Alt+Enter, Alt+Enter (to enter + leave desktop fullscreen), Alt+Right (to move window to right monitor). Ensure the window client area stays 640x480. Drag the window back to the 125% monitor, ensure client area stays 640x480.
Eric Wasylishen 51ebefee 2022-02-28T00:43:43 Support PMv2 DPI awareness, add SDL_HINT_WINDOWS_DPI_AWARENESS The hint allows setting a specific DPI awareness ("unaware", "system", "permonitor", "permonitorv2"). This is the first part of High-DPI support on Windows ( https://github.com/libsdl-org/SDL/issues/2119 ). It doesn't implement a virtualized SDL coordinate system, which will be addressed in a later commit. (This hint could be useful for SDL apps that want 1 SDL unit = 1 pixel, though.) Detecting and behaving correctly under per-monitor V2 (calling AdjustWindowRectExForDpi where needed) should fix the following issues: https://github.com/libsdl-org/SDL/issues/3286 https://github.com/libsdl-org/SDL/issues/4712
Cameron Gutman 81d3addd 2022-06-11T12:59:33 events: Fix spurious early returns from SDL_WaitEvent()/SDL_WaitEventTimeout() Fixes #5780
Nhalrath b3260e7e 2022-06-11T23:34:20 Remove macro definition for SDL_ERRBUFIZE I was looking at how errors are handled by SDL and came across this #define SDL_ERRBUFIZE which looks like a typo for SDL_ERRBUFSIZE, but either way, it looks like this isn't being used anywhere anymore because it was getting reported whenever I compile SDL with -Wunused-macros, and the last time it was mentioned in the code was from commit 09ca66b.
Frank Praznik 4a3277b0 2022-05-19T15:13:02 wayland: Always commit window constraints before entering fullscreen XDG-toplevel min/max size values are double-buffered data and must be committed before entering the fullscreen state, or a max window size value smaller than the display dimensions may cause the compositor to incorrectly configure the fullscreen window size. This fixes windowed->fullscreen transitions on GNOME, where, previously, certain combinations of window flags and min/max size values could cause entering fullscreen mode to fail with odd window sizes and/or offsets due to the new max size values not being committed before entering fullscreen, causing the compositor to clamp to the old values. In the case of libdecor, it has its own layer of buffering on top of the xdg-toplevel surface for the min/max window dimensions, so both a frame commit and surface commit are required to set the state properly.
Frank Praznik 78698a0b 2022-05-17T12:37:16 wayland: Use a separate frame callback for setting the surface damage region Previously, the surface damage region was being set in the same callback used for preventing render hangs in the GL backend when the surface was not visible. This was not ideal, as the callback was never fired in the case of using a different render backend or having a swap interval of 0. Use a separate frame callback for setting the surface damage region to ensure that it fires reliably, regardless of the backend being used or swap interval.
Frank Praznik 146ea9b0 2022-05-16T18:18:55 wayland: Only set the surface opaque region if EGL transparency is disabled Check if the "SDL_VIDEO_EGL_ALLOW_TRANSPARENCY" hint is enabled and don't mark surfaces as opqaue if it is.
Frank Praznik a20516d4 2022-05-16T10:35:56 wayland: Swap emulated mode dimensions in more cases Some compositors (GNOME for example) don't set the transform flag when dealing with portrait mode displays, so the video modes won't have the width/height swapped in all cases where they should be. Check for both the 90/270 degree transform flag and if the display is taller than it is wide when determining whether to swap the width and height of the emulated video modes, and adjust the comparison logic when size testing against the native mode to account for this.
Frank Praznik e1c83504 2022-05-15T10:35:59 wayland: Add a hint to disable video mode emulation under Wayland Add the hint "SDL_VIDEO_WAYLAND_MODE_EMULATION", which can be used to disable mode emulation under Wayland. When disabled, only the desktop and/or native display resolution is exposed.
Frank Praznik e9d3dcea 2022-05-14T18:32:05 wayland: Unify integer and fractional output scaling Previously, scale values used by the displays and surfaces were always integers, with fractional scale values only being calculated when the backbuffer and viewport sizes were being determined. Now, if xdg-output is available, the fractional scale of output displays is calculated when the displays are enumerated and the true scale values of the output devices are used whenever possible. This unifies the integer and fractional scaling systems, allows for the use of more accurate scale values that minimize overdraw when windows straddle multiple outputs, and lays the groundwork for the pending Wayland scaling protocols that will report the preferred scale values per-surface instead of per-output.
Frank Praznik 4fde7dd8 2022-05-14T14:42:52 wayland: Refactor the Wayland mode emulation and viewport logic Compartmentalize the fullscreen mode emulation code blocks, unify the windowed/fullscreen viewport logic, consolidate all window geometry code into a central function to eliminate blocks of duplicate code and rename related variables and functions to more explicitly reflect their purpose.
Sam Lantinga ce576323 2022-06-10T12:42:45 The backlight event is "change", not "add" or "remove"
Sam Lantinga 68544be4 2022-06-10T11:31:59 Added support for the Nintendo Online controllers
Ryan C. Gordon b75cd2b3 2022-06-10T14:12:03 x11: Force window back to expected size after SDL_SetWindowBordered. This helps if the window manager decided to let it fill the space that an existing border was using before its removal. Fixes #5718.
Ozkan Sezer 51db7754 2022-06-10T06:23:20 updated windows watcom exports file after last commit.
Sam Lantinga 9202df04 2022-06-09T18:11:34 Implemented SDL_GameControllerGetFirmwareVersion() for HIDAPI PS5 controllers
Guldoman e5a3acd6 2022-05-05T04:01:05 ime: fcitx: Retrieve cursor position and selection Also, if `SDL_HINT_IME_SUPPORT_EXTENDED_TEXT` is enabled, make use of `SDL_TEXTEDITING_EXT` by sending the full preedit string.
Guldoman dd7bed9e 2022-05-05T03:10:35 ime: ibus: Retrieve cursor position and selection Also, if `SDL_HINT_IME_SUPPORT_EXTENDED_TEXT` is enabled, make use of `SDL_TEXTEDITING_EXT` by sending the full preedit string.
Guldoman d11702ce 2022-05-05T02:34:16 ime: wayland: Make use of `SDL_TEXTEDITING_EXT` Because we were sending multiple chunks of preedit strings, `SDL_SendEditingText` was using the old `SDL_TEXTEDITING` event only. Now if `SDL_HINT_IME_SUPPORT_EXTENDED_TEXT` is enabled, we send the full string and correctly set the cursor position and selection size.
Guldoman 74bcc5a0 2022-05-05T02:23:05 stdlib: Add `SDL_utf8strnlen`
Sam Lantinga c7f41038 2022-06-09T13:47:29 Special case for k_eControllerType_XInputSwitchController in the raw input path