Simon McVittie
fb8244d6d9
init: Also log the SDL revision here
...
This includes the version number, unless the developer is doing
something strange with git tags.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-10-08 14:29:02 -04:00
Simon McVittie
c24f7d2453
Log app ID as SYSTEM/INFO during initialization
...
This is not shown by default, but will be shown when using
SDL_LOGGING=system=info or higher, where it will hopefully nudge app
authors towards initializing this information.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-10-08 14:29:02 -04:00
Sam Lantinga
e7ee92e822
Switched drag-n-drop logging to trace level
...
The logging is extremely verbose and covers the entire data exchange process, which is more suited to the trace level.
2024-10-08 10:56:27 -07:00
Sam Lantinga
2000ccb541
Allow linear interpolation of the font textures
...
With the recent changes to logical presentation, this is necessary for the font to look good when scaled.
Fixes https://github.com/libsdl-org/SDL/issues/11123
2024-10-07 21:43:57 -07:00
Sam Lantinga
4627283eca
Allow building both Cocoa and dummy dialog implementations
...
This allows us to remove platformFilters from the Xcode project, which is not supported in Xcode 12.
2024-10-07 18:01:39 -07:00
Sam Lantinga
81b48de3f5
Fixed VID/PID list parsing of SDL_HINT_GAMECONTROLLER_SENSOR_FUSION
...
Fixes https://github.com/libsdl-org/SDL/issues/11118
2024-10-07 16:14:57 -07:00
Sam Lantinga
5db64300b8
Fixed SDL_GetStringInteger() for values starting with '0' and '1' (thanks @DanielGibson!)
2024-10-07 15:53:38 -07:00
Sam Lantinga
7da728a642
Added support for wired XBox controllers on macOS 15.0 Sequoia
...
Fixes https://github.com/libsdl-org/SDL/issues/11002
2024-10-07 15:44:42 -07:00
Ryan C. Gordon
aa534c3ac3
core: Fixed incorrect comment in core/windows/SDL_windows.h.
2024-10-07 16:55:30 -04:00
rabbit-ecl
6ae5666acf
Check for VK_SUBOPTIMAL_KHR also in vkQueuePresentKHR ( #11113 )
...
This is already handled for vkAcquireNextImageKHR.
2024-10-07 13:01:10 -07:00
Sam Lantinga
06bd214af6
Fixed warnings building on Android
2024-10-07 11:11:27 -07:00
Sam Lantinga
65539bc4f7
Make sure trackpad state is updated when button presses are delivered
...
Fixes https://github.com/libsdl-org/SDL/issues/11085
2024-10-06 14:28:06 -07:00
Sam Lantinga
03b259893a
Fixed return value of SDL_AddGamepadMapping()
...
Fixes https://github.com/libsdl-org/SDL/issues/11095
2024-10-06 14:20:30 -07:00
Jan Sedivy
c2b98e21ba
macOS: Add hint for smooth SDL_EVENT_MOUSE_WHEEL values
2024-10-06 12:36:42 -07:00
Frank Praznik
2fa8acb084
x11: Refresh the global cursor coordinates when confining the pointer
...
XGrabPointer can warp the cursor into the window when confining, so set the flag to refresh the global coordinates when queried.
2024-10-06 14:48:24 -04:00
David Fort
e00b1fdd67
clipboard: include mime types in SDL_ClipboarUpdate
...
This patch modifies the clipboard handling so that when we receive an external
clipboard update, the suppported mime types are included in the SDL_ClipboarUpdate
event. The patch also introduces the owner field that allows to know if the update
is because we own the clipboard (internal update) or if it was an external update.
2024-10-05 18:19:10 -07:00
bubbleguuum
2880b40e33
fix pipewire prototype
2024-10-05 18:16:12 -07:00
zshoals
1ca45c5891
Fix typo: DiretMedia->DirectMedia
2024-10-05 00:08:01 -04:00
Sam Lantinga
00385951a1
Use file descriptor I/O for process pipes
...
Use low level non-blocking I/O for process pipe streams. This may fix issues with data not getting through the pipe occasionally.
Related: https://github.com/libsdl-org/SDL/issues/11006
2024-10-04 12:24:17 -07:00
Sam Lantinga
6c64c62114
Rename SDL_BUTTON() to SDL_BUTTON_MASK()
...
Fixes https://github.com/libsdl-org/SDL/issues/11056
2024-10-04 09:13:59 -07:00
Sam Lantinga
fe2880fcda
Rename SDL_SetThreadPriority() to SDL_SetCurrentThreadPriority()
...
Fixes https://github.com/libsdl-org/SDL/issues/11055
2024-10-04 08:57:03 -07:00
Daniel Ludwig
69196ab30d
Change evasive library handle to `SDL_SharedObject*`
2024-10-04 05:18:40 -04:00
Ryan C. Gordon
3a6a3ab64f
gpu: Fix memory leak in Vulkan backend.
2024-10-04 04:46:28 -04:00
Sam Lantinga
43e7ce7dfc
Updated to version 3.1.3 for the preview release
2024-10-03 23:01:55 -07:00
Ryan C. Gordon
9a5d5a2839
video: Improve the EGL attribute callbacks.
...
Now it has access to information it needs and it's clear who is reponsible
for memory management.
Fixes #11039 .
2024-10-03 22:52:52 -07:00
Petar Popovic
d4143e02d1
Always set checked_monotonic_time when calling CheckMonotonicTime()
2024-10-03 17:11:34 -07:00
Petar Popovic
020fb6889c
Removed unnecessary const-qualifiers in src and test files
2024-10-03 17:39:08 -04:00
Petar Popovic
b8e8dcaa9a
Add void to openbsd function prototypes
2024-10-03 13:55:21 -07:00
Petar Popovic
0e909d2785
Removed redundant condition in src/events/SDL_pen.c
2024-10-03 13:42:18 -07:00
Ryan C. Gordon
191f3ecbbc
render: Restore previous policy for converting window/render coordinates.
...
Before this commit, it would adjust for the logical presentation settings.
Now, it works as it did before the logical presentation render target was
removed: it takes current viewport and scale into account, as well.
Fixes #10978 .
2024-10-03 16:31:56 -04:00
Petar Popovic
3246df8bd3
Remove redundant SDL_Vulkan_GetResultString() declaration
2024-10-03 13:29:53 -07:00
Ethan Lee
a0de6c4abf
Add properties to SDL_IOStreams returned by IOFromMem
2024-10-02 22:09:09 -07:00
Petar Popovic
f4cea5e019
Removed const qualifiers from SDL_CreateHashTable() parameter types
2024-10-02 16:29:49 -07:00
Ryan C. Gordon
d287feaddf
render: Remove non-pointer args' const qualifiers on SDL_RenderTextureRotated.
...
Reference Issue #11032 .
2024-10-02 15:31:20 -04:00
Ryan C. Gordon
8b4f5f09c1
dynapi: It's a Python script now, not a perl script.
...
Fixes #11032 .
2024-10-02 15:27:47 -04:00
Sam Lantinga
47450425fd
Allow iterating just the keys or values in a hashtable
2024-10-02 10:20:00 -07:00
Sam Lantinga
d5fe6dd627
Don't use const for non-pointer API parameters
2024-10-02 09:17:31 -04:00
Sam Lantinga
eced9f58a9
Added a userdata parameter for EGL attribute callbacks
...
Fixes https://github.com/libsdl-org/SDL/issues/11013
2024-10-01 11:45:19 -07:00
Sam Lantinga
4fa92d233d
Include stdbool.h when using Visual Studio 2017+
...
Also cleaned up some incorrect return values from bool functions.
2024-10-01 09:57:59 -07:00
Sam Lantinga
3b3c4a79b6
Don't close file descriptors already handled by AddFileDescriptorCloseActions()
...
Fixes https://github.com/libsdl-org/SDL/issues/10997
2024-10-01 09:32:14 -07:00
Anthony
5f5379dc99
Add `SDL_IsTV()` ( #11004 )
...
Moved SDL_IsAndroidTV() out of public API, to match SDL_IsAndroidTablet().
Added SDL_IsTV(), to mirror existing SDL_IsTablet().
2024-10-01 09:20:00 -07:00
Ryan C. Gordon
0b5e01a305
loadso: library handles are now `SDL_SharedObject*` instead of `void*`.
...
Improved the SDL_loadso.h documentation a little, too.
Fixes #11009 .
2024-10-01 12:16:10 -04:00
Sam Lantinga
3234a3b902
Simplified internal SDL_Surface structure
2024-10-01 08:10:04 -07:00
Sam Lantinga
1f3a0d12e6
Made texture size and format public in the API
...
Also added refcount to textures so they can be retained by application code.
2024-10-01 08:10:04 -07:00
Ryan C. Gordon
5136b30652
render: SDL_ConvertEventToRenderCoordinates() now handles pen events.
...
Reference Issue #10863 .
2024-10-01 10:30:36 -04:00
Ozkan Sezer
13c5d1092f
hidapi: update hid_write() for windows from mainstream.
...
Returns bytes_written if WriteFile returns synchronously
Relevant mainstream discussions:
https://github.com/libusb/hidapi/pull/697
https://github.com/libusb/hidapi/issues/695
2024-09-30 19:49:44 -07:00
cosmonaut
3eab599977
just force the barrier on UpdateTexture actually
2024-09-30 19:47:27 -07:00
cosmonaut
e17741a6cb
Render GPU: Only cycle on update if entire texture is replaced
2024-09-30 19:47:27 -07:00
Sam Lantinga
45ad763de5
Disable backface culling and use a constant rectangle winding order.
...
This makes it so we don't have to surface the rectangle winding order for applications that want to use the raw geometry API.
2024-09-30 19:12:02 -07:00
cosmonaut
fa14b53273
GPU Vulkan: Clear up some swapchain edge cases
2024-09-30 15:10:27 -07:00
David Fort
818d7d892a
x11: store all atoms in a specific struct
2024-09-30 11:13:08 -07:00
David Fort
801870c8cf
video: cache some more atoms under X11
...
This patch adds the caching of some atoms used by the clipboard.
2024-09-30 11:13:08 -07:00
Evan Hemsley
afdf325fb4
GPU: Add swapchain dimension out params ( #11003 )
2024-09-30 10:23:19 -07:00
Anonymous Maarten
b3388d5753
Haiku does not have fdatasync, but has fsync
...
https://dev.haiku-os.org/ticket/17378
2024-09-30 15:10:03 +02:00
Sam Lantinga
0b64520997
hashtable: fixed unused-parameter warnings
...
These show up with -Wextra when dropped into other projects.
2024-09-29 23:56:43 -07:00
Ryan C. Gordon
1787d6ca5c
main: SDL_AppQuit() now reports the result value.
...
Fixes #10994 .
2024-09-29 23:24:04 -04:00
Ryan C. Gordon
6a7f8b74f1
filesystem: SDL_GlobDirectory shouldn't strip final '/' if the path is "/".
...
This is common on Emscripten, where the base directory is "/".
2024-09-29 23:09:04 -04:00
Anonymous Maarten
f6055432c8
Fix null-pointer dereference on failing SDL_SYS_CreateProcess
2024-09-30 03:03:33 +02:00
Anonymous Maarten
e9bfa5bf6a
Mitigate BatBadBut vulnerability
2024-09-30 03:03:33 +02:00
RT2
06e122103c
Fix window opacity update
2024-09-29 14:08:09 -07:00
Sam Lantinga
c84d825241
Added SDL_HashPointer() and SDL_KeyMatchPointer()
2024-09-29 10:59:18 -07:00
Frank Praznik
d0c9c008e1
wayland: Use high-DPI system cursors on non-DPI aware windows
...
Using an unscaled buffer just results in the compositor scaling up the low-res cursor image for output, resulting in it appearing blurry. Always use the scaled cursor to ensure that it appears sharp and matches the native system look.
2024-09-29 13:27:46 -04:00
Ozkan Sezer
5f304b3a47
Fix builed error after commit 0e45b824e3 due to -Wunused-variable
2024-09-29 15:40:02 +03:00
Sam Lantinga
0e45b824e3
renderer: always update the output pixel size at startup
...
Fixes https://github.com/libsdl-org/SDL/issues/10990
2024-09-29 05:22:28 -07:00
Sam Lantinga
2825a682f0
Fixed build errors
2024-09-29 04:42:19 -07:00
Andrei Alexeyev
ba7b346e52
hashtable: reimplement as open-addressed robin hood hashtable
...
This is mostly ported from Taisei Project
2024-09-29 04:11:14 -07:00
Evan Hemsley
fc242abbd2
GPU: recreate swapchain on window pixel size change event ( #10985 )
2024-09-28 18:09:56 -07:00
Evan Hemsley
66f6b40c92
Render GPU: Don't call GetWindowSizeInPixels during RenderPreset ( #10984 )
2024-09-28 18:01:16 -07:00
Sam Lantinga
a923771978
Added SDL_murmur3_32()
2024-09-28 17:19:01 -07:00
Sam Lantinga
039148fb0e
Updated check for stdbool.h
...
If you're building in a C99 or newer environment, we'll automatically include stdbool.h.
If you're building in a C89 or C90 environment, we'll assume that stdbool.h isn't available and define bool as an unsigned char. If you have a working stdbool.h and want SDL to use it, you can either include stdbool.h before SDL headers, or define SDL_INCLUDE_STDBOOL_H in your project.
Closes https://github.com/libsdl-org/SDL/pull/10980
2024-09-28 16:55:09 -07:00
Frank Praznik
7ca0e9ede1
wayland: Scale the pointer destination size relative to the theme size
...
This better matches compositor behavior and avoids slight size jumps when the cursor enters and leaves the window.
2024-09-28 14:32:10 -04:00
Frank Praznik
d2094bd0a2
wayland: Don't query the cursor info with DBus if the cursor shape protocol is present
...
If the cursor shape protocol is supported, the compositor will handle cursor themes and sizes automatically, so querying the properties with DBus serves no purpose as the values are never used.
2024-09-28 12:18:58 -04:00
Ryan C. Gordon
7d21a49c9c
filesystem: SDL_EnumerateDirectoryCallback uses an enum now, not an int.
...
Fixes #10955 .
2024-09-28 01:33:40 -04:00
Ryan C. Gordon
55bd9f5311
iostream: flush() should attempt to sync file data to physical media.
2024-09-27 20:20:51 -04:00
Ethan Lee
0852307b58
gpu: Check Vulkan device features for IsDeviceSuitable
2024-09-27 19:58:30 -04:00
cosmonaut
fb165a542b
GPU Vulkan: add resolve info to framebuffer and render pass lookups
2024-09-27 15:57:57 -07:00
Ryan C. Gordon
4a296f1bde
filesystem: Fixed memory leak on Windows.
2024-09-27 18:54:18 -04:00
Ryan C. Gordon
428f2f35be
filesystem: SDL_CreateDirectory should make parent directories.
...
Fixes #10502 .
2024-09-27 18:54:18 -04:00
Ryan C. Gordon
94030131de
filesystem: Windows SDL_SYS_CreateDirectory should succeed if dir exists.
2024-09-27 18:54:18 -04:00
Sam Lantinga
3f446d8fb5
Minor cleanup
2024-09-27 14:10:46 -07:00
Ozkan Sezer
1088ea55fa
SDL_gpu_d3d11.c: define D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD for old toolchains
2024-09-27 23:55:02 +03:00
cosmonaut
de40d6bae0
GPU Metal: Set texture to NULL even if AcquireSwapchainTexture fails
2024-09-27 13:49:26 -07:00
David Fort
f32e96f5e2
clipboard: add SDL_ClipboardMimeTypes
...
This function allows to retrieve the available mime types without doing any
synthesizing.
2024-09-27 13:38:40 -07:00
cosmonaut
eedd2039f9
GPU: 32-bit component texture formats
2024-09-27 16:26:43 -04:00
Evan Hemsley
05d0656bd6
GPU: Simultaneous compute pass read-write ( #10965 )
2024-09-27 12:49:37 -07:00
Sam Lantinga
d39acc6d1e
Fixed warning C4702: unreachable code
2024-09-27 11:19:54 -07:00
Caleb Cornett
5ff6e8d522
GPU: Add enable_depth_clip to RasterizerState ( #10964 )
2024-09-27 11:18:54 -05:00
Daniel Ludwig
e98cf3c870
Fix Xbox builds
2024-09-27 08:10:03 -07:00
Evan Hemsley
be401dd1e3
GPU: More robust error reporting ( #10958 )
...
---------
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
2024-09-27 00:30:18 -07:00
Sam Lantinga
48e213b4cd
Fixed SDL_ShouldQuit() returning false during status transitions
...
We should wait for the state to stabilize before SDL_ShouldQuit() returns.
For example:
Thread A initializes and increments a use refcount
Thread B skips initializing and increments the use refcount
Thread B starts cleaning up and checks the use refcount
Thread A starts cleaning up, returns because SDL_ShouldQuit() returns false (not initialized), not touching the use refcount
Thread B returns because the use refcount isn't zero
Now we have the state where the refcount is greater than one and both thread A and B have attempted to cleanup.
With this change:
Thread A initializes and increments a use refcount
Thread B skips initializing and increments the use refcount
Thread B starts cleaning up and decrements and checks the use refcount
Thread A starts cleaning up, waits for thread B
Thread B returns because the use refcount isn't zero
Thread A continues and decrements and checks the use refcount, and finishes cleaning up because it has reached 0.
2024-09-26 18:08:58 -07:00
Ryan C. Gordon
d8c76d2f34
filesystem: POSIX SDL_SYS_CopyFile shouldn't use a temp file.
...
Fixes #10957 .
2024-09-26 19:34:34 -04:00
Ryan C. Gordon
f267ec7681
filesystem: Improve docs, make some promises about overwrites and file caches.
...
Note that SDL_FlushIO() doesn't make promises about file data sync but that
is intended to be changed in the IOStream code in a later commit.
Fixes #10886 .
2024-09-26 19:29:03 -04:00
Sam Lantinga
125e592844
Added SDL_ShouldInit() and SDL_ShouldQuit()
...
These are handy functions to support thread-safe initialization and shutdown.
2024-09-26 16:26:12 -07:00
Ryan C. Gordon
38f971bac5
filesystem: SDL_SYS_EnumerateDirectory() now returns bool.
2024-09-26 16:35:15 -04:00
Frank Praznik
671a33c2f7
wayland: Raise all touches on a cancel event
2024-09-26 14:45:10 -04:00
Petar Popovic
457d0edeaf
Remove some extra semicolons
2024-09-26 20:01:56 +03:00
Sam Lantinga
345d9bfe19
A zero source rect is valid for blitting
...
A zero sized source rect draws pixels sourced from a 0x0 region on the source surface.
Fixes https://github.com/libsdl-org/SDL/issues/8580
2024-09-25 22:36:55 -07:00
Sam Lantinga
1aea43846e
Don't use BlitARGBto555PixelAlpha() for SDL_PIXELFORMAT_ARGB1555
...
This didn't properly take into account destination alpha.
Fixes https://github.com/libsdl-org/SDL/issues/8401
2024-09-25 21:54:05 -07:00
Sam Lantinga
d9a7da4fac
Optimized SDL_HasEvent() and SDL_HasEvents()
...
Also document the counting behavior of SDL_PEEKEVENT.
Fixes https://github.com/libsdl-org/SDL/issues/6209
2024-09-25 21:20:00 -07:00
Ryan C. Gordon
3abb213083
opengl: Fixed SDL_RENDERCMD_SETDRAWCOLOR code checking the wrong variable.
2024-09-25 23:14:32 -04:00
Ryan C. Gordon
961cd51611
opengl: Removed a FIXME (this is documented as not-thread-safe now.
2024-09-25 23:14:32 -04:00
Anonymous Maarten
76f28ea120
Fix stdlib usage
2024-09-25 23:59:35 +02:00
Ryan C. Gordon
4c48ff51f8
render: SDL_RenderPresent now behaves when a render target is currently set.
...
It'll temporarily unbind it, draw letterboxing if necessary, present, and
then rebind the previous render target.
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
7a6a0becb8
render: Fixed a FIXME for SDL_SetRenderViewport with a negative size.
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
54459def69
render: Remove the logical presentation render target.
...
Now we render directly to the window, scaling as appropriate. This fixes some
concerns the render target introduced, like the quality of the final scaled
output, how to step outside of the logical size temporarily to draw some
things sharply at the native resolution, and loss of sub-pixel precision.
Fixes #8736 .
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
bf7a48cdcc
render/gpu: Change some memcpy calls to SDL_memcpy.
2024-09-25 16:26:36 -04:00
cosmonaut
925e47a077
GPU: Fix backwards LogError and SetError calls
2024-09-25 12:47:40 -07:00
cosmonaut
557c6dfb18
GPU: call SDL_SetError where appropriate
2024-09-25 10:47:14 -07:00
Cameron Gutman
6ec8b1a173
Throttle tickle reports to PS4/PS5 controllers
...
UpdateDevice() can be called at an arbitrary rate, so we need to
pace ourselves to avoid filling up the rumble queue with these.
2024-09-25 07:20:35 -07:00
Anthony
53bf2baac3
Change JNI calls to comply with recent Boolean changes
...
Android OpenURL and Toast methods return Booleans now, so let's use the correct interface.
2024-09-24 14:45:24 -07:00
Frank Praznik
ad3a4c677b
wayland: Clean up cursor scaling
...
Handle named and custom cursor scaling in a cleaner manner, and account for edge cases where named cursor sizes may not exactly match the required size.
2024-09-24 11:46:56 -04:00
Cameron Gutman
57418475ce
kmsdrm: Keep fd around if we can drop master
...
Modern kernels (v5.8+) allow non-root usage of drmDropMaster(), so
we can hold on to our fd after dropping master on it. This fixes
populating drm_fd in the KMSDRM SysWMinfo when using Vulkan.
Also add a missing error check for open() while we're here
2024-09-24 12:55:02 +03:00
Cameron Gutman
13f88df190
kmsdrm: Fix KMSDRM_Vulkan_CreateSurface() return value
2024-09-23 23:33:15 -05:00
Cameron Gutman
8f55f48337
kmsdrm: Move property initialization a bit further down
...
KMSDRM_GBMInit() must be called first to set drm_fd and gbm_dev.
2024-09-23 23:00:14 -05:00
Petar Popovic
004ac40226
Fix warning: no function prototype
2024-09-23 10:03:18 -07:00
Ethan Lee
4a3faf20ac
gpu: Replace high-level logs with SetError
2024-09-23 10:57:10 -04:00
mausimus
0685b96469
GPU: fix build when SDL_GPU_DISABLED is set
2024-09-23 08:09:17 -04:00
Caleb Cornett
97d1056e16
GPU: MSAA fixes ( #10917 )
2024-09-21 17:38:10 -05:00
Evan Hemsley
89c6bc5f50
Prefer Vulkan even on Windows ( #10912 )
2024-09-20 13:42:15 -07:00
Evan Hemsley
980b4ff6db
GPU: Vulkan descriptor management rewrite ( #10910 )
2024-09-20 12:55:39 -07:00
Frank Praznik
fcb8a2c016
wayland: Fix animated cursor timing
...
Adjust the frame timing so it will still advance if the frame callback fires faster than the frame duration.
2024-09-20 14:19:28 -04:00
Sam Lantinga
ea2e2e451d
Better fix for initializing Android environment variables
2024-09-20 11:09:48 -07:00
Sam Lantinga
095fb5f522
Fixed infinite recursion at startup on Android
2024-09-20 10:56:02 -07:00
T3hD0gg
594edb6bd2
Add Thrustmaster TMX VID & PID to wheel device list.
2024-09-18 22:19:54 -07:00
Sam Lantinga
34c6011360
Fixed Windows build
2024-09-18 14:55:51 -07:00
Sam Lantinga
d29a0e3f31
Fixed warning: no previous prototype for function
2024-09-18 14:34:14 -07:00
Sam Lantinga
398dff7c25
Added support for the HORI licensed Steam Controller
2024-09-18 14:08:32 -07:00
Sam Lantinga
481203c074
Fixed Xcode warnings
2024-09-18 13:20:53 -07:00
Sam Lantinga
95c3ee77c1
Removed testing code
2024-09-18 11:12:06 -07:00
Simon McVittie
23f855a970
render: Integrate fix-shaders.sh into build-shaders.sh
...
By writing the fxc and dxc output to a temporary file and then
converting that temporary file to the desired filename, we avoid
the incompatible semantics of sed -i on GNU systems (sed -i does not
create a backup filename, and does not take an argument unless it is
"bundled") and macOS (sed -i requires an argument, possibly empty).
Resolves: https://github.com/libsdl-org/SDL/issues/10878
Signed-off-by: Simon McVittie <smcv@debian.org>
2024-09-18 10:38:59 -07:00
Sam Lantinga
d658ef6627
Don't guess about the size of an int, assert it!
2024-09-18 10:37:11 -07:00
Sam Lantinga
a90ad3b0e2
Removed SDL_bool in favor of plain bool
...
We require stdbool.h in the build environment, so we might as well use the plain bool type.
If your environment doesn't have stdbool.h, this simple replacement will suffice:
typedef signed char bool;
2024-09-18 08:32:30 -07:00
Sam Lantinga
407ccadfd7
Added copyright header to edid.h
2024-09-18 08:18:26 -07:00
Sam Lantinga
bd04459cde
Fix typos (thanks @qndel!)
...
Fix typos in comments and in one case in a returned error ("insuffient -> insufficient" fb273eb )
codespell src/ *.cpp *.h *.hpp --ignore-words-list unknwn,thid,algebric,statics,pixelX,pEvents,caf,ptd,parms,pEvent,parm,TextureRS,TE,HDA,LOD,datas,UE,xwindows,IIF
cd src; git checkout \
events/imKStoUCS.* \
hidapi \
joystick/controller_type.c \
joystick/controller_type.h \
joystick/hidapi/steam/controller_constants.h \
joystick/hidapi/steam/controller_structs.h \
libm \
stdlib/SDL_malloc.c \
stdlib/SDL_qsort.c \
stdlib/SDL_strtokr.c \
video/khronos \
video/x11/edid.h \
video/x11/edid-parse.c \
video/x11/xsettings-client.* \
video/yuv2rgb
2024-09-18 08:18:26 -07:00
Sam Lantinga
03ae792df3
Fixed the recording field in audio device events
...
Fixes https://github.com/libsdl-org/SDL/issues/10885
2024-09-17 11:36:55 -07:00
Sam Lantinga
c68e9e157c
Fixed typo
2024-09-17 10:59:28 -07:00
Sam Lantinga
bc9780299c
Don't define backends if SDL_GPU_DISABLED is set
2024-09-17 09:40:29 -07:00
Sam Lantinga
807b8a9d4d
Allow initializing hints and properties from any thread
2024-09-17 08:53:27 -07:00
Sam Lantinga
d0edf68774
Added Uint32 versions of the atomic functions
2024-09-17 08:53:27 -07:00
Sam Lantinga
8d223b3037
Renamed atomic functions to match SDL 3.0 naming convention
...
This will also allow us to cleanly add atomic operations for other types in the future.
2024-09-17 08:53:27 -07:00
Sam Lantinga
f3e419596b
Removed SDL_INIT_TIMER
...
This is no longer necessary before calling SDL_AddTimer()
2024-09-17 08:53:27 -07:00
Sam Lantinga
9275c533ca
Added thread-safe initialization/cleanup support
...
Also went through and removed inappropriate uses of spinlocks.
Fixes https://github.com/libsdl-org/SDL/issues/10872
2024-09-17 08:53:27 -07:00
Sam Lantinga
7edd43c276
Don't define render_drivers if SDL_RENDER_DISABLED is set
...
Fixes https://github.com/libsdl-org/SDL/issues/10861
2024-09-17 08:46:05 -07:00
Sam Lantinga
98cd8b34a7
Close the other file descriptors after redirection has taken place
...
Fixes https://github.com/libsdl-org/SDL/issues/10868
2024-09-17 07:46:48 -07:00
Simon McVittie
4b3058d58d
render: Don't try to rebuild D3D11, D3D12, Metal shaders without spirv-cross
...
Signed-off-by: Simon McVittie <smcv@debian.org>
2024-09-17 07:43:37 -07:00
Simon McVittie
13500bbf50
render: Fix detection of fxc, dxc in build-shaders.sh
...
We want `$USE_FXC` to default to the result of evaluating the variable
`$HAVE_FXC`, not the literal string `HAVE_FXC`, and the same for dxc.
Signed-off-by: Simon McVittie <smcv@debian.org>
2024-09-17 07:43:37 -07:00
Green Sky
11129761e7
v4l2: return success if the device is ready
2024-09-17 07:41:43 -07:00
Simon McVittie
ab9c68d9ff
pipewire: Always destroy hotplug loop during deinitialization
...
We always need to destroy the hotplug loop and its associated resources
(if created) before we can deinitialize and unload the Pipewire library.
In the happy path where everything worked correctly, this means we will
call hotplug_loop_destroy() twice (once from PIPEWIRE_DeinitializeStart()
and a second time from PIPEWIRE_Deinitialize()), but that's OK, because
it's idempotent and so will do nothing the second time.
In error-handling code paths, this avoids needing to remember to call
hotplug_loop_destroy() explicitly, which should make it easier to avoid
bugs like #10787 .
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-17 07:35:42 -07:00
Sam Lantinga
231ea07617
Added SDL_LogTrace()
2024-09-17 02:04:54 -07:00
Sam Lantinga
6180da00e1
Skip a lock/unlock when logging known categories
2024-09-17 02:04:54 -07:00
Caleb Cornett
c499f79fe9
GPU: Fix multisample texture usage validation
2024-09-16 17:55:27 -05:00
Sam Lantinga
1bbc897e48
Updated documentation for bool return type
...
Also updated the test CRC functions to return bool.
2024-09-16 13:12:15 -07:00
Sam Lantinga
dc639956ba
Improve logging performance and make log priorities thread-safe
...
Fixes https://github.com/libsdl-org/SDL/issues/9679
2024-09-16 13:09:17 -07:00
Caleb Cornett
9416917353
GPU: Rework MSAA ( #10859 )
2024-09-16 12:19:09 -05:00
Sam Lantinga
0f85fdefc8
Fixed warning: "SDL_VIDEO_RENDER_D3D12" is not defined, evaluates to 0
2024-09-16 07:40:00 -07:00
Caleb Cornett
4f722d372a
GPU: Metal vertex buffer indices should grow upward ( #10837 )
2024-09-15 20:17:43 -05:00
Sam Lantinga
5b5b1a8926
Fixed cleaning up dependent subsystems if initialization fails
2024-09-15 11:40:31 -07:00
Sam Lantinga
97d40b9218
Removed SDL_CleanupEnvironment()
2024-09-15 10:00:21 -07:00
Sam Lantinga
28b94c4758
Re-added SDL_getenv() as a thread-safe getenv() implementation
2024-09-15 09:37:04 -07:00
Sam Lantinga
718845a33d
Fixed warning C4701: potentially uninitialized local variable 'startup_info' used
2024-09-15 09:21:04 -07:00
Sam Lantinga
19243092c6
Renamed SDL_GpuGraphicsPipelineTargetInfo to SDL_GPUGraphicsPipelineTargetInfo
...
Fixes https://github.com/libsdl-org/SDL/issues/10855
2024-09-15 07:46:26 -07:00
Sam Lantinga
604d0c519e
If posix_spawn() is available, so is sigaction
2024-09-14 22:54:18 -07:00
Sam Lantinga
ec5d280c90
Make sure we ignore SIGPIPE so we don't crash if we write when the pipe is closed
2024-09-14 22:15:18 -07:00
Sam Lantinga
34b2f4ffca
Use non-blocking pipes for process I/O on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/10846
2024-09-14 21:16:35 -07:00
Anonymous Maarten
dd07cc8991
SDL_Process: WAIT_TIMEOUT means the process has not exited yet
2024-09-14 21:16:29 -07:00
Carl Åstholm
1f3fd65c4c
cpuinfo: Rename SDL_GetCPUCount to SDL_GetNumLogicalCPUCores
...
This was the only API that broke the "GetNumThings" convention
used elsewhere, so renaming it helps with consistency.
Adding "logical cores" to the name also makes it a bit
more immediately obvious what the count actually represents.
2024-09-14 19:33:30 -07:00
Sam Lantinga
dcb2a8c2fe
Use CreateProcessW() to handle non-ASCII file paths and arguments
2024-09-14 12:27:22 -07:00
Sam Lantinga
e97f636590
SDL_PROP_PROCESS_CREATE_ENVIRONMENT_POINTER is an SDL_Environment pointer
2024-09-14 12:27:22 -07:00
Sam Lantinga
56fc4b790c
Reduce strcmp() calls in hashtable lookup
2024-09-14 11:46:40 -07:00
Sam Lantinga
e673479449
Removed SDL_WriteProcess()
...
This had the unfortunate side-effect of blocking if you tried to write too much. Instead you can use SDL_GetProcessInput() and handle SDL_IO_STATUS_NOT_READY as needed.
Fixes https://github.com/libsdl-org/SDL/issues/10834
2024-09-14 11:15:50 -07:00
Ozkan Sezer
a833ee2e63
SDL_gpu.c: fixed build when SDL_GPU_DISABLED is defined.
2024-09-14 20:40:56 +03:00
ritalat
f6f49de134
Add convenience functions to get process IOStreams
2024-09-14 10:33:29 -07:00
Sam Lantinga
7ff015ceae
Close file descriptors not used by the child process
2024-09-14 10:29:02 -07:00
Sam Lantinga
fed0149172
Switched wayland messageboxes to use the new process API
2024-09-14 10:29:02 -07:00
Sam Lantinga
aa7357a14d
SDL_CreateEnvironment() fills the environment with a non-zero parameter
2024-09-14 10:29:02 -07:00
Sam Lantinga
76c469910e
Added SDL_PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN
2024-09-14 10:29:02 -07:00
Sam Lantinga
44c6cfda05
Switched zenity dialogs to use the new process API
2024-09-14 10:29:02 -07:00
Semphriss
27862907c6
Update src/process/windows/SDL_windowsprocess.c
...
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-09-13 22:15:56 -07:00
Semphriss
82b33a7d3f
Update src/process/windows/SDL_windowsprocess.c
...
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-09-13 22:15:56 -07:00
Semphris
3cf54675bb
Windows process: escape backslashes before quotes
2024-09-13 22:15:56 -07:00
Sam Lantinga
90e01040c5
Added thread-safe environment functions
...
Also marked the existing functions as unsafe, as they can cause crashes if used in multi-threaded applications.
As a bonus, since the new functions are hashtable based, hint environment lookups are much faster.
2024-09-13 22:14:54 -07:00
Ethan Lee
16ff7503b7
gpu: Update GPU support queries to better match naming conventions
2024-09-13 23:08:44 -04:00
Semphris
9eea8234e6
Add SDL_Process subsystem
2024-09-13 15:19:32 -07:00
Sam Lantinga
6c83491116
Added SDL_FlushIO()
...
Also added SDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER and refactored the internal API to be able to create SDL_IOStream objects from native file handles.
2024-09-13 15:19:32 -07:00
Carl Åstholm
eb199176e6
stdlib: Conditionally undef some SDL_strtox tests
...
Some test cases have implementation-defined results,
so we should only test these when we know SDL's own
implementations of the functions are used.
2024-09-13 12:30:58 -07:00
Carl Åstholm
59ec034412
stdlib: Use macros to define SDL_strtox tests
2024-09-13 12:30:58 -07:00
Carl Åstholm
8092e35287
stdlib: Improve SDL_strtod
...
- Handle leading whitespace
- Handle positive sign
- Parse integer part as unsigned long long
- Handle signed zero (this also applies to printf)
2024-09-13 12:30:58 -07:00
Carl Åstholm
56a48763cd
stdlib: Bring SDL_wcstol in line with SDL_strtol
2024-09-13 12:30:58 -07:00
Carl Åstholm
61bc856b04
stdlib: Use new parser for scanf %p specifier
2024-09-13 12:30:58 -07:00
Carl Åstholm
e109aa09aa
stdlib: Rewrite SDL_strto(ll?|ul) impl
2024-09-13 12:30:58 -07:00
Carl Åstholm
fb82772fb3
stdlib: Rewrite SDL_strtoull impl
2024-09-13 12:30:58 -07:00
Carl Åstholm
88d3cb4f90
Remove unnecessary include from SDL_pen_c.h
2024-09-13 12:30:58 -07:00
Carl Åstholm
fd53b3e112
stdlib: Rewrite SDL_wcstol impl
...
SDL_wcstol should now fully adhere to the libc spec.
2024-09-13 12:30:58 -07:00
Anonymous Maarten
ee65176eec
SDL_test: add SDLTest_LogEscapedString
2024-09-13 20:52:32 +02:00
Anonymous Maarten
6a305e1532
SDL_test: fix SDLTest_CommonQuit with NULL state
2024-09-13 20:52:32 +02:00
Ethan Lee
0160e9eac6
gpu: Add SDL_QueryGPUSupport
2024-09-13 13:42:07 -04:00
Ethan Lee
96e147b2b9
gpu: Rework driver name queries, add GetGPUShaderFormats
2024-09-13 12:29:40 -04:00
Frank Praznik
6d92de5d3a
wayland: Ensure that a NULL internal structure isn't dereferenced when destroying a window
...
In some cases, such as when recreating a window during renderer initialization, a failure can leave the window in a state where the internal structure has already been freed, but the higher level window object needs to be destroyed separately. Check that the internal handle is valid before attempting to access any data during destruction.
Allows for graceful failure instead of a crash during cleanup if renderer creation fails.
2024-09-13 11:38:48 -04:00
Frank Praznik
9d9721cd4c
wayland: Fix some incorrect buffer scale calculations
...
Use doubles and apply an offset to account for rounding errors due to Wayland scale increments being in units of 1/120. This fixes the backbuffer size calculations with certain combinations of size/scale values, and future-proofs the Wayland backend, as 32-bit floats become increasingly error-prone with larger dimensions and/or scale factors.
The conversion formula is now point->pixel->point round trip safe as well.
2024-09-13 11:18:12 -04:00
Caleb Cornett
94436a938d
GPU: Remove unused and incorrect D16 format checks from Vulkan driver
2024-09-13 10:16:02 -05:00
Caleb Cornett
5771b502f8
GPU: Fix D3D11/D3D12 vertex strides for multiple vertex buffers ( #10818 )
2024-09-13 09:57:55 -05:00
Ethan Lee
371cfaf8fe
gpu: Implement support for SDL_GPU_DISABLED
2024-09-13 10:32:12 -04:00
Caleb Cornett
a45a2caf49
GPU: Rename VertexBinding to VertexBufferDescription ( #10811 )
2024-09-12 18:02:39 -05:00
poleonek
446ee3e7c5
Fix bug with SDL_ShowMessageBox not working with wayland ( #10810 )
2024-09-12 15:12:17 -07:00
Ryan C. Gordon
b7dc30ca24
pulseaudio: Hotplug thread fixes.
...
This used a tiny stack, which apparently upsets Blender for various
technical reasons. Instead, just use the default stack size, which should
give it plenty of space to work.
If the thread failed to create, we would then wait on a semaphore that would
never trigger, so don't do that anymore!
Fixes #10806 .
2024-09-12 17:44:14 -04:00
Ethan Lee
c36982d45c
vulkan: Avoid redundant commands for dynamic states
2024-09-12 16:51:32 -04:00
Evan Hemsley
66489f91bb
GPU: Cube Arrays ( #10800 )
...
---------
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
2024-09-12 13:41:46 -07:00
Ethan Lee
9ea0a837ae
vulkan: Use a spinlock instead of a mutex for descriptor pools
2024-09-12 15:23:37 -04:00
Caleb Cornett
ddd5723e2e
GPU: Remove pitch parameters from indirect draw calls ( #10803 )
2024-09-11 23:30:14 -07:00
hwsmm
3d7e8c9bb7
Add missing SDL_WPRINTF_VARARG_FUNCV in gendynapi.py
2024-09-11 21:12:26 -07:00
Petar Popovic
d03c7cdf17
Removing extra semicolons
2024-09-11 19:45:22 -07:00
Petar Popovic
fd2a266549
Adding void to empty function prototype parenthesis
2024-09-11 19:44:52 -07:00
Sam Lantinga
4d135fb696
Fixed color scale when rendering to an sRGB render target
2024-09-11 14:23:58 -07:00
Sam Lantinga
86e393b523
Clarify that INPUTTYPE_UNSPECIFIED is correct for RGB textures
2024-09-11 14:23:58 -07:00
Sam Lantinga
92255d36d4
We already have functions for converting between sRGB and linear space
2024-09-11 14:23:58 -07:00
Sam Lantinga
667a3e40e9
Use the correct namespace for structures
...
Otherwise the debugger may use the wrong structure definition at runtime.
2024-09-11 14:23:58 -07:00
Sam Lantinga
37c9fb490e
Changed enums to use XXX_COUNT for the count or number of values
...
Fixes https://github.com/libsdl-org/SDL/issues/10763
2024-09-11 09:32:17 -07:00
Andrei Alexeyev
64f12bea4a
GPU: Remove unnecessary texture format swizzles in Vulkan ( #10693 )
2024-09-11 09:01:06 -07:00
Sam Lantinga
4123023d3e
Renamed sdlgpu to gpu
2024-09-11 08:34:51 -07:00
Sam Lantinga
c77e51c084
Use SDL_unsetenv()
2024-09-11 07:42:17 -07:00
cosmonaut
3166f91282
GPU: Defer setting blend state on D3D11
2024-09-11 00:27:36 -07:00
Evan Hemsley
2b8a349b26
Add SDL_BindGPUComputeSamplers ( #10778 )
...
---------
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
2024-09-10 19:20:14 -07:00
Petar Popovic
323b60abf1
SDL_test_harness.c: Fix warning -Wcast-function-type-strict
2024-09-10 18:22:54 -07:00
Evan Hemsley
0b6f993dea
GPU: Zero-init handling ( #10786 )
2024-09-10 18:17:08 -07:00
Sam Lantinga
b8dbc7086d
Disable GameInput mouse and keyboard support
...
GameInput currently has a bug with keys stuck on focus change, and crashes on initialization on some systems, so we'll disable it until these issues are fixed.
2024-09-10 15:29:52 -07:00
Sam Lantinga
76ce83801a
Removed pipewire client version check
...
@smcv may have found the root cause of the pipewire thread crash, so removing the pipewire client version check to re-enable use of pipewire in older container runtimes.
2024-09-10 13:05:48 -07:00
Simon McVittie
9c8c6da476
pipewire: If hotplug initialization fails, clean up any partial success
...
hotplug_loop_init() calls pw_context_new(), which creates a thread
internally (for the "data loop"). It also creates a thread of its own,
the `hotplug_loop`.
Both of these threads are running code from libpipewire, so before we
can allow the Pipewire library to be unloaded, we need to destroy
the context with pw_context_destroy() and destroy the `hotplug_loop`
with pw_thread_loop_destroy().
Resolves: https://github.com/libsdl-org/SDL/issues/10787
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-10 13:04:16 -07:00
Andrei Alexeyev
1e9ff723ad
GPU: fix SDL_GetGPUSwapchainTextureFormat error return value
2024-09-10 08:36:57 -07:00
Sam Lantinga
4eb4370500
SDL_strtoll(), SDL_strtoull(), SDL_lltoa(), and SDL_ulltoa() use long long values
2024-09-09 15:46:26 -07:00
Sam Lantinga
6fc6e3dc7e
Use SDL_bool where appropriate in SDL events
...
This involved changing button state from Uint8 to SDL_bool, and made SDL_PRESSED and SDL_RELEASED unnecessary.
Fixes https://github.com/libsdl-org/SDL/issues/10069
2024-09-09 14:00:19 -07:00
Carl Åstholm
d6caf2abe7
Remove SDL_RESTRICT in favor of doc comments
2024-09-09 13:51:16 -07:00
Simon McVittie
7713a7eec7
x11vulkan: Use the correct SONAME of libX11-xcb.so.1 on Linux, etc.
...
On most Unix platforms supported by SDL, the canonical name used to load
a library at runtime includes its ABI major version, and the name
without a version is not guaranteed to exist on non-developer systems.
libX11-xcb.so.1 is correct on Linux, and probably on other Unix
platforms like FreeBSD.
A notable exception is OpenBSD, which apparently does not use
ABI-suffixed names, so continue to use libX11-xcb.so there.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-09 12:27:54 -07:00
cosmonaut
d3091b9538
Remove SDL_GPUDepthStencilValue struct
2024-09-09 10:55:05 -07:00
Sam Lantinga
80e541d1fc
Fixed calling SDL_utf8strlcpy() with dst_bytes of 0
2024-09-09 10:42:25 -07:00
Evan Hemsley
668e2f82d2
Add load op and clear color to SDL_BlitGPUTexture ( #10767 )
2024-09-09 10:19:52 -07:00
Simon McVittie
4728325044
pipewire: Give hotplug threads a more indicative name
...
When debugging crash reports, it's helpful to know which thread is
associated with which external library.
Linux limits the length of a thread name to 15 bytes (not including the
zero-termination), so abbreviate Pipewire to "pw" and hotplug to "plug"
to fit the desired information into the allowed space.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-09 11:22:05 -04:00
Petar Popovic
a57f6c4af3
Fix additional calloc-transposed-args warnings
2024-09-08 19:28:11 -07:00
Petar Popovic
d2ef15d8e6
Fix warnings: calloc-transposed-args
2024-09-08 19:28:11 -07:00
Petar Popovic
aa6a0be7a8
Fix warning: redefinition of typedef 'SDLTest_TestSuiteRunner'
2024-09-08 15:36:51 -07:00
Petar Popovic
257385277d
SDL_realloc() with size 0 now always defaults to size 1
2024-09-08 06:39:37 -07:00
Anonymous Maarten
4c0cb94b96
vulkan: VULKAN_CreateTexture returns a boolean
...
Fixes regression introduced by 9ff3446f03
VK_SUCCESS == 0, where failure needs to return false (0).
2024-09-08 13:14:18 +02:00
Anonymous Maarten
3eb49ac862
vulken: VULKAN_CreateTexture returns a boolean
...
Fixes regression introduced by 9ff3446f03
VK_SUCCESS == 0, where success needs to return true (1).
2024-09-08 12:42:55 +02:00
cosmonaut
1a13acac09
Always blit to the swapchain in GPU_RenderPresent
...
Fixes #10744
2024-09-07 08:43:02 -07:00
Evan Hemsley
68a9991ec9
GPU: Document structs ( #10742 )
2024-09-07 08:29:14 -07:00
Sam Lantinga
cf9613fe63
The GPU log category ate one of the SDL reserved categories
2024-09-07 07:57:29 -07:00
Daniel Ludwig
1849205733
Fix GDK builds after renames done in #10730
2024-09-07 11:50:40 +03:00
Daniel Ludwig
0a44ea1b0b
Amend use of non-standard compiler syntax
2024-09-07 11:50:40 +03:00
Sam Lantinga
1d59be67fc
Fixed crash if PIPEWIRE_PREFERRED_Init() fails and then pipewire is used anyway
...
The symbols were unloaded, but not reloaded because pipewire_initialized was still true.
2024-09-06 17:26:45 -07:00
Caleb Cornett
9730f62e8c
GPU: Rename struct members and parameters for SDL3 naming conventions ( #10730 )
...
---------
Co-authored-by: Evan Hemsley <2342303+thatcosmonaut@users.noreply.github.com>
2024-09-06 16:38:23 -07:00
Timothee Besset
e21f70c593
pipewire : check minimum client library version early
2024-09-06 14:52:46 -07:00
Sam Lantinga
4c8357a37d
Clarified why the WINDOWS driver is lower than the RAWINPUT driver
2024-09-06 11:27:51 -07:00
Sam Lantinga
66b4c080c0
Clarified why the WGI driver is lower than the WINDOWS driver
2024-09-06 11:25:57 -07:00
Sam Lantinga
8f46cb771c
SDL_XINPUT_Enabled() returns false until XInput DLL is successfully loaded
...
We make sure we initialize XInput first, so that anything checking whether it's enabled gets a valid result based on whether we were able to load it or not.
2024-09-06 11:21:06 -07:00
Ryan C. Gordon
ac08dde1b2
windows: Clean out things that should be using `defined(SDL_PLATFORM_WINDOWS)`.
2024-09-06 13:28:39 -04:00
Ryan C. Gordon
154452a726
winrt: Removed WinRT/Windows Phone/UWP support.
...
Fixes #10724 .
2024-09-06 13:28:39 -04:00
Sam Lantinga
6d7c211faf
Fixed race condition at startup that could cause a crash in the XInput driver
2024-09-06 10:15:16 -07:00
Sam Lantinga
1381cc8554
Add a step to fix generated shader code
2024-09-06 09:09:01 -07:00
Sam Lantinga
104642ffe7
Sorted API symbols
2024-09-06 08:57:40 -07:00
Sam Lantinga
4c382aafcd
Fixed building on Raspberry Pi
2024-09-06 08:54:05 -07:00
Anonymous Maarten
360bc667a8
SDL_Log: restore SDL2's SDL_LogCategory order
2024-09-06 17:40:59 +02:00
Anonymous Maarten
db96ddca34
SDL_test: use SDLCALL calling convention
...
This is needed when using a pre-built static SDL3_test library.
2024-09-06 14:19:05 +02:00
Sam Lantinga
379aea5c2d
Fixed warnings building with Visual Studio
2024-09-05 20:24:30 -07:00
Sam Lantinga
8edb901724
Fixed crashes in Metal renderer due to ARC releasing references on random memory in newly allocated structs
2024-09-05 19:48:33 -07:00
Sam Lantinga
702ed83f72
Initialize interface structures so they can be extended in the future
...
We guarantee that we will only add to the end of these interfaces, and any new fields will be optional.
2024-09-05 19:16:00 -07:00
Anonymous Maarten
102b3b480b
SDL_test: move argument parsing into SDL_test
2024-09-06 03:06:40 +02:00
Anonymous Maarten
09af4a8086
SDL_test: make argument parsing extendable
2024-09-06 03:06:40 +02:00
Anonymous Maarten
396dd16471
SDL_test: Remove unused common_usage_* static char pointers
2024-09-06 03:06:40 +02:00
Anonymous Maarten
872608b8af
Don't allocate in SDLTest_GenerateRunSeed
2024-09-06 03:06:40 +02:00
Anonymous Maarten
2f4b2df595
SDL_test: pass data pointer to unit tests
2024-09-06 03:06:40 +02:00
Anonymous Maarten
baa1a5e2f4
Add SDL_strpbrk
2024-09-06 01:35:43 +02:00
Anonymous Maarten
55934bc85e
include: add SDL_RESTRICT for restricted pointer aliasing
2024-09-06 01:35:43 +02:00
Caleb Cornett
2d4eb29c37
Add SDL_SetGPUBlendConstants, SDL_SetGPUStencilReference ( #10704 )
2024-09-05 17:41:23 -05:00
Ozkan Sezer
f494658f9c
SDL_gpu.c: remove BOM.
2024-09-05 22:39:02 +03:00
Ozkan Sezer
cb2919ac55
[GPU] MinGW build fixes:
...
- CreateEventEx() is guarded by _WIN32_WINNT >= 0x0600:
In SDL_gpu_d3d12.c, include core/windows/SDL_windows.h
that defines _WIN32_WINNT properly to account for that
- DXGIInfoQueue stuff is not available in all toolchains
such as mingw-w64 version 8.0.3
- SDL_gpu_d3d11.c: _WIN32 is always defined by MinGW, as
is the case for all windows-targeting compilers, so it
doesn't guarantee absence of DXGIInfoQueue stuff:
rely on __IDXGIInfoQueue_INTERFACE_DEFINED__, as it is
done elsewhere.
Fixes: https://github.com/libsdl-org/SDL/issues/10705 .
2024-09-05 22:39:02 +03:00
Frank Praznik
a46e7027ce
video: Allow setting the parents of toplevel windows
...
Allow setting a parent/child relationship on toplevel windows, which allows raising sets of windows together, and allows child windows to always float above their parents.
Modal windows are now set by setting the parent, then toggling modal status, as the previous interface duplicated functionality now handled by SDL_SetWindowParent().
2024-09-05 15:22:23 -04:00
Sam Lantinga
387774ab8a
Build config flags are either defined or undefined, never 0
...
This is for consistency with CMake build configuration
Also added SDL_VIDEO_RENDER_GPU to the non-CMake build configurations
2024-09-05 09:52:40 -07:00
David Gow
e3fd581aca
GPU: vulkan: Respect swapchain minImageCount
...
The default value of MAX_FRAMES_IN_FLIGHT (3) may be less than the
minImageCount returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR() on
some setups. For example, the Intel IVB Vulkan driver on Wayland returns
a minImageCount of 4, resulting in the following validation warning:
VUID-VkSwapchainCreateInfoKHR-presentMode-02839(ERROR / SPEC): msgNum: -76493605 - Validation Error: [ VUID-VkSwapchainCreateInfoKHR-presentMode-02839 ] | MessageID = 0xfb70ccdb | vkCreateSwapchainKHR(): pCreateInfo->minImageCount 3, which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR() (i.e. minImageCount = 4, maxImageCount = 0). The Vulkan spec states: If presentMode is not VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR nor VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR, then minImageCount must be greater than or equal to the value returned in the minImageCount member of the VkSurfaceCapabilitiesKHR structure returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR for the surface (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSwapchainCreateInfoKHR-presentMode-02839 )
Objects: 0
Use the minimum image count in that case, as it's as close as we'll get
to our preferred value. Note also that, unlike maxImageCount,
minImageCount is never 0 (the spec states it is always at least 1), so
we don't need a similar check to see if it applies.
Signed-off-by: David Gow <david@ingeniumdigital.com>
2024-09-05 08:10:18 -07:00
Sylvain
41810c823d
Compilation without vulkan: SDL_GPU_VULKAN is always defined for some plateform (at android, macos), test against 0 or 1
2024-09-05 05:36:21 -07:00
Quinn X. J.
f61d4db39a
GPU: `colorAttachmentDescriptions` should be `const`
...
The `colorAttachmentDescriptions` field of `SDL_GPUGraphicsPipelineAttachmentInfo` should be marked `const`,
similarly to the `vertexBindings` and `vertexAttributes` fields of `SDL_GPUVertexInputState`.
2024-09-05 05:22:52 -07:00
Sam Lantinga
20d0a1a3d1
Added a defensive check against XINPUTGETCAPABILITIES being NULL
...
This should never happen, but it does, possibly due to a data segment overwrite elsewhere.
2024-09-04 16:30:27 -07:00
Sam Lantinga
abd2ac5992
Set the desired channel count when opening audio on Android
2024-09-04 13:59:48 -07:00
Sam Lantinga
e2c9a0a427
Updated Android audio log messages
2024-09-04 13:59:48 -07:00
Evan Hemsley
1788be8547
GPU: Add const to some function parameters ( #10694 )
2024-09-04 13:53:41 -07:00
Sam Lantinga
c9387bcca5
pipewire: spa_list_is_empty() returns bool
2024-09-03 13:45:00 -07:00
Sam Lantinga
0fd275e16e
pulseaudio: fixed cleanup if couldn't connect to pulseaudio server
2024-09-03 13:34:19 -07:00
Sam Lantinga
a56315cd48
Fixed return value failing to load pulseaudio functions
2024-09-03 13:24:27 -07:00
Sam Lantinga
7ca676aeed
Use ASCII characters in SDL source and headers
...
Fixes https://github.com/libsdl-org/SDL/issues/10636
2024-09-03 12:52:27 -07:00
Daniel Ludwig
b1b4a9cd1b
GDK build: PFN_D3D12_XBOX_CREATE_DEVICE not defined for Xbox One ( #10690 )
2024-09-03 08:09:00 -05:00
Sam Lantinga
73898a0a64
Renamed NDA platform constants to "PRIVATE"
2024-09-02 21:00:34 -07:00
Sam Lantinga
35dadda327
Fixed build warnings
2024-09-02 17:17:48 -07:00
Sam Lantinga
eacf119923
Renamed SDL_size_add_overflow() and SDL_size_mul_overflow()
2024-09-02 17:17:48 -07:00
Andrei Alexeyev
fb7245fb93
GPU: Add support for more texture formats ( #10641 )
2024-09-02 19:14:48 -05:00
Caleb Cornett
f405def691
Change GPU flag enums to defines ( #10681 )
2024-09-02 15:19:43 -07:00
Sam Lantinga
d501f6db07
Make newer DRM and GBM functions optional
...
Fixes https://github.com/libsdl-org/SDL/issues/10675
2024-09-02 10:37:50 -07:00
Sam Lantinga
8371114009
Fixed error: multiple storage classes in declaration specifiers
2024-09-02 09:50:19 -07:00
Sam Lantinga
93423c1c46
spin_acquire_lock() takes a volatile pointer parameter
2024-09-02 09:50:19 -07:00
Sam Lantinga
01fa9cad80
Fixed error: conflicting types for 'getpagesize'
2024-09-02 09:50:19 -07:00
Sam Lantinga
8b0798a3da
Fixed error: variable 'nfences' set but not used
2024-09-02 09:50:19 -07:00
Sam Lantinga
b5700ccc02
Updated dlmalloc to version 2.8.6
...
From https://gee.cs.oswego.edu/pub/misc/malloc-2.8.6.c
2024-09-02 09:50:19 -07:00
Davis Gallinghouse
deb313dd99
GPU: Compile Metal shader source from NSString
...
Using the @() syntax to construct an NSString assumes the parenthesized
pointer is null-terminated, but the Metal shader source included in
render/sdlgpu/shaders/metal.h is not null-terminated.
Quoting the clang documentation on Objective-C literals:
When the type of the parenthesized expression is (char *) or (const
char *), the result of the boxed expression is a pointer to an
NSString object containing equivalent character data, which is
assumed to be ‘\0’-terminated and UTF-8 encoded.
Because the @() syntax assumes null-termination, it may read garbage
data after the shader source (up to the next null byte), which can then
cause the Metal shader compiler to fail. To prevent this, instead of
using the @() boxing syntax, we explicitly construct an NSString using
the string length passed by the caller.
2024-09-02 07:20:36 -07:00