16113 Commits

Author SHA1 Message Date
Isaac Aronson
a027ad9788 Remove buffer in SSE4.1, use unpacklo and packus intrinsics 2024-07-08 10:53:46 -07:00
Isaac Aronson
2432b6686e Add back in buffer free removed during testing 2024-07-08 10:53:46 -07:00
Isaac Aronson
380bcff018 Allow arbitrary dstfmt in 1 pixel case; naming and const cleanup 2024-07-08 10:53:46 -07:00
Isaac Aronson
87958f44d0 Support arbitrary destination formats; remove buffer from AVX2 2024-07-08 10:53:46 -07:00
Isaac Aronson
c80c540be3 Support older GCC and clang that lack some intrinsics 2024-07-08 10:53:46 -07:00
Isaac Aronson
e8cba442c5 Clean up API surface to use attribute macros and rename convertPixels 2024-07-08 10:53:46 -07:00
Isaac Aronson
bac318fc27 Check for SSE4.1 first as more common 2024-07-08 10:53:46 -07:00
Isaac Aronson
12d18c7497 Add back glob for src/video/*.c to CMakeLists.txt 2024-07-08 10:53:46 -07:00
Isaac Aronson
735cf5a6f9 Relocate intrinsic modules to src/video/ 2024-07-08 10:53:46 -07:00
Isaac Aronson
f68a7edcf8 Properly shortcut only when AVX2 or SSE4.1 available 2024-07-08 10:53:46 -07:00
Isaac Aronson
3e0581c625 Merge upstream and sdl3-blitters 2024-07-08 10:53:46 -07:00
Frank Praznik
159d7087c6
wayland: Only set the window geometry when viewports are unsupported
Setting the window geometry on the xdg-toplevel path is a hack used to prevent protocol violations if a buffer with an old size is committed. Since viewports decouple the window geometry from the buffer size, this is not needed if viewports are supported.

Fixes an invalid window geometry warning and incorrect window overview size for fullscreen windows in GNOME.
2024-07-08 11:40:54 -04:00
Sam Lantinga
4fa5196820 Revert "Switch pixel format loss fields to number of bits"
This reverts commit 3c90b1c1f62c6757e85037934ef24caeebf58e2d.

It turns out this is problematic for sdl2-compat. We're investigating a more complete separation between SDL2 and SDL3 surfaces, but in the meantime, I'll fix the breakage.
2024-07-07 19:41:05 -07:00
Anonymous Maarten
18c9bd21b5 sdlprocdump: become C90 compatible 2024-07-07 21:18:16 +02:00
Anonymous Maarten
4d6b23b68f mingw: use DESTDIR to change the install location of the mingw package 2024-07-07 20:35:33 +02:00
SDL Wiki Bot
bfa4e71284 Sync SDL3 wiki -> header 2024-07-07 18:05:35 +00:00
SDL Wiki Bot
e37d6f71b3 Sync SDL3 wiki -> header 2024-07-07 18:02:15 +00:00
Giovanni Petrantoni
a057240984 Fix vision os fake screen size
It never really worked, as the value was arbitrary, digging apple docs showed the right values.
2024-07-06 20:49:23 -07:00
Sam Lantinga
3c90b1c1f6 Switch pixel format loss fields to number of bits
This makes more sense and handles pixel formats with > 8 bits per channel

Fixes https://github.com/libsdl-org/SDL/issues/10168
2024-07-06 11:37:16 -07:00
mariob92
9389712917 wgl/glx: Fix attribute list for SDL_GL_FLOATBUFFERS
This commit fixes the attribute list in the WGL and GLX code when requesting a floating point pixel format. The name of the attribute was missing in the list.

Fixes libsdl-org#10189
2024-07-06 11:35:19 -07:00
SDL Wiki Bot
f3ac2d9d4f Sync SDL3 wiki -> header 2024-07-06 15:46:41 +00:00
Frank Praznik
fbb5652d3e
video: Document that SDL_RaiseWindow is a request and subject to window manager policy
The result of SDL_RaiseWindow is ultimately subject to window manager policy, particularly if the request would result in stealing focus from another window. Document that this is only a request, and if successful, will result in a focus gained event along with the input focus flag being set on the window.
2024-07-06 11:45:43 -04:00
Anonymous Maarten
be43dec798 sdlprocdump: store context and exception record in minidump 2024-07-06 17:36:16 +02:00
Sam Lantinga
0fa74d8aa8 Wiki-compatible documentation for SDL_ALPHA_OPAQUE and SDL_ALPHA_TRANSPARENT 2024-07-06 05:53:40 -07:00
Sam Lantinga
e52603ac8f Support format conversion and YUV surfaces in SDL_SoftStretch()
These are slow paths, but at least they'll do the right thing now.

Fixes https://github.com/libsdl-org/SDL/issues/9496
2024-07-06 05:32:31 -07:00
Sam Lantinga
4ba2e9f4f4 Improved detection of Nintendo Switch Pro controller report mode
Fixes https://github.com/libsdl-org/SDL/issues/10182
2024-07-06 05:29:12 -07:00
Sam Lantinga
6d64d821fb Fixed display hotplug events
The add event was accidentally removed in 30e176d6ba
2024-07-05 15:55:56 -07:00
Sam Lantinga
753f3f8609 Fixed crash when disconnecting external display on iOS 2024-07-05 15:51:20 -07:00
Sam Lantinga
e559b271b5 Clear the wave format so the channel map is cleared before returning from SDL_LoadWAV_IO() 2024-07-05 12:44:25 -07:00
Sam Lantinga
c347bee7b8 Fixed IME cursor location (thanks @zturtleman!) 2024-07-05 12:33:17 -07:00
Anonymous Maarten
50ae47af5e android: create android project in create-android-project.py python script
This script supersedes androidbuild.sh, and also supports using a SDL3 prefab archive
2024-07-05 21:12:26 +02:00
Sam Lantinga
2d05dcc1f7 The same VID/PID is used for the FlyDigi Apex 4 2024-07-05 10:04:59 -07:00
Sam Lantinga
4f71218e17 Allow for floating point error in matching framerates
Fixes https://github.com/libsdl-org/SDL/issues/10053
2024-07-05 09:23:41 -07:00
SDL Wiki Bot
d5a0f60963 Sync SDL3 wiki -> header 2024-07-05 15:59:26 +00:00
Sam Lantinga
8412f52853 Clarified that the renderer should be destroyed before the window
I didn't add a note to SDL_DestroyWindow() because we actually protect against this case now, but it's useful information to know conceptually when working with the renderer.
2024-07-05 08:57:30 -07:00
Ryan C. Gordon
4b5309cd98 main: Move SDL_RunApp bits from src/core to src/main.
Fixes #10170.
2024-07-05 08:52:25 -07:00
Max Maisel
607b1f225c Drain HIDAPI buffer in SDL_hidapi_steamdeck.c.
Add a loop around SDL_hid_read() in the Steam Deck HIDAPI driver as it
is done in other HIDAPI drivers. This loop reads data from the device and
processes it until the input buffer is empty which ensures that clients
always get the latest data.

This fixes an input latency issue if the application polls the events
slower than the hardware generates them.
2024-07-05 08:25:52 -07:00
Sam Lantinga
c7ed78a9ef Try to create an accelerated renderer for the window surface even if SDL_HINT_RENDER_DRIVER is "software"
This case is properly handled inside SDL_CreateWindowTexture()

Fixes https://github.com/libsdl-org/SDL/issues/10155
2024-07-05 08:18:45 -07:00
Sam Lantinga
065ec2d518 Actually return an error when the surface is invalid 2024-07-05 08:12:05 -07:00
Sam Lantinga
c057849035 Return the correct error from SDL_CreateSoftwareRenderer() when the surface is NULL 2024-07-05 08:05:40 -07:00
Ryan C. Gordon
f9a06c20ed
Revert "render: Set renderer->window to NULL in SDL_DestroyRendererWithoutFreeing."
This reverts commit 9f8dffbd2d00494c3512f423281fbcb676fd6467.

This causes some tests to fail, and wasn't otherwise a necessary change, so
I'm backing it out.

(Looks like some sort of interaction with software renderers and their
surfaces not getting destroyed...?)
2024-07-04 19:45:37 -04:00
Ryan C. Gordon
9f8dffbd2d
render: Set renderer->window to NULL in SDL_DestroyRendererWithoutFreeing.
This wasn't triggering a bug afaik, but obviously the more correct thing to do.

Reference Issue #10174.
2024-07-04 14:47:46 -04:00
Sam Lantinga
d13fc3c3a7 Fixed building without X11 support 2024-07-04 11:32:50 -07:00
SDL Wiki Bot
b43f1688d9 Sync SDL3 wiki -> header 2024-07-04 15:12:07 +00:00
Ryan C. Gordon
c3bf874abf stdlib: Clean up and export SDL_UCS4ToUTF8().
Also fix internal usage of the function.

Fixes #10157.
2024-07-04 11:10:50 -04:00
Ryan C. Gordon
f338fa20dd emscripten: Let SDL hints be set by URL parameters.
Any parameters (key/value pairs after the '?' in a URL) that have a keyname
that starts with `SDL_` will be put into Emscripten's environment variable
emulation table at startup, before SDL_main runs.

This lets users set hints the same way they might set them from a shell's
command line on a desktop platform:

For example:

`https://example.com/my_sdl3_application.html?SDL_RENDER_DRIVER=software`

Fixes #10154.
2024-07-04 11:09:42 -04:00
Sam Lantinga
9d47daef0a Do a final pass freeing temporary memory when we quit.
Fixes https://github.com/libsdl-org/SDL/issues/10169
2024-07-03 18:47:15 -07:00
Sam Lantinga
a04596c9a7 Added support for the ROG RAIKIRI 2024-07-03 13:54:00 -07:00
SDL Wiki Bot
d7a875432b Sync SDL3 wiki -> header 2024-07-03 20:07:11 +00:00
Ryan C. Gordon
2a8f1e11ca audio: Add gain support to audio streams and logical audio devices.
Fixes #10028.
2024-07-03 16:05:55 -04:00