Isaac Aronson
f5ee88c2cf
Implement mathematically correct scalar blitters
2024-07-08 10:53:46 -07:00
Isaac Aronson
f0238ef615
Fix build issues
2024-07-08 10:53:46 -07:00
Isaac Aronson
594ca1a897
Add testautomation suite for alpha blending
2024-07-08 10:53:46 -07:00
Isaac Aronson
9590a47629
Implement visually accurate SIMD blitters
2024-07-08 10:53:46 -07:00
Isaac Aronson
f6f12d0451
Revert "Remove buffer in SSE4.1, use unpacklo and packus intrinsics"
...
This reverts commit 149cd55840e7fdfd5ecde5c545aede5822abd14e.
2024-07-08 10:53:46 -07:00
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 3c90b1c1f6
.
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 9f8dffbd2d
.
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