|
b8327a4a
|
2021-11-08T07:19:45
|
|
Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems
|
|
2a6feb50
|
2021-11-08T07:10:38
|
|
Removed accidental debugging commit (thanks @DomGries!)
|
|
6c56e275
|
2021-11-08T07:05:17
|
|
Set both _NET_WM_NAME and WM_NAME so SDL windows can be shared in the browser.
Fixes https://github.com/libsdl-org/SDL/issues/4924
|
|
301819cd
|
2021-11-08T20:34:20
|
|
SDL_windowsmouse.c: Fix WIN_CreateCursor does not scale with system cursor size preference
|
|
f61b10dc
|
2021-11-08T06:34:32
|
|
Do more robust validation of devices passed to the SDL HIDAPI functions
|
|
dd8c3548
|
2021-11-08T17:00:56
|
|
SDL_hidapi.c: avoid possible NULL pointer dereferences.
|
|
5b646cd1
|
2021-11-07T22:58:44
|
|
Build hidapi code into SDL as a new public API
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
|
|
94c1276a
|
2021-11-07T20:49:32
|
|
emscripten: Decrease vertical scroll speed by using deltaMode
Reference issue #4623.
|
|
f6dc47ca
|
2021-11-07T16:00:47
|
|
WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled
Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false.
That causes WGI and DInput backends to take ownership of XInput-compatible
controllers, because they think there's no XInput-specific backend enabled.
In WGI's case, it will actually race with RawInput to open the device. By
properly excluding XInput devices from WGI, we can ensure that the sets of
devices managed by WGI and RawInput don't intersect. This makes the race
harmless, since they'll never both go after the same device.
|
|
301389ce
|
2021-11-07T13:52:59
|
|
Fixed iOS build
|
|
b3e909dc
|
2021-11-07T13:51:34
|
|
WGI: Fix SDL_IsXInputDevice() for Xbox One controllers
The Xbox One driver stack doesn't propagate the VID/PID down to the
HID devices that end up in the GetRawInputDeviceList() output. This
means we end up matching against the wrong VID/PID and can't properly
exclude Xbox One controllers from WGI.
Fortunately, it is possible to walk back up the device tree to find
the parent with the matching VID/PID.
|
|
b8c00bf9
|
2021-11-07T13:11:29
|
|
Allow opening joysticks that are read-only on Linux
Fixes https://github.com/libsdl-org/SDL/issues/4713
|
|
0323d983
|
2021-11-07T12:52:06
|
|
Add the platform to the game controller mapping so it can be read back in without changes
Fixes https://github.com/libsdl-org/SDL/issues/4848
|
|
d950b9e2
|
2021-11-07T20:40:54
|
|
emscripten: Make timers work (if used with emscripten_set_main_loop)
Co-authored-by: aidanhs <aidanhs@cantab.net>
|
|
fe2fe290
|
2021-11-07T11:48:16
|
|
Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
|
|
86bc65a7
|
2021-11-07T11:35:12
|
|
Fixed non-Apple builds
|
|
637bcd0b
|
2021-11-07T11:19:07
|
|
Fixed build warnings
|
|
e1435826
|
2021-11-07T11:16:48
|
|
Cleanup sfSymbolName support and add them to the dynamic API functions
|
|
149e5c65
|
2021-10-03T12:49:36
|
|
Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
|
|
3acb1725
|
2021-11-07T12:26:39
|
|
stdlib: SDL_snprintf now adds decimal places for ("%f", 0.0).
This patch was from @Markvy (thanks!).
Fixes #4795.
|
|
2008f2a8
|
2021-11-07T01:41:34
|
|
SDL_test_font.c: fix type of SDLTest_CharTextureCacheList
|
|
a0e055a7
|
2021-11-07T02:48:29
|
|
testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
|
|
70f7ebe6
|
2021-11-07T01:46:04
|
|
SDL_test_font.c: add ability to draw on different SDL_Renderers
fixes `testwm2 --windows 2`
|
|
6312aaea
|
2021-11-06T21:52:22
|
|
WGI: Add workaround for delayed callbacks after WGI_JoystickQuit()
|
|
2248a549
|
2021-11-05T22:48:46
|
|
Update the focus in case we changed focus to a child window and then away from the application
In this case we'll get WM_KILLFOCUS when the child window is focused, but we'll retain focus on the top level window, but when we Alt-Tab away, we won't get another WM_KILLFOCUS or WM_NCACTIVATE, we get WM_ACTIVATE instead, so we need to check for focus updates in response to that as well.
|
|
6407d4b0
|
2021-11-05T17:10:02
|
|
remove unnecessary parentheses from SDL_abs()
|
|
6cbee063
|
2021-11-05T01:17:29
|
|
include: Swap parameter names in atan2 functions
|
|
2371b247
|
2021-10-31T18:27:51
|
|
windows: improve feature detection consistency between CMake and non-CMake builds
|
|
839ca0ea
|
2021-11-03T16:35:24
|
|
SDL_OpenURL (macOS): try to open path if the url cannot be opened (#4830)
* SDL_OpenURL (macOS): try to open path if the url cannot be opened
* SDL_OpenURL (macOS): use CFURLCreateWithBytes & LSOpenCFURLRef to correctly escape input
* fix type casting + indentation
|
|
8593076d
|
2021-11-02T16:04:36
|
|
Fixed whitespace
|
|
62629c2b
|
2021-11-02T22:17:41
|
|
Fix 64-bit timeval/timespec delta calculations
|
|
6d5edfa7
|
2021-11-02T15:59:26
|
|
Fixed crash on Android 8, due to bugs in AAudio implementation
|
|
43ddc59f
|
2021-11-02T16:56:14
|
|
Export SDL_LinuxSetThreadPriorityAndPolicy() function (#4877)
It's marked as being a public symbol internally, however, it was missing from the header files and not visible in the shared library. This adds it to the necessary headers and to the DynAPI list to expose it for use by applications.
Co-authored-by: Frank Praznik <frank.praznik@oh.rr.com>
|
|
848d7b12
|
2021-11-02T16:12:55
|
|
Vita: Implement command batching
|
|
3f7a94fc
|
2021-11-02T15:16:48
|
|
Vita: Remove FillRects
|
|
f73376ae
|
2021-11-02T00:31:25
|
|
events: Add logging for SDL_CONTROLLERTOUCHPAD*, SDL_CONTROLLERSENSORUPDATE, and SDL_SENSORUPDATE events
|
|
2379c528
|
2021-10-25T11:04:42
|
|
os/2: Don't try to be clever with the 32-bit GetTicks fallback.
|
|
cca79d32
|
2021-10-23T15:30:20
|
|
android: Patched SDL_GetTicks64() to compile.
|
|
affb183e
|
2021-10-23T15:20:32
|
|
unix: Fixed SDL_GetTicks64 function signature.
|
|
99c9727d
|
2021-10-23T15:00:31
|
|
timer: Added SDL_GetTicks64(), for a timer that doesn't wrap every ~49 days.
Note that this removes the timeGetTime() fallback on Windows; it is a
32-bit counter and SDL2 should never choose to use it, as it only is needed
if QueryPerformanceCounter() isn't available, and QPC is _always_ available
on Windows XP and later.
OS/2 has a similar situation, but since it isn't clear to me that similar
promises can be made about DosTmrQueryTime() even in modern times, I decided
to leave the fallback in, with some heroic measures added to try to provide a
true 64-bit tick counter despite the 49-day wraparound. That approach can
migrate to Windows too, if we discover some truly broken install that doesn't
have QPC and still depends on timeGetTime().
Fixes #4870.
|
|
fba82ad1
|
2021-10-31T12:38:08
|
|
Remove sceGxmFinish from RenderPresent on Vita. Make sure that rendering is finished on render texture during locking
|
|
a01aaf05
|
2021-10-30T21:42:07
|
|
Fixed compiler warning
|
|
4d3da5b7
|
2021-10-26T21:51:29
|
|
riscos: Disable the mouse pointer for now
|
|
1c256b89
|
2021-10-26T13:42:34
|
|
riscos: Fix enumerating screen modes
|
|
5a3c97f3
|
2021-10-25T22:55:02
|
|
riscos: Fix detection of the current mode
|
|
53b3db0c
|
2021-09-28T17:59:16
|
|
Handle the KMOD_SCROLL modifier on RISC OS
|
|
1268984e
|
2021-09-09T21:09:50
|
|
Implement mouse input on RISC OS
|
|
f7f54f0d
|
2021-08-06T23:38:46
|
|
Implement keyboard input on RISC OS
Partially based on a patch from http://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fautobuilder%2Flibraries%2Fsdl%2Flibsdl2%2F&rev=7174#a6401c766f408f1ea356e6977894cc6a5
Currently lacks support for mapping scancodes to keycodes.
|
|
f8a8ca3e
|
2021-08-05T23:16:29
|
|
Support proper mode switching on RISC OS
|
|
fe9bb747
|
2021-02-12T23:46:11
|
|
riscos: Refactor framebuffer code
|
|
25c71748
|
2020-02-13T21:55:08
|
|
Add a barebones RISC OS video driver
|
|
a5598649
|
2021-10-30T19:30:34
|
|
x11/wayland: Fix signal handling while blocking in WaitEventTimeout()
Add a new flag to avoid suppressing EINTR in SDL_IOReady(). Pass the
flag in WaitEventTimeout() to ensure that a SIGINT will wake up
SDL_WaitEvent() without another event coming in.
|
|
c97c4687
|
2021-10-30T15:56:54
|
|
core: Convert SDL_IOReady()'s 2nd parameter to flags
|
|
8a4a282a
|
2021-10-30T16:02:12
|
|
alsa: Make hotplug thread optional.
Even without the thread, it'll do an initial hardware detection at startup,
but there won't be any further hotplug events after that. But for many cases,
that is likely complete sufficient.
In either case, this cleaned up the code to no longer need a semaphore at
startup.
Fixes #4862.
|
|
26706319
|
2021-10-30T05:53:12
|
|
Ignore the ASRock LED controller, it's not a joystick
|
|
ac54d57a
|
2021-10-26T20:02:38
|
|
event: Check subsystem initialization before events or devices
SDL_WasInit() is cheaper SDL_NumJoysticks()/SDL_NumSensors().
|
|
1bc6dc3e
|
2021-10-26T20:02:04
|
|
event: Cap maximum wait time if sensor or joystick subsystems are active
Joystick and sensor subsystems require periodic polling to detect new devices.
|
|
2bf36bfa
|
2021-10-24T21:28:04
|
|
wayland: Implement WaitEventTimeout() and SendWakeupEvent()
We can have spurious wakeups in WaitEventTimeout() due to Wayland events
that don't end up causing us to generate an SDL event. Fortunately for us,
SDL_WaitEventTimeout_Device() handles this situation properly by calling
WaitEventTimeout() again with an adjusted timeout.
|
|
9c799802
|
2021-10-26T15:18:26
|
|
Vita: fix IME input languages
|
|
c57bcb47
|
2021-10-23T14:46:03
|
|
test: Fix building with libunwind under autotools
There are two issues which are stopping the SDL tests from building on
my machine:
- libunwind is not being linked
- Even if it is, it is missing several symbols.
The first is fixed by having the test programs link against libunwind if
available. Technically, SDL2_test should be linking against it, as it's
used in SDL_test_memory.c, but as SDL2_test is a static library, it
can't itself import libunwind. We just assume that if it's present on
the system, we should link it directly to the test programs. This should
strictly be an improvement, as the only case where this'd fail is if
SDL2 was compiled when libunwind was present, but the tests are being
compiled without it, and that'd fail anyway.
The second is fixed by #define-ing UNW_LOCAL_ONLY before including
libunwind.h: this is required to make libunwind link to predicatable
symbols, in what can only be described as a bit of a farce. There are a
few more details in the libunwind man page, but the gist of it is that
it disables support for "remote unwinding": unwinding stack frames in a
different process (and possibly from a different architecture?):
http://www.nongnu.org/libunwind/man/libunwind(3).html
Note that I haven't tried this with CMake: I suspect that it'll work,
though, as the CMakeLists.txt seems to have SDL2 link against libunwind if
it's present. This adds an ugly extra dependency to SDL2, but does mean
that issue 1 isn't present. The UNW_LOCAL_ONLY change shouldn't be
build-system-specific.
|
|
408a93a1
|
2021-10-23T15:43:04
|
|
wayland: Use multi-thread event reading APIs
Wayland provides the prepare_read()/read_events() family of APIs for
reading from the display fd in a deadlock-free manner across multiple
threads in a multi-threaded application. Let's use those instead of
trying to roll our own solution using a mutex.
This fixes an issue where a call to SDL_GL_SwapWindow() doesn't swap
buffers if it happens to collide with SDL_PumpEvents() in the main
thread. It also allows coexistence with other code or toolkits in
our process that may want read and dispatch events themselves.
|
|
4960cc3d
|
2021-10-25T16:18:40
|
|
Fixed a few warnings
|
|
b7933945
|
2021-10-25T13:46:40
|
|
SDL_Renderer: make clear that we use render geometry for fillrect/copy/copyex when there is no specific back-end implementation (currently software, PSP, directfb)
|
|
b3f9d8f3
|
2021-10-25T07:05:50
|
|
remove unused local vars after the latest commits.
|
|
08797ada
|
2021-09-19T00:39:28
|
|
opengles2: Attempt to batch RenderCopy calls into a single glDrawArrays call.
|
|
502e9c3b
|
2021-10-24T17:16:49
|
|
SDL_Renderer simplifications:
- Factorize PrepQueueCmdDraw{,DrawTexture,Solid) into one single function
- Change SDL_Texture/Renderer r,g,b,a Uint8 into an SDL_Color, so that it can be passed directly to RenderGeometry
- Don't automatically queue a SET_DRAW_COLOR cmd for RenderGeometry (and update GLES2 renderer)
|
|
23e252bf
|
2021-10-02T14:57:40
|
|
DirectFB: provide RenderCopyEx via RenderGeometry
|
|
79732c9d
|
2021-09-25T11:35:20
|
|
Remove FillRects from back-end, where RenderGeometry can be used
|
|
f02ad282
|
2021-09-25T11:31:18
|
|
Remove FillRects from back-end, where RenderGeometry can be used
|
|
70b10c75
|
2021-09-24T22:39:49
|
|
Use correct indices when using RenderGeometry / FillRects
|
|
16beed9a
|
2021-09-24T17:09:04
|
|
Less code since color is constant when done with triangles
|
|
99a34643
|
2021-09-24T09:42:04
|
|
OpenGLES2: LINES and POINTS successive commands are combined into a single draw call
(using the same case for DRAW_GEOMETRY)
|
|
f0cdc1d0
|
2021-09-24T09:38:25
|
|
OpenGLES2: remove FillRects, since it's can be done with RenderGeometry
|
|
37c39d5c
|
2021-09-23T22:45:45
|
|
Use geometry to implement FillRects
|
|
b0eef52f
|
2021-09-23T22:32:29
|
|
GLES2 batching: probably need to check for blendMode changes
|
|
c27e1249
|
2021-09-20T17:17:34
|
|
Remove SDL_HAVE_RENDER_GEOMETRY define
|
|
77026f67
|
2021-09-20T17:09:44
|
|
Metal: remove RenderCopy and RenderCopyEx from back-end
|
|
0e5160a0
|
2021-09-20T17:01:33
|
|
VITA: remove RenderCopy and RenderCopyEx from back-end
|
|
73f4ab4c
|
2021-09-20T16:57:21
|
|
Direct3D11: remove RenderCopy and RenderCopyEx from back-end
|
|
ab758398
|
2021-09-20T16:53:03
|
|
Direct3D: remove RenderCopy and RenderCopyEx from back-end
|
|
1fe7e361
|
2021-09-20T16:46:16
|
|
OpenGL: a few opengl functions become unused
|
|
88548070
|
2021-09-20T16:40:47
|
|
OpenGLES: remove RenderCopy and RenderCopyEx from back-end
|
|
d1925154
|
2021-09-20T16:33:49
|
|
OpenGL: remove RenderCopy and RenderCopyEx from back-end
|
|
b92056bb
|
2021-09-20T16:33:03
|
|
OpenGLES2: remove RenderCopy and RenderCopyEx from back-end
|
|
76f9fb96
|
2021-09-20T16:32:08
|
|
Use RenderGeometry to implement RenderCopy and RenderCopyEx at higher level
|
|
1f0eb03a
|
2021-10-24T23:54:26
|
|
Fix PS5 mapping with HID-PLAYSTATION driver (#4675)
* add missing PS5 Linux GUID for Bluetooth
* Fix PS5 Mapping to work with HID-Playstation driver
|
|
f499168c
|
2021-10-24T15:54:57
|
|
x11: Use SDL_IOReady() instead of calling select() directly
SDL_IOReady() properly handles EINTR and can use poll() if available.
|
|
ba4ef461
|
2021-10-23T15:28:13
|
|
macOS: Fix implicit integer downcast warnings
|
|
d9d8f51e
|
2021-10-23T14:37:47
|
|
wikiheaders.pl: Add support for deprecated functions.
|
|
a76b73dd
|
2021-10-22T19:04:32
|
|
kmsdrm: Use SDL_PremultiplySurfaceAlphaToARGB8888() for cursor surface
Instead of taking a direct copy of the mouse cursor surface, and then
premultiplying on every BO upload (using the custom
legacy_alpha_premultiply_ARGB8888 function), use the new
SDL_PremultiplySurfaceAlphaToARGB8888() function, which converts a whole
surface at a time, once and save the result.
The already-premultiplied data is then copied from that to the BO on
each upload, adjusting for the stride (which the previous implementation
required to be equal to the width), thereby making the extra copy
slightly useful..
This also adds support for non-SDL_PIXELFORMAT_ARGB8888 surfaces.
|
|
b528d484
|
2021-10-22T16:59:46
|
|
wayland: Wayland cursors should use premultiplied alpha
It turns out that Wayland's WL_SHM_FORMAT_ARGB8888 format (and, indeed,
all wayland RGBA formats) should be treated as premultiplied. SDL
surfaces tend not to be premultiplied, and this is assumed by other
backends when dealing with cursors.
This change premultiplies the cursor surface in Wayland_CreateCursor()
using the new SDL_PremultiplySurfaceAlphaToARGB8888(). In so doing, it
also adds support for a wider range of input surfaces, including those
with non-ARGB8888 pixel formats, and those which don't have
pitch==width.
This should fix #4856
|
|
84808ea4
|
2021-10-22T17:48:32
|
|
video: Add SDL_PremultiplySurfaceAlphaToARGB8888()
A number of video backends need to get ARGB8888 formatted surfaces with
premultiplied alpha, typically for mouse cursors. Add a new function to
do this, based loosely on legacy_alpha_premultiply_ARGB8888() from the
KMSDRM backend.
The new function, SDL_PremultiplySurfaceAlphaToARGB8888() takes two
arguments:
- src: an SDL_Surface to be converted.
- dst: a buffer which is filled with premultiplied ARGB8888 data of the
same size as the surface (assuming pitch = w).
This is not heavily optimised: it just repeatedly calls SDL_GetRGBA() to
do the conversion, but should do for now.
|
|
007b5463
|
2021-10-21T22:50:33
|
|
video/uikit: Do not use setNeedsUpdateOfPrefersPointerLocked on iOS SDKs older than 14
|
|
b360965d
|
2021-10-21T20:48:05
|
|
Added a hint for alternate OpenGL NV12 data format
|
|
19dee1cd
|
2021-10-22T06:37:20
|
|
Add SDL_GetWindowICCProfile(). (#4314)
* Add SDL_GetWindowICCProfile
* Add new SDL display events
* Implement ICC profile change event for macOS
* Implement ICC profile notification for Windows
* Fix SDL_GetWindowICCProfile() for X11
* Fix compile errors
|
|
a34fe816
|
2021-10-21T12:28:35
|
|
Added the ability to bind NV12 textures in the OpenGL renderer
|
|
a43d3f69
|
2021-10-20T15:19:22
|
|
Don't detect the ROG Chakram mouse as a joystick
|
|
f3fd1ffb
|
2021-10-20T15:18:03
|
|
Fixed crash if SDL API functions are called on a disconnected controller on iOS
|
|
bfd2f899
|
2021-10-19T17:29:23
|
|
Fixed grab handling when focus changes between windows in the same application
|
|
d9c44b65
|
2021-10-19T10:49:17
|
|
Allow Cocoa_VideoInit to succeed when current display mode has invalid flags
This fixes a specific issue seen on macOS 10.14.6 where a DELL E248WFP
Display connected to a 2014 Mac Mini with a scaled 1920x1080 resolution
selected and SDL_Init(SDL_INIT_VIDEO) failed with the error: "The video
driver did not add any displays".
The underlying cause was that the current 1080p display mode did not
have the flag kDisplayModeSafeFlag, the check for which was added in
a963e36, with the idea that certain display modes should not be
candidates for switching to in fullscreen exclusive mode. That may well
be the right thing to do for filtering down a list of candidate modes,
but it doesn't pay to be so picky about the current mode. After all,
this current mode was set by System Preferences, the picture does appear
correctly on screen, and other non-SDL based applications launch and run
correctly in this mode.
Therefore the fix is to have GetDisplayMode only filter out a mode based
on flags if it's part of a candidate list, but if it's the current mode
and it can possibly be converted to an SDL_DisplayMode, do so.
|