src


Log

Author Commit Date CI Message
Sylvain eff840bb 2021-04-01T23:30:59 Add OpenGLES implementation
Sylvain 6e47f538 2021-04-01T20:18:05 Fix warnings
Sylvain Becker cd4663df 2021-04-01T11:11:12 Update D3D11 for SDL_RenderGeometryRaw
Sylvain 9eab5195 2021-03-16T16:59:18 Update dynapi files
Sylvain Becker 9a8a8e65 2021-03-16T16:04:33 Update SDL_render_d3d11.c Fix D3D11 compilation
Sylvain Becker 9f591707 2021-04-01T10:37:45 Update METAL backend for SDL_RenderGeometryRaw
Sylvain 4869a3d2 2021-04-01T14:36:31 Add Direct3D9 implementation (not tested)
Sylvain 61d9e916 2021-04-01T10:16:27 For the software renderer, try to reinterpret triangles as SDL_Rect With Dear ImGui + software renderer, it draws: - by default at 250 fps - drops to 70 fps if you show the color picker - drops to 10 fps if put the color picker fullscreen
Sylvain Becker 121114d0 2021-03-16T15:44:49 Update METAL compiled shaders
Sylvain Becker 2d01573b 2021-03-16T15:44:33 Add METAL shaders
Sylvain cc37c38e 2021-04-01T09:55:00 Add SDL_RenderGeometry based on SDL_RenderGeometryRaw
Sylvain Becker 1e77dae7 2021-03-16T15:44:04 Add METAL implementation
Sylvain 1ebef073 2021-03-16T15:15:43 Add D3D11 implementation (not yet tested)
Sylvain 32e79101 2021-04-01T20:27:22 Fix warnings
Sylvain 4ba37638 2021-04-01T12:43:39 Save and restore SDL renderer state after transforming triangles to rect
Sylvain e4812611 2021-04-01T09:49:16 Move to SDL_RenderGeometryRaw prototype with separate xy/uv/color pointer parameters
Sylvain 3ee511d7 2021-03-16T15:14:58 Add software renderer implementation
Sylvain 37f78fc1 2021-03-16T15:13:15 Add OpenGL implementation
Sylvain 111c70e1 2021-03-26T09:09:08 Use 64 bits precision to prevent overflow when interpolating color / texture with wide triangles
Sylvain faded41a 2021-03-16T15:11:13 Add OpenGLES2 implementation
Sylvain 6e26d320 2021-03-16T15:09:34 Add sysrender interface
Sylvain cd0663e0 2021-04-01T11:47:45 Fix declaration-after-statement and remove tabs
Sylvain f73c1eff 2021-03-17T09:58:49 Use normalized texture coordinates
Sylvain 53a2608b 2021-03-14T22:32:17 Renderer opengles2: turn color Uniform into Attribute. all attributes are copied interleaved (based on rmg-nik initial patch+ + minor clean up of data structure + add check for colorswap
Sylvain 5828cc41 2021-03-16T21:54:27 Update METAL backend: fix a typo in drawline
Oschowa bfa15931 2021-08-18T12:04:38 audio: pipewire: Set PW_KEY_NODE_RATE to suggest a rate. This can be used by recent pipewire to avoid resampling.
Aleksey Rybalkin 402b86f2 2021-08-15T14:41:56 waylandevents: prevent segfault if xkb compose table is not found this can happen e.g. on pure wayland system where there is no X11 locales for xkbcommon to find.
Jānis Rūcis 454943cf 2021-04-11T16:44:48 emscripten: Don't flag window fullscreen on external requests Also, the condition was always true.
Joseph Kogut 55af8dca 2019-02-27T14:16:37 emscripten: use emscripten_set_window_title api
Joseph Kogut d8baad7e 2019-02-27T14:15:40 emscripten: use emscripten_get_screen_size api
Charlie Birks abc04270 2020-04-15T15:22:39 emscripten: Fix framebuffer array creation optimisation
Charlie Birks b4f11a36 2020-04-15T14:48:52 emscripten: Drop commented out code from the dummy driver
David Gow fbc36490 2021-08-14T22:29:05 Use the new SDL_clamp() macro where sensible There were a few places throughout the SDL code where values were clamped using SDL_min() and SDL_max(). Now that we have an SDL_clamp() macro, use this instead.
Charlie Birks 07a2d71e 2021-03-30T11:56:38 emscripten: Feed silence to device when paused
Sam Lantinga dcc5eef0 2021-08-14T00:31:46 Clarify that one of the PIDs of the Xbox Elite Series 2 controller is used in Bluetooth mode
Sam Lantinga 91a55a02 2021-08-13T23:59:39 Relative mouse motion is delivered to the window with keyboard focus This was the original intent (note SDL_UpdateWindowGrab() in SDL_OnWindowFocusGained() and SDL_OnWindowFocusLost()) and fixes a bug where relative motion unexpectedly stops if the task bar is covering the bottom of the game window and the mouse happens to move over it while relative mode is enabled. Another alternative would be to confine the mouse when relative mode is enabled, but that generates mouse motion which would need to be ignored, and it's possible for the user moving the mouse to combine with the mouse moving into the confined area so you can't easily tell whether to ignore the mouse motion. See https://github.com/libsdl-org/SDL/issues/4165 for a case where this is problematic.
Sam Lantinga 69477151 2021-08-13T23:45:01 Get the window size for the window receiving the mouse motion This is the mouse focus except in the case where relative motion is enabled and the mouse is over a window floating on top of the application window (e.g. the taskbar)
Sam Lantinga 6a1e1ed9 2021-08-13T23:36:13 Relative mouse mode grab is based on the window with the input focus This fixes restoring the cursor clip rectangle after the mouse has moved off of the window. Also try to better synchronize cursor visibility with mouse position changes when changing relative mode. This doesn't work perfectly, but it seems to improve things on Windows.
Sam Lantinga e42e9a12 2021-08-13T20:48:56 Fixed build
Sam Lantinga 441fbcaa 2021-08-13T20:48:54 Added HIDAPI support for the Xbox Adaptive Controller
Sam Lantinga b5e5c1ef 2021-08-13T17:53:39 Added Ctrl-T to toggle topmost mode in test programs
Sam Lantinga 4d9efcb5 2021-08-13T11:52:25 Fixed flag test for boolean correctness
Sam Lantinga b28ed028 2021-08-13T11:39:41 Don't warp the mouse for relative mode when the window doesn't have focus
Sam Lantinga 629e9f82 2021-08-13T11:06:43 Fixed return value of SDL_GetGrabbedWindow() when we have an internal grab because of mouse relative mode
Sam Lantinga 6aa1498b 2021-08-13T11:03:19 This assert wasn't correct, we set the internal grab for mouse relative mode as well.
Sam Lantinga 907943a2 2021-08-12T17:51:08 Added support for the Xbox One S Controller with 5.x series firmware
Joshua Root 1e921352 2021-08-13T07:58:48 Improve portability of SDL_Convert51ToStereo_AVX Don't rely on checking __clang_major__ since it is not comparable between different vendors. Don't use "#pragma clang attribute" since it is only available in relatively recent versions, there's no obvious way to check if it's supported, and just using __attribute__ directly (for gcc as well) results in simpler code anyway.
Ozkan Sezer 7aec0b90 2021-08-13T01:56:56 SDL_hidapi_xboxone.c: fix bogus 'uninitialized' warning from clang. The last 'size == 50' check is always true anyway.
Sam Lantinga 6eb4ebb5 2021-08-12T15:49:33 Simplified the HIDAPI Xbox One controller initialization
Sam Lantinga cec5a129 2021-08-12T15:49:33 Fixed libudev hotplug notifications in the HIDAPI driver
Simon McVittie 25cd749a 2021-08-12T15:12:04 x11: Don't change mode if we are already in the correct mode If we are already in the desired mode, changing it is a no-op at best, and harmful at worst: on Xwayland, it sometimes happens that we disable the crtc and cannot re-enable it. Resolves: https://github.com/libsdl-org/SDL/issues/4630 Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga 584b89ab 2021-08-12T08:17:10 Added support for the color LED on the Xbox Elite Series 2 controller
Sam Lantinga 64882b24 2021-08-12T08:17:08 Added support for the Xbox One Elite 2 Controller with 5.x series firmware
Ozkan Sezer ed6eb07e 2021-08-12T01:40:50 SDL_wasapi.c: fixed build against older SDKs.
Andrei Alexeyev 68ca35c3 2021-08-11T21:40:46 wayland: fix memleak in output listener
Andrei Alexeyev e9179314 2021-08-11T21:27:42 joystick/linux: fix memleaks; streamline joylist item removal
Ozkan Sezer 44a76710 2021-08-11T12:55:50 Don't disable clang avx instrinsics on win32 if __AVX__ is defined. C.f.: https://github.com/libsdl-org/SDL/issues/4533
Ethan Lee ae7ee2a5 2021-08-11T09:59:43 wayland: Ignore stateless/sizeless configs when starting in fullscreen mode
Sam Lantinga ac32c522 2021-08-10T18:11:09 Try using the built-in WASAPI audio rate conversion Fixes https://github.com/libsdl-org/SDL/issues/4608
Sam Lantinga cb1e20b0 2021-08-10T17:50:17 Added KMOD_SCROLL to track the scroll lock state Fixes https://github.com/libsdl-org/SDL/issues/4566
Sam Lantinga f5794f9e 2021-08-10T15:17:59 Added SDL_SetTextureUserData() and SDL_GetTextureUserData() to associate a user-specified pointer with an SDL texture
Sam Lantinga a0af7ce7 2021-08-10T15:05:49 OSS is no longer the preferred audio backend on modern UNIX systems Fixes https://github.com/libsdl-org/SDL/issues/4207
Sam Lantinga 3f6ebfff 2021-08-10T15:02:36 Updated to version 2.0.17 for development
Sam Lantinga 016b02f2 2021-08-10T12:16:55 Fixed build, C89 doesn't allow non-constant static initializers
Ozkan Sezer 77c8d111 2021-08-10T20:55:50 configuration updates for dlopen: - cmake, configure (CheckDLOPEN): --enable-sdl-dlopen is now history.. detach the dl api discovery from SDL_LOADSO_DLOPEN functionality. define HAVE_DLOPEN. also define DYNAPI_NEEDS_DLOPEN (CheckDLOPEN is called only for relevant platforms.) - update SDL_config.in and SDL_config.cmake accordingly. - SDL_dynapi.h: set SDL_DYNAMIC_API to 0 if DYNAPI_NEEDS_DLOPEN is defined, but HAVE_DLOPEN is not. - pthread/SDL_systhread.c: conditionalize dl api use to HAVE_DLOPEN - SDL_x11opengl.c, SDL_DirectFB_opengl.c, SDL_naclopengles.c: rely on HAVE_DLOPEN, not SDL_LOADSO_DLOPEN. - SDL_config_android.h, SDL_config_iphoneos.h, SDL_config_macosx.h, SDL_config_pandora.h, and SDL_config_wiz.h: define HAVE_DLOPEN. Closes: https://github.com/libsdl-org/SDL/pull/4351
hgs3 cb0fd05e 2021-08-07T22:41:54 Adding a clarifying comment in case a programmer unfamiliar with UTF-16 and UTF-32's relationship chances upon the code.
Henry G. Stratmann III 34701129 2021-08-07T20:51:49 Optimizing the implementation.
Henry G. Stratmann III 712e0d1f 2021-08-07T16:23:15 Fixing WM_CHAR event handling for Unicode characters outside the Basic Multilingual Plane.
Sam Lantinga fcfd19db 2021-08-10T12:02:17 Added support for SDL_RENDERER_PRESENTVSYNC to the software renderer This fixes https://github.com/libsdl-org/SDL/issues/4612
Sebastian Krzyszkowiak 25f9ed87 2021-08-10T13:10:36 audio: Fix false positives in driver name comparison Without this change, driver names don't get matched correctly; for example "a" can get matched with "alsa" since it only checks whether the string matches up to the length of the requested driver name.
Sebastian Krzyszkowiak b3a989d0 2021-08-10T13:08:27 video: Fix false positives in driver name comparison Without this change, driver names don't get matched correctly; for example "x" can get matched with "x11" since it only checks whether the string matches up to the length of the requested driver name.
Sam Lantinga de6ba40d 2021-08-09T11:38:22 Added support for the Flydigi Vader 2 controller in 2.4G Android mode
Sam Lantinga 3f440daa 2021-08-09T10:40:36 Added support for the Flydigi Vader 2 controller in Bluetooth mode
Cameron Gutman 6ae227d0 2021-08-08T23:27:08 x11/wayland: fix screensaver suspension via D-Bus b08b1bde introduced a subtle bug. Despite not using D-Bus types directly, the code used the SDL_USE_LIBDBUS definition set by SDL_dbus.h to conditionally compile calls SDL_DBus_ScreensaverTickle() and SDL_DBus_ScreensaverInhibit(). As a result, it still compiled without SDL_dbus.h included, but screensaver suspension silently failed to work. The D-Bus stuff could probably use some tweaks to be harder to accidentally break, but for now just restore the header includes.
Sebastian Krzyszkowiak 2e6dac87 2021-08-09T01:47:42 wayland: Add a hint to allow disabling libdecor use Useful for testing xdg-shell path with compositors like Weston.
Cameron Gutman 092a20d9 2021-08-08T16:47:34 wayland: Avoid busy waiting for vsync
Cameron Gutman 791d9d3f 2021-08-07T12:41:15 Fixed DInput mapping for NVIDIA Virtual Gamepad
Ethan Lee 7be970db 2021-08-06T19:51:27 wayland: Avoid setting floating width/height when re-entering fullscreen
Sam Lantinga bec78357 2021-08-06T14:20:55 Better fix for compiling using clang on Windows This fixes https://github.com/libsdl-org/SDL/issues/4533
Sam Lantinga a91ab883 2021-08-06T12:28:03 Fixed building on Windows with cmake, ninja, and clang
Ryan C. Gordon dd683073 2021-08-06T15:13:14 hidapi: Patched to compile on QNX. Fixes #4591.
Sam Lantinga cae7bd9b 2021-08-06T12:01:24 Don't use AVX with clang if the compiler isn't building with AVX instructions Fixes https://github.com/libsdl-org/SDL/issues/4533
Ethan Lee 10979d37 2021-08-05T12:42:03 wayland: Always assume configure is wrong for non-resizable windows. Configure events from compositors have an extremely annoying habit of giving us completely bogus sizes, from all sorts of places. Thankfully, the protocol gives us the ability to completely ignore the width/height and just stick with what we know, so for all windows that are not meant to be resized, pretend we never even got the width/height at all, the compositor is required to respect our dimensions whether they match configure's suggestion or not.
Sam Lantinga 88674b4a 2021-08-04T13:17:35 Fixed build
Sam Lantinga c14813a8 2021-08-04T13:00:14 Fixed spacing
Sam Lantinga 3cad447e 2021-08-04T12:57:51 Only update the window size if setting the display mode succeeded
Daniel Gibson 0eb6f791 2021-05-21T13:48:14 SDL_SetWindowDisplayMode(): If already fullscreen, adjust window size Otherwise only the display resolution is changed, but the SDL window size (and for example the window-surface size) aren't adjusted accordingly and thus don't fill the whole screen. See #3313
Daniel Gibson 72d81285 2021-05-19T18:47:56 Improve SDL_CreateWindow() fullscreen support on Windows .. and maybe other platforms as well (though X11 was not affected)? The issue was that passing a higher resolution than the current desktop resolution to SDL_CreateWindow() with SDL_WINDOW_FULLSCREEN didn't switch to that resolution (even though it did switch to lower resolutions). When creating a fullscreen window, window->fullscreen wasn't even set at all (only zeroed out), setting it only happened if the user explicitly called SDL_SetWindowDisplayMode(). So without that, SDL_CreateWindow() -> SDL_UpdateFullscreenMode() -> SDL_GetWindowDisplayMode() used the resolution from window->windowed.w/h which were limited to the desktop size due to some weird combination of WIN_AdjustWindowRectWithStyle() and WIN_WindowProc() being called after a call to SetWindowPos(). fixes #3313
Sam Lantinga 9fdb0645 2021-08-04T11:33:28 Added support for the Joy-Con Charging Grip when SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS is enabled
Ryan C. Gordon d4839702 2021-08-04T13:30:12 dbus: Wrap init in a spinlock. This prevents a race if two threads that need d-bus try to init it at the same time. Note that SDL_Init will likely handle this from a single thread at startup, but there are places outside of init where one might trigger D-Bus init, like setting thread priority (a common first thing for a new thread to do) resulting in SDL trying to use RTKit. Fixes #4587.
Cameron Gutman b08b1bde 2021-08-03T22:50:58 linux: remove d-bus lazy init dead code Lazy init in X11/Wayland is dead code since dbdbae4
Ryan C. Gordon 5fc13fcb 2021-08-04T07:00:17 direct3d: Commit viewport state before clearing, attempt 2. This reintroduces the fix from 0e16ee8330606603, but just marks the viewport state as dirty after a clear that needs to expand the viewport to fill the render target, as we'll need to also reset the orthographic projection state elsewhere, and that won't happen if we clear the dirty flag here. Fixes #4210. (again.) (...sorry...!)
Ryan C. Gordon ed6ce5cc 2021-08-04T02:34:09 log: Fixed compiler warnings on 64-bit Visual Studio.
Ryan C. Gordon 7e88e772 2021-08-04T02:30:47 winrt: Fixed incorrect code in a Windows Phone #ifdef.
Ethan Lee 32f909f7 2021-08-03T13:30:57 wayland: Remove redundant waylanddyn.h includes. All files including waylanddyn.h already include waylandvideo.h first.
Ethan Lee 124405a0 2021-08-03T13:17:19 wayland: Fix building without Vulkan support
David Gow 4077f7a2 2021-08-03T20:55:45 Update the Renderer dpi_scale on SIZE_CHANGED event (fix #4580) The Renderer logical scaling code scales mouse coordinates, and needs to take the window DPI into account on HIGHDPI windows. However, the variable which tracks this, renderer->dpi_scale, is set once when the renderer is created, and then not updated. In the event that the window is moved to another screen, or the screen DPI otherwise changes, this will be outdates, and potentially the coordinates will be all wrong. So let's update the dpi_scale on the SIZE_CHANGED event: it's at least a possibility that this will be issued on some OSes when DPI changes, and it's otherwise already handled by SDL_Renderer's event filter.
Sam Lantinga 9b4884d5 2021-08-03T09:23:54 Warn if you're building a partially functional RAWINPUT driver without device notifications
Sam Lantinga 886eb02e 2021-08-03T03:16:35 Fixed detection of Steam Virtual Gamepad with the WGI driver
Sam Lantinga 7c63e1d3 2021-08-03T01:52:02 Added WGI mappings for the Amazon Luna and Google Stadia controllers