|
c2093fab
|
2022-04-08T13:58:45
|
|
video: wayland: Set the surface damage region when using fullscreen viewports
When using emulated display modes, the output size is often larger than the drawable buffer. As the surface damage region is automatically calculated from the smaller drawable buffer size, the damage region needs to be manually set to cover the entire viewport region or visual repaint artifacts can result.
|
|
ba0ba9ef
|
2022-04-08T01:20:36
|
|
direct3d11: Set the swapchain target immediately after creating it.
Fixes #4782
|
|
cb816308
|
2022-04-08T02:21:52
|
|
render: Update the size/scale/viewport on moves, in addition to resizes.
For OpenGL this means resetting the viewport state shadowing flag too.
Fixes #1504
|
|
5613a560
|
2022-04-07T11:32:22
|
|
Make sure the UIKit message box is being handled on the main thread
Potentially fixes https://github.com/libsdl-org/SDL/issues/4865
|
|
49b9e347
|
2022-04-07T08:24:03
|
|
Only update modifier state for keys that are pressed in another application
Fixes https://github.com/libsdl-org/SDL/issues/4432
|
|
85977354
|
2022-04-07T09:14:33
|
|
x11: Treat WM setting the window "fullscreen" like FULLSCREEN_DESKTOP.
Fixes #5390.
|
|
d1f7f9e3
|
2022-04-06T11:18:46
|
|
wayland: Pin the fake window position at (0, 0).
I kind of thought it'd be nice to have it in the center, but this is an issue
for applications that still assume global mouse and window positions are
accessible. For example, this fixes cursor offset issues in UE5.
|
|
279aeb59
|
2022-04-06T01:32:57
|
|
wayland: Add a bug link for the detach FIXME
|
|
3ada694e
|
2022-04-06T01:18:03
|
|
wayland: Try to detach at the beginning of ShowWindow, just in case.
It's possible that an external component (probably a GL/VK context) committed, so we need to cover our bases and detach in both HideWindow and ShowWindow.
Fixes a crash in UE5 editor's pop-ups.
|
|
dcfb7fff
|
2022-04-06T00:55:32
|
|
wayland: Evaluate WINDOWPOS_CENTERED_DISPLAY for move events
Partially fixes the mouse cursor in UE5 editor. Imperfect because UE5 uses window position and global mouse state to get position, but of course we don't have global mouse and this is just to get the right display index so this still fails overall. We really need to make global mouse support a feature query...
|
|
7ea1b69d
|
2022-04-05T21:00:07
|
|
Sort controllers by the js* index on Linux
Also fixed the initial scan to directly scan devices instead of using
udev so they can be sorted, as intended.
Fixes https://github.com/libsdl-org/SDL/issues/4688
|
|
0249df9d
|
2022-04-05T23:04:19
|
|
x11: Try to keep SDL_WINDOW_FULLSCREEN* in sync with window manager.
So if Gnome/KDE/etc have a keyboard shortcut or titlebar decoration to
make any window go fullscreen (with the _NET_WM_FULLSCREEN flag on the
_NET_WM_STATE property), we update the SDL window flag.
Fixes #5390.
|
|
eb660e86
|
2022-04-05T19:43:42
|
|
Cache the fact that a device didn't look like a joystick
Fixes https://github.com/libsdl-org/SDL/issues/5211
|
|
138d96c8
|
2022-04-05T19:30:25
|
|
Send key release event to input method. (#5281)
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
|
|
8bae343f
|
2022-04-05T22:19:25
|
|
x11: when waiting on fullscreen changes, not window position _and_ size.
This makes sure the window doesn't have outdated values if you try to access
them (or call something that does, like SDL_SetWindowMinimumSize).
Fixes #5233.
|
|
268c2fa8
|
2022-04-05T18:42:17
|
|
Don't resize fullscreen windows when hiding or minimizing them (thanks @madewokherd!)
This has the benefit of window previews (mousing over the icon) having the correct size and contents.
Fixes https://github.com/libsdl-org/SDL/issues/5320
|
|
def27267
|
2022-02-05T12:32:06
|
|
Ignore focus change messages that contradict GetForegroundWindow.
On Wine, when a window is programmatically minimized in response
to losing focus, we receive a WM_ACTIVATE for the deactivation,
but GetForegroundWindow still indicates that our window is focused.
This causes an incorrect SDL_WINDOWEVENT_FOCUS_GAINED.
This is probably a Wine bug, but it may take a while to fix and
then for the fix to make its way to users.
|
|
ff5b67e5
|
2022-01-30T16:29:05
|
|
IBus should use ev keycode instead of X keycode
See: https://github.com/ibus/ibus/blob/5a455b1ead5d72483952356ddfe25b9e3b637e6f/client/gtk2/ibusimcontext.c#L468
|
|
27fc582b
|
2022-04-05T15:11:49
|
|
Minor cleanup
|
|
86acb1a3
|
2022-04-05T15:05:07
|
|
Handle interaction between auto capture and the SDL_CaptureMouse() API
Fixes https://github.com/libsdl-org/SDL/issues/5457
|
|
0e198a87
|
2022-04-05T15:03:18
|
|
Added a define VERBOSE_MOTION_EVENTS to show mouse and finger motion events
|
|
a5672b85
|
2022-04-05T11:10:41
|
|
x11: Wait a bit to see if window pos changes when changing fullscreen.
Helps prevent window from moving to 0,0 when leaving fullscreen.
Fixes #4749.
|
|
45372b1c
|
2022-04-04T21:36:25
|
|
x11: Don't unload libGL.so to prevent a crash in XCloseDisplay()
libGL.so may register callbacks that can be invoked upon XCloseDisplay().
If XCloseDisplay() is called after libGL.so is unloaded, the callback pointer
will point at freed memory and invoking it will crash.
The texture framebuffer check optimized out in f37e4a9 was causing libGL.so to
never be unloaded as a side-effect. Skipping it exposed this bug by allowing
libGL.so to actually unload.
|
|
7b3449b8
|
2022-04-04T20:46:56
|
|
Minor cleanup
|
|
57118fb7
|
2022-04-02T13:49:50
|
|
render: Fix setting the scale mode for non-native textures
|
|
312c899f
|
2022-04-02T03:32:10
|
|
attempt to fix uwp build
|
|
575dadb1
|
2022-04-02T02:20:02
|
|
fix build against older SDKs after commit 8ebef12.
|
|
8ebef12d
|
2022-04-01T14:58:33
|
|
Use RoInitialize/RoUninitialize for Windows.Gaming.Input
Thanks @walbourn!
Fixes https://github.com/libsdl-org/SDL/issues/5270
|
|
78834b50
|
2022-04-01T08:01:44
|
|
Add SDL_list.c/h
|
|
ad6bc521
|
2022-04-01T07:59:16
|
|
Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR
|
|
0d7edcb7
|
2022-03-31T16:15:51
|
|
Fixed loading 32-bit BMP files
|
|
ea7d5307
|
2022-03-31T14:11:52
|
|
emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread.
|
|
fe79eb2f
|
2022-02-26T20:46:52
|
|
emscriptenframebuffer: fix formatting
|
|
268cc2a4
|
2022-02-26T20:42:54
|
|
emscriptenmouse: remove useless return statement
|
|
3136a530
|
2022-02-25T14:26:23
|
|
fix formatting and cast warnings
Co-authored-by: Charlie Birks <charlie@daftgames.net>
|
|
40415859
|
2022-02-25T00:12:33
|
|
emscriptenmouse: remove old extra `_INT`
|
|
4dca8f7f
|
2022-02-24T21:09:03
|
|
SDL2 thread proxying fixes
This PR uses new APIs added in [emscripten-core/emscripten#9336](https://github.com/emscripten-core/emscripten/pull/9336)
to improve compatibility with USE_PTHREADS=1.
Original PR: https://github.com/emscripten-ports/SDL2/pull/127
By: @jakogut
Reviewed by: Daft-Freak
|
|
1c7bf478
|
2022-03-31T10:09:02
|
|
x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions.
Reference Issue #4840.
|
|
95c0fec5
|
2022-03-31T12:35:17
|
|
Vita: PVROGL: fix indentation and ifdef guards
|
|
b5700ab3
|
2022-03-29T19:32:21
|
|
Cleanup Spaces
|
|
8c542a35
|
2022-03-29T19:08:56
|
|
Desktop OpenGL 1.X/2.X PSVita Support
|
|
2c04df8d
|
2022-03-30T18:33:38
|
|
joystick: Fix rumble issues on PS5 HIDAPI controllers
We were returning the report size from HIDAPI_DriverPS5_RumbleJoystick() rather
than 0 upon success, causing SDL_JoystickRumble() (and callers) to think that
rumbling failed.
This didn't cause major problems until 1868c5b, when it started preventing
rumble state from being persisted in the joystick core, even though it was
successfully sent to the hardware.
This led to all sorts of strangeness, including broken rumble duration and
attempts to stop rumble being discarded.
|
|
7e15ad2f
|
2022-03-30T14:15:52
|
|
x11: Catch X11 errors in X11_SetWindowPosition and X11_SetWindowSize.
The functions can go south if other operations are in progress, like
X11_SetWindowBordered, which might be doing something traumatic behind the
scenes of the window manager.
We can't make these tasks totally synchronous, which would fix the problem,
because not only can the window manager block however long it wants, it might
also decide to deny our requests without any notification, so we'd be waiting
forever for a window change that isn't coming. :(
Fixes #5274.
|
|
cbdb67b4
|
2022-03-30T00:12:42
|
|
Vita: add SDL_GetPreferredLocales support
|
|
178ac196
|
2022-03-29T23:48:08
|
|
Vita: add audio capture support
|
|
4d1905c9
|
2022-03-29T13:34:14
|
|
video: wayland: Use viewports for non-fullscreen windows with fractional scaling
Use viewports for non-fullscreen windows when the desktop uses fractional scaling and the window is flagged as DPI-aware to provide a backbuffer mapped as close to 1:1 output as possible. In the cases of odd window sizes the backbuffer may be a pixel off of scaling perfectly into the window size due to its scaled size being rounded off, but a minute amount of scaling during output is likely preferable to the large amounts of overdraw needed with integer scaled buffers.
|
|
fa4c5198
|
2022-03-28T21:32:30
|
|
video: wayland: Expose more resolutions for mode emulation
Expose as many emulated display modes as possible. They will currently display stretched to the display's native desktop aspect, but if an application requires a hardcoded resolution, it will work at minimum.
Aside from the change in the emulated display mode list, the Wayland event handling code had to be updated to support separate scaling for the x and y axes, as square pixels are no longer guaranteed.
|
|
d875416a
|
2022-03-28T15:32:30
|
|
wayland: Minor fix for old compilers
|
|
4d76c9cb
|
2022-03-25T20:35:07
|
|
video: wayland: Use wp-viewporter for fullscreen with non-native resolutions
Wayland doesn't support mode switching, however Wayland compositors can support the wp_viewporter protocol, which allows for the mapping of arbitrarily sized buffer regions to output surfaces. Use this functionality, when available, for fullscreen output when using non-native display modes and/or when dealing with scaled desktops, which can incur significant overdraw without this extension.
This also allows for the exposure of arbitrarily sized, emulated display modes, which can be useful for legacy compatability.
|
|
aec86ba8
|
2022-03-26T15:31:33
|
|
emscriptenaudio: proxy calls to main thread
|
|
96be9cdd
|
2022-03-27T21:48:09
|
|
Vita: add hint to select which touchpad generates mouse events
|
|
1db47d46
|
2022-03-28T15:39:13
|
|
Fix potential memory leak in QueueCmdFillRects
|
|
95ed8313
|
2022-03-25T15:22:10
|
|
Vita: Use preallocated memory pool for textures
|
|
7bc498d3
|
2022-03-27T09:12:12
|
|
direct3d: Implement missing blend operations.
This is only for Direct3D 9; Direct3D 11 already had this implemented.
Fixes #5375.
|
|
713a6754
|
2022-03-26T22:26:15
|
|
wayland: Relax the check for mismatching output scales
|
|
5655be15
|
2022-03-26T19:57:39
|
|
wayland: Avoid overwriting xdg_output position with wl_output position
|
|
40417b18
|
2022-03-26T19:55:04
|
|
wayland: Work around a GNOME xdg_output scaling issue
|
|
7a1c45bd
|
2022-03-25T12:51:38
|
|
wayland: Optimize keyboard_handle_modifiers.
1. Mod index values are (mostly) constant, so can be done with xkb_state_new
2. Mods can change without the group changing, avoid remap events if possible
Lastly, as a bonus, I added braces to the locale check, because I was nearby.
|
|
69d0b6e3
|
2022-03-25T15:18:39
|
|
Vita: Fix NULL-pointer dereference
|
|
bf38fd46
|
2022-03-25T11:52:50
|
|
YUV: fix invalid read on last line when converting from SDL_PIXELFORMAT_YUY2 (see bug #4841)
|
|
2891f082
|
2022-03-25T02:49:49
|
|
wayland: Use xkb_keymap_mod to set mod state
|
|
6d9ca926
|
2022-03-25T01:36:39
|
|
wayland: Enforce text capitalization manually, for remapped keymods
|
|
a75c6150
|
2022-03-25T01:33:40
|
|
wayland: Add an xkb_keysym_t->SDL_Keycode mapping for backspace
|
|
ab74b6a3
|
2022-03-24T15:34:29
|
|
wayland: Remove some now-redundant casts
|
|
ee52ad08
|
2022-03-24T15:32:25
|
|
wayland: Minor fixes for old compilers
|
|
b4d28085
|
2022-03-24T18:30:32
|
|
wayland: Don't overwrite error message from SDL_EGL_CreateSurface
SDL_EGL_CreateSurface sets a more specific error message, so overwriting
it would lose information.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
d5bbbd3f
|
2022-03-24T18:23:35
|
|
Avoid depending on libwayland 1.20 unnecessarily
When using shared linking (linking in the normal way with
-lwayland-client) rather than loading Wayland libraries dynamically at
runtime, listing symbols that don't exist in the current version results
in a build failure. We don't actually call wl_proxy_marshal_flags() or
wl_proxy_marshal_array_flags() directly; the reason we need them is
that they're called by the code generated by wayland-scanner >= 1.20.
If we're building against an older Wayland library, then we'll have its
corresponding version of wayland-scanner (mismatched versions are not
supported), so we won't need those two symbols, and can avoid generating
a dependency on them.
Conversely, if we're building against a newer Wayland library, the
generated code will call them unconditionally, so we cannot treat them as
optional and gracefully fall back: that would result in a crash. Instead,
treat them as a mandatory part of the Wayland library, so that if they
are not found at runtime, we can fall back to X11 without crashing.
libwayland 1.18 is in several LTS distributions (Ubuntu 20.04,
Debian 11, RHEL 8) so avoiding a hard dependency on 1.20 is quite
useful.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Resolves: https://github.com/libsdl-org/SDL/issues/5376
|
|
d597a9b4
|
2022-03-24T14:25:00
|
|
x11: Minor cleanups and corrections in X11_ShowMessageBox.
Reference issue #3254.
|
|
6c56193a
|
2022-03-24T18:09:45
|
|
Fixed bug #1650: X11 doesn't set KMOD_NUM and KMOD_CAPS to system state
|
|
2398c43b
|
2022-03-24T14:34:37
|
|
add some Thrustmaster wheels
|
|
4fe7b2cb
|
2022-03-24T11:00:43
|
|
static analysis: Fixed several complaints from codechecker.
There are still some pending Objective-C specific issues.
Reference issue #4600.
|
|
eadc064e
|
2022-03-23T19:14:28
|
|
Vita: add native YUV textures support.
* Fail if texture init fails.
* Refactor and cleanup.
|
|
0af2db6f
|
2022-03-23T19:04:29
|
|
Vita: support audio format fallback
|
|
0dae35bf
|
2022-03-19T15:58:47
|
|
video: wayland: Use xdg-output for retrieving the desktop dimensions
Using wl-output to get the desktop display dimensions and dividing by the integer scale factor will not return the correct result when using a desktop with fractional scaling (e.g. a 3840x2160 display at 150% will incorrectly report the scaled desktop area as 1920x1080 instead of 2560x1440). Use the xdg-output protocol, if available, to retrieve the correct desktop dimensions and offset.
Versions 1 through 3 of the protocol are supported.
|
|
9125b244
|
2022-03-23T13:46:25
|
|
wayland: Basic support for zwp_tablet_*v2 protocol
|
|
13337e17
|
2022-03-23T13:27:01
|
|
wayland: The rest of the wayland-client 1.18 requirement... Git, please
|
|
c23a7ad3
|
2022-03-23T17:07:56
|
|
Add SDL_RenderGetWindow() API to get the window associated with a renderer (#5440)
Add SDL_RenderGetWindow() API to get the window associated with a renderer
|
|
f5a98044
|
2022-03-23T10:13:56
|
|
Android: add SetWindowResizable() implementation
- which also enable/disable the orientation lock status.
This is only provided when the window is not SDL_WINDOW_FULLSCREEN (see SDL_video.c).
Final orientation also depends on SDL_HINT_ORIENTATIONS.
|
|
006aafab
|
2022-03-22T20:23:09
|
|
Fixed freeing a constant string (thanks @gnrlwart)
|
|
8df045cc
|
2022-03-22T15:53:40
|
|
stdlib: just cast iconv()'s 2nd arg to void *.
This makes the compiler happy (enough) regardless of whether the C runtime
headers think this argument should be const or not.
Fixes #4966.
|
|
4b8d69a4
|
2022-03-22T17:09:44
|
|
Avoid trying to use texture framebuffers on emscripten
|
|
25203222
|
2022-02-05T11:01:25
|
|
optimize the SDL_str(case)cmp functions
|
|
aec58d82
|
2022-02-05T10:56:43
|
|
make SDL_strcasecmp standard compliant
|
|
b59ca92e
|
2022-02-05T10:55:09
|
|
use != '\0' comparison instead of SDL_strlen in the functions of SDL_getenv
|
|
b944dc8f
|
2022-03-22T15:05:05
|
|
Also fix Android crash when SDL_HIDAPI_DISABLED set to 1
The Java code needs the native functions to be implemented, even if
they're not surfaced via the C API, therefore, a stub version of
functions were made only to the purpose of "fill the gaps" when
SDL_HIDAPI_DISABLED set to 1.
|
|
2302b2d5
|
2022-03-22T16:33:45
|
|
Add mapping for Logitech Precision Gamepad
|
|
83df4a35
|
2022-03-22T15:25:01
|
|
SDL_render.c: remove unsused case, since renderer target has been forced to NULL previously (see bug #4213)
|
|
f782abe5
|
2022-03-22T09:52:52
|
|
hints: Added SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE.
Fixes #2349.
|
|
34fd83ca
|
2022-03-22T06:50:10
|
|
Don't try to hide foreign windows when destroying the SDL window representation
Fixes https://github.com/libsdl-org/SDL/issues/5432
|
|
74680f5c
|
2022-03-21T18:56:56
|
|
regenerated SDL_blit_auto.c.
|
|
dd6c46cb
|
2022-03-21T18:56:56
|
|
blit-auto optimizations
|
|
9dc201d4
|
2022-03-21T10:41:14
|
|
Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used format of the target texture
include/SDL_render.h, format:
"0 to use the format of the rendering target "
|
|
24ffcbd9
|
2022-03-20T17:23:34
|
|
audio: Set error message on dsp init failure.
if SDL_EnumUnixAudioDevices() fails to find any devices,
set an error message on the exit path. Without this,
SDL_Init() could fail without any message available
in SDL_GetError().
|
|
8f964576
|
2022-03-19T11:01:55
|
|
Fixed parameter operation ordering for ease of reading
|
|
0517b61e
|
2022-03-19T11:00:00
|
|
Relative mouse mode is tied to the window with keyboard focus
This isn't obvious, but makes sense when thinking about how games actually use it. This is also in line with how Windows mouse relative mode is implemented.
Fixes https://github.com/libsdl-org/SDL/issues/5340
|
|
b559a4ac
|
2022-03-19T10:39:22
|
|
Fixed Android crash when SDL_HIDAPI_DISABLED set to 1
The Java code needs the native functions to be implemented, even if they're not surfaced via the C API.
Fixes https://github.com/libsdl-org/SDL/issues/5326
|
|
a485ffc3
|
2022-03-19T09:50:22
|
|
Fix "SDL_FALSE is not defined" runtime error for emscripten.
|
|
d81fee76
|
2022-03-19T10:27:31
|
|
SDL_Rect: Added floating point versions of all the rectangle APIs.
Fixes #5110.
|
|
4d9bef60
|
2022-03-19T09:44:09
|
|
SDL_Rect: minor code cleanups.
|
|
c573ebe1
|
2022-03-19T09:29:01
|
|
SDL_UnionRect: If both rects are empty, zero out the result struct.
|