Commit Graph

20222 Commits

Author SHA1 Message Date
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
SDL Wiki Bot
62938837c2 Sync SDL3 wiki -> header 2024-09-29 01:10:39 +00: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
Petar Popovic
dee62e1b47 Remove trailing comma in enum 2024-09-28 17:47:37 +03: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
SDL Wiki Bot
0542bbbf1a Sync SDL3 wiki -> header 2024-09-27 22:55:29 +00:00
Ryan C. Gordon
4a296f1bde filesystem: Fixed memory leak on Windows. 2024-09-27 18:54:18 -04:00
Ryan C. Gordon
e944f0fb9d testfilesystem: Added test of creating parent dirs. 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
Petar Popovic
48c3ee2120 testcolorspace.c: Fix unreachable code warning 2024-09-27 15:22:24 -07:00
SDL Wiki Bot
8d6b397cd8 Sync SDL3 wiki -> header 2024-09-27 21:11:58 +00: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
SDL Wiki Bot
8377cad974 Sync SDL3 wiki -> header 2024-09-27 20:50:17 +00:00
cosmonaut
c39e8298b7 GPU: Document swapchain dimensions 2024-09-27 13:49:27 -07:00
cosmonaut
de40d6bae0 GPU Metal: Set texture to NULL even if AcquireSwapchainTexture fails 2024-09-27 13:49:26 -07:00
SDL Wiki Bot
0e5a49542d Sync SDL3 wiki -> header 2024-09-27 20:39:24 +00: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
SDL Wiki Bot
0befa7d8e9 Sync SDL3 wiki -> header 2024-09-27 20:27:48 +00:00
cosmonaut
eedd2039f9 GPU: 32-bit component texture formats 2024-09-27 16:26:43 -04:00
SDL Wiki Bot
769ff47461 Sync SDL3 wiki -> header 2024-09-27 19:50:13 +00: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
Sam Lantinga
04bb105d09 Added header for SDL_ThreadID type 2024-09-27 08:16:49 -07:00
Daniel Ludwig
e98cf3c870 Fix Xbox builds 2024-09-27 08:10:03 -07:00
SDL Wiki Bot
c7442b04f0 Sync SDL3 wiki -> header 2024-09-27 07:30:57 +00: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
SDL Wiki Bot
0d593cf39a Sync SDL3 wiki -> header 2024-09-26 23:29:38 +00: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
SDL Wiki Bot
c1587b1eac Sync SDL3 wiki -> header 2024-09-26 23:26:52 +00: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
0e2c4e407a README-migration: note that logical presentation state is different from SDL2. 2024-09-26 18:49:29 -04:00
Ryan C. Gordon
4e09e58f62 include: Small clarification on directory enumeration documentation. 2024-09-26 16:39:35 -04:00
Ryan C. Gordon
38f971bac5 filesystem: SDL_SYS_EnumerateDirectory() now returns bool. 2024-09-26 16:35:15 -04:00
Ryan C. Gordon
86ea283904 examples: No need to explicitly seed the RNG at startup.
SDL does this for you; explicit seeding is only for reproducing a specific
sequence of numbers (or maybe reseeding at a later point).
2024-09-26 15:01:04 -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
Anonymous Maarten
345cae361d Document mode parameter of SDL_GetRenderLogicalPresentation 2024-09-26 16:12:13 +02:00