|
d9d8f51e
|
2021-10-23T14:37:47
|
|
wikiheaders.pl: Add support for deprecated functions.
|
|
dbe55350
|
2021-10-23T14:38:32
|
|
include: Improve doxygen text on SDL_GetRevisionNumber().
|
|
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.
|
|
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.
|
|
007b5463
|
2021-10-21T22:50:33
|
|
video/uikit: Do not use setNeedsUpdateOfPrefersPointerLocked on iOS SDKs older than 14
|
|
8f58bb9c
|
2021-10-21T20:48:08
|
|
Added SDL_USE_BUILTIN_OPENGL_DEFINITIONS to avoid system OpenGL headers
|
|
b360965d
|
2021-10-21T20:48:05
|
|
Added a hint for alternate OpenGL NV12 data format
|
|
6c134cf1
|
2021-10-22T00:39:04
|
|
Sync wiki -> header
|
|
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.
|
|
649a33ae
|
2021-10-18T23:00:43
|
|
X11: remove redundant 'wakeup_lock' mutex creation
|
|
c4bac66b
|
2021-10-18T14:11:20
|
|
os2, geniconv: replaced many uses of libc calls with SDL_ counterparts.
FIXME: figure out a way to handle errno checks properly.
|
|
0a0f6854
|
2021-10-18T14:10:56
|
|
SDL_os2video.c: missed replacing a use of libc function
|
|
8e9ea2e3
|
2021-10-18T14:10:37
|
|
SDL_os2joystick.c: missed replacing a use of libc function
|
|
8b1a2fe8
|
2021-10-17T23:47:59
|
|
backout SDL_AndroidSetInputType()
|
|
6ef3bc56
|
2021-10-17T23:40:36
|
|
Add Dynapi for SDL_AndroidSetInputType()
|
|
ccb12457
|
2021-10-17T23:17:54
|
|
Fixed bug #4843 - Can not get the ime candidatelist like chinese/japaness input method
|
|
7fb43643
|
2021-10-17T13:56:31
|
|
Don't process WM_INPUT when handling relative mode by warping the mouse cursor
|
|
06824b18
|
2021-10-17T19:50:39
|
|
Cleanup windows events after recent changes
Improves clarity without any functional changes
|
|
50f969c1
|
2021-10-17T22:02:19
|
|
Fixed bug #4841 - Out of bounds read (by 1 byte) in yuvnv12_rgb24_sseu
|
|
ea97ab61
|
2021-10-13T16:31:05
|
|
Add mapping for HORI Fighting Commander OCTA controller on Linux
|
|
1c5b3e0e
|
2021-10-15T18:12:18
|
|
Don't center the mouse when gaining focus unless we're using relative mode warping
This is necessary now that we actually change the mouse position when calling SDL_WarpMouseInWindow() in relative mode.
|
|
a70a94e0
|
2021-10-15T18:11:19
|
|
Don't send a mouse leave event if the mouse is outside the window when gaining focus and in relative mode.
|
|
c583055a
|
2021-10-15T10:11:24
|
|
SDL_windowsevents.c (WIN_WindowProc): remove SAFE_AREA_X and SAFE_AREA_Y
Not used since commit https://github.com/libsdl-org/SDL/commit/a1fabca162091b50d6f7dd71879d028319e09d80
|
|
d5700ed2
|
2021-10-15T00:01:39
|
|
Don't log SDL_POLLSENTINEL, it's purely for internal bookkeeping
|
|
dd5d8950
|
2021-10-14T23:53:25
|
|
Fixed whitespace
|
|
7f728f3e
|
2021-10-15T08:51:02
|
|
enabled os2 joystick code (if anyone has actually a use for it...)
|
|
8a48ce00
|
2021-10-15T05:28:04
|
|
Sync wiki -> header
|
|
8bf32e12
|
2021-10-15T06:26:10
|
|
Improved SDL_PollEvent usage (#4794)
* Avoid unnecessary SDL_PumpEvents calls in SDL_WaitEventTimeout
* Add a sentinel event to avoid infinite poll loops
* Move SDL_POLLSENTINEL to new internal event category
* Tweak documentation to indicate SDL_PumpEvents isn't always called
* Avoid shadowing event variable
* Ignore poll sentinel if more (user) events have been added after
Co-authored-by: Sam Lantinga <slouken@libsdl.org>
|
|
43da35b5
|
2021-10-14T22:22:59
|
|
Back out documentation changes in favor of https://github.com/libsdl-org/SDL/pull/4794
|
|
0dc57b0f
|
2021-10-14T19:42:36
|
|
Remove slightly misleading comment in the example code
|
|
ddf1d5c5
|
2021-10-14T19:10:30
|
|
Update documentation to reflect that a single SDL_PumpEvents() each frame is the recommended way to handle events
|
|
88e9f776
|
2021-10-14T18:37:27
|
|
Fixed relative mouse mode using warping after https://github.com/libsdl-org/SDL/commit/82793ac279d19b5bde8fc2bd62877b05ba5a76e0
|
|
a1fabca1
|
2021-10-14T16:52:21
|
|
Removed mouse warping for local mice and improved warp handling for mouse over RDP
|
|
82793ac2
|
2021-10-14T14:26:21
|
|
Fixed mouse warping while in relative mode
We should get a mouse event with an absolute position and no relative motion and shouldn't change the OS cursor position at all
|
|
072e3fdf
|
2021-10-14T23:17:08
|
|
Fixed bug #4534: NEON implementation of Convert51ToStereo (Thanks Ryan!)
|
|
5e89b3c8
|
2021-10-14T11:46:07
|
|
Don't need to use raw input to track the mouse during mouse capture (thanks Brick!)
|
|
0b6a8211
|
2021-10-12T14:08:20
|
|
Messages posted on the same tick are not new
|
|
0789610c
|
2021-10-14T00:52:05
|
|
Add SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN
|
|
227c33b8
|
2021-10-13T09:33:57
|
|
Add note about SDL_TICKS_PASSED hitting int overflow problems with large timeouts
|
|
1fa154fd
|
2021-10-13T09:33:54
|
|
Fix weak enforcement of timeouts in SDL_WaitEventTimeout_Device. This will loop pumping events and waiting for a system event to come in. However not all system events will turn into an SDL event. It's not unusual for a Windows message to be some internal thing that SDL doesn't convert into a message. In that case the loop will simple circle but not exit. As long as such messages are coming in the loop will continue to run regardless of the timeout. When messages finally stop it'll still wait for the full timeout so you can have arbitrarily long delays.
Instead do an absolute elapsed time check since the start of the wait. If that is exceeded during any iteration the routine exits as the timeout has elapsed.
|
|
2423c514
|
2021-10-13T09:33:51
|
|
Work around hang in AAudioStream_write() during extended shared object loading while running in a debugger. Observed on a OnePlus 8T (KB2005) running Oxygen OS 11.0.10.10.KB05AA.
The observed behavior is that any nonzero timeout value would hang until the device was paused and resumed. And a zero timeout value would always return 0 frames written even when audio fragments could be heard. Making a manual timeout system unworkable.
None of the straightforward systems imply that there's a detectable problem before the call to AAudioStream_write(). And the callback set within AAudioStreamBuilder_setErrorCallback() does not get called as we enter the hang state.
I've found that AAudioStream_getTimestamp() will report an error state from another thread. So this change codifies that behavior a bit until a better fix or more root cause can be found.
|
|
325ae5c3
|
2021-10-13T08:35:56
|
|
Android: getCurrentOrientation uses getContext() to retrieve the activity (see bug #4825)
|
|
0e294e90
|
2021-10-12T18:55:31
|
|
Ensure that SDL_InitSubSystem quits subsystems after an error. (#4834)
* Ensure that SDL_InitSubSystem quits subsystems after an error.
* Fix unnecessary change.
|
|
6149e601
|
2021-10-13T00:03:56
|
|
remove IsWin10FCUorNewer() -- not used since commit 40ed9f75c9e1ed
|
|
311671a0
|
2021-10-12T23:50:02
|
|
fixed build after commit 6e356e20ad
|
|
6e356e20
|
2021-10-12T18:35:52
|
|
Fix mouse focus being set to null when a captured mouse cursor leaves the window.
|
|
9ee6942e
|
2021-09-22T14:01:00
|
|
Improve RISC OS implementations of SDL_GetBasePath and SDL_GetPrefPath
|
|
3db898c5
|
2020-02-13T22:32:35
|
|
riscos: Implement SDL_GetPrefPath()
|
|
723f5cea
|
2021-10-12T20:58:58
|
|
Fixed bug #4825 - NullPointerException on SDLActivity.getCurrentOrientation() (Thanks Benau!)
|
|
1b49f092
|
2021-10-08T20:22:48
|
|
include: manually ran wikiheaders.pl and cleaned up the obvious issues.
|
|
55f60847
|
2021-10-08T20:49:51
|
|
wikiheaders.pl: Try to handle functions with multiple declarations better.
|
|
3970a885
|
2021-10-08T14:39:28
|
|
wikiheaders.pl: Migrate in docs that exist only in the wiki.
This is going to expose some docs that needs cleaning up once
the bridge imports those docs, though.
|
|
194657a2
|
2021-10-08T15:57:18
|
|
include: Fix indentation on SDL_SoftStretch doxygen comment.
Otherwise wikiheaders.pl doesn't think it's valid.
|
|
40ed9f75
|
2021-10-08T10:05:27
|
|
Workaround for Windows occasionally ignoring SetCursorPos() calls
Also, since we're flushing mouse motion before and including the warp, we don't need the isWin10FCUorNewer hack to simulate mouse warp motion.
Fixes https://github.com/libsdl-org/SDL/issues/4339 and https://github.com/libsdl-org/SDL/issues/4165
|
|
373216ae
|
2021-10-07T18:14:16
|
|
Added support for touchpads in the Linux evdev code (thanks Francisco!)
|
|
16aeb8d0
|
2021-10-07T15:04:06
|
|
Guarantee that we don't dispatch any mouse motion from before or including the last mouse warp
|
|
649466f4
|
2021-10-07T13:28:44
|
|
Flush any pending mouse motion when warping the mouse cursor
Fixes https://github.com/libsdl-org/SDL/issues/4165
|
|
ad520573
|
2021-10-06T09:52:06
|
|
wayland: Only dispatch frame events in Wayland_GLES_SwapWindow
Dispatching all events in Wayland_GLES_SwapWindow leads to resizes being
acked before the program has a chance to handle the resize. This change
reduces jumping on fullscreen transition with apps that call
SDL_PollEvent before issuing any render calls.
|
|
f30e2e43
|
2021-10-06T22:52:33
|
|
Fix compiler warnings in testvulkan.c
MSVC gives the following warnings when compiling testvulkan.c:
```
testvulkan.c(656,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(656,1): warning C4018: '>': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '>': signed/unsigned mismatch
```
|
|
dd95c9c8
|
2021-10-06T09:09:39
|
|
Moved focus click check into WIN_UpdateFocus() so we have the correct state when setting keyboard focus
Fixes https://github.com/libsdl-org/SDL/issues/4817
|
|
1ec409c2
|
2021-10-06T09:09:09
|
|
Don't warp the mouse within a window while it's minimized
|
|
87ac3734
|
2021-10-06T03:39:59
|
|
Fix Debug-only builds with CMake
"get_filename_component(SDL2_LIBDIR ${sdl2implib} PATH)" failed if
sdl2implib was set from sdl2implibdbg instead of ${sdl2implibdbg}
Thanks to seyuup from the SDL Discourse for pointing this out.
|
|
0d541e5a
|
2021-10-06T00:36:27
|
|
Revert "Fixed relative mode mouse events stopping if you click on the title bar"
This has been better fixed by b28ed02 or another related relative mouse mode change of @slouken in SDL 2.0.17 and as such can be reverted to reduce unneeded processing in WM_MOUSEMOVE
|
|
c542de92
|
2021-10-05T14:08:36
|
|
React to WM_NCACTIVATE instead of WM_SETFOCUS or WM_ACTIVATE for focus changes
See https://github.com/libsdl-org/SDL/pull/4293 and https://github.com/libsdl-org/SDL/issues/4450 for details
|
|
ab7910fa
|
2021-10-05T12:34:29
|
|
cmake: Move the old, global add_definitions (etc) to an interface library.
Fixes #4150.
|
|
f1793af4
|
2021-10-05T11:19:30
|
|
cmake: removed an add_definitions call.
|
|
25fdba39
|
2021-10-05T11:19:14
|
|
cmake: fix indentation.
|
|
f3066625
|
2021-10-05T11:13:41
|
|
cmake: Correctly set IOS variable.
Fixes #4635.
|
|
60d59aeb
|
2021-10-05T10:54:06
|
|
cmake: Calculate padding for dislaying options automatically.
|
|
7850d0cf
|
2021-10-05T10:43:35
|
|
cmake: Prefix all options with "SDL_"
This makes it clear which options came from SDL's CMake project when
building SDL as a subdirectory of a parent CMake project.
Fixes #4139.
|
|
17295738
|
2021-10-04T22:12:08
|
|
PSP: links for setting up, compiling and running on PSP
|
|
f080273a
|
2021-10-04T22:00:16
|
|
PSP: add implementation for RenderGeometry
|
|
e92a639b
|
2021-10-04T23:00:28
|
|
replaced many uses of libc calls with SDL_ counterparts in os2 sources.
TODO: core/os2 and geniconv sources _must_ be updated, as well..
|
|
dd9b2daf
|
2021-10-04T21:56:42
|
|
PSP: fixed build
|
|
3ea35fe5
|
2021-10-04T21:32:00
|
|
fix SDL_atoi()
fixes https://github.com/libsdl-org/SDL/issues/4811
|
|
407867cf
|
2021-07-13T13:47:08
|
|
Alias SDL2::SDL2 to SDL2::SDL2-static on static-only builds
|
|
cd7ef24c
|
2021-10-04T00:32:56
|
|
minor update to os2 makefile.
|
|
c501d159
|
2021-10-03T14:10:21
|
|
Fixed range for Steam Controller sensor values
|
|
ea1a2b94
|
2021-10-02T09:12:57
|
|
Use the correct update rate for Steam Controller sensors
|
|
eadc8f93
|
2021-10-02T23:08:39
|
|
wayland: Cleanup some SDL_TryLockMutex() calls.
Check the result of these against 0 explicitly, so that it's obvious
we're bailing out on failure, not success.
|
|
25f9e32b
|
2021-10-02T16:52:43
|
|
wayland: Don't let multiple threads dispatch wayland events at once
wl_display_dispatch() will block if there are no events available, and
while we try to avoid this by using SDL_IOReady() to verify there are
events before calling it, there is a race condition between
SDL_IOReady() and wl_display_dispatch() if multiple threads are
involved.
This is made more likely by the fact that SDL_GL_SwapWindow() calls
wl_display_dispatch() if vsync is enabled, in order to wait for frame
events. Therefore any program which pumps events on a different thread
from SDL_GL_SwapWindow() could end up blocking in one or other of them
until another event arrives.
This change fixes this by wrapping wl_display_dispatch() in a new mutex,
which ensures only one thread can compete for wayland events at a time,
and hence the SDL_IOReady() check should successfully prevent either
from blocking.
|
|
8b745752
|
2021-10-01T21:32:21
|
|
Added support for the gyro and accelerometer on Steam Controllers
Fixes https://github.com/libsdl-org/SDL/issues/4577
|
|
db18764e
|
2021-10-01T16:27:59
|
|
Use correct relative include path
|
|
632aca29
|
2021-10-01T16:17:38
|
|
Window input focus is based on WM_SETFOCUS and WM_KILLFOCUS as WM_ACTIVATE doesn't necessarily imply focus.
Hopefully resolves https://github.com/libsdl-org/SDL/issues/4450 and https://github.com/libsdl-org/SDL/pull/4293
|
|
9706feac
|
2021-10-01T15:11:25
|
|
Update length after shortening string (thanks mayraud705!)
Closes https://github.com/libsdl-org/SDL/pull/4698
|
|
77acd44f
|
2021-10-01T22:30:51
|
|
DirectFB: fixed creation of palette textures
|
|
83d60090
|
2021-09-30T23:47:37
|
|
DirectFB: add partial support for RenderGeometry
allow to fill triangles with color or texture
but only uniform vertex color is handled (not per vertex color)
|
|
7def81cf
|
2021-09-30T17:34:25
|
|
wikiheaders.pl: Don't treat chars in `code` blocks as markdown.
Otherwise a formula like `x = y * 2;` would treat that '*' as the start of
an italicized section when converting to MediaWiki format, and match any
other '*' in the content as the end marker.
|
|
2f93fbbb
|
2021-09-30T10:04:09
|
|
include: Fix markdown in a doxygen comment.
|
|
ab09f3da
|
2021-09-30T10:00:58
|
|
cmake: Remove warning about CFLAGS environment variable.
CMake 3.11.0 respects this environment var.
Fixes #4681.
|
|
cd6f96de
|
2021-09-30T09:57:51
|
|
cmake: bump minimum CMake allowed to 3.11.0.
This cmake is 3 years old, but it removes confusion about the CFLAGS
environment variable (as of CMake 3.10.0, reference PR #4681) and also
consolidates resolves the need to have a separate requirement for Windows
Store apps (which requires CMake 3.11.0).
|
|
344f018d
|
2021-09-30T00:06:09
|
|
Xcode-iOS Demos: Add CFBundleShortVersionString to Info.plist
Xcode 13.0 requires this key to be present in the Info.plist to be able to run the compiled code.
|
|
c270949b
|
2021-09-28T18:07:22
|
|
Add a fast path for ARGB888->(A)BGR888 blending with pixel alpha
|
|
8b23029d
|
2021-09-28T17:03:06
|
|
Sync wiki -> header
|