Update SDL3
This commit is contained in:
10
Source/ThirdParty/SDL/SDL3/SDL_asyncio.h
vendored
10
Source/ThirdParty/SDL/SDL3/SDL_asyncio.h
vendored
@@ -117,7 +117,7 @@ extern "C" {
|
||||
* This operates as an opaque handle. One can then request read or write
|
||||
* operations on it.
|
||||
*
|
||||
* \since This struct is available since SDL 3.0.0.
|
||||
* \since This struct is available since SDL 3.2.0.
|
||||
*
|
||||
* \sa SDL_AsyncIOFromFile
|
||||
*/
|
||||
@@ -126,7 +126,7 @@ typedef struct SDL_AsyncIO SDL_AsyncIO;
|
||||
/**
|
||||
* Types of asynchronous I/O tasks.
|
||||
*
|
||||
* \since This enum is available since SDL 3.0.0.
|
||||
* \since This enum is available since SDL 3.2.0.
|
||||
*/
|
||||
typedef enum SDL_AsyncIOTaskType
|
||||
{
|
||||
@@ -138,7 +138,7 @@ typedef enum SDL_AsyncIOTaskType
|
||||
/**
|
||||
* Possible outcomes of an asynchronous I/O task.
|
||||
*
|
||||
* \since This enum is available since SDL 3.0.0.
|
||||
* \since This enum is available since SDL 3.2.0.
|
||||
*/
|
||||
typedef enum SDL_AsyncIOResult
|
||||
{
|
||||
@@ -150,7 +150,7 @@ typedef enum SDL_AsyncIOResult
|
||||
/**
|
||||
* Information about a completed asynchronous I/O request.
|
||||
*
|
||||
* \since This struct is available since SDL 3.0.0.
|
||||
* \since This struct is available since SDL 3.2.0.
|
||||
*/
|
||||
typedef struct SDL_AsyncIOOutcome
|
||||
{
|
||||
@@ -172,7 +172,7 @@ typedef struct SDL_AsyncIOOutcome
|
||||
* allowing an app to manage multiple pending tasks in one place, in whatever
|
||||
* order they complete.
|
||||
*
|
||||
* \since This struct is available since SDL 3.0.0.
|
||||
* \since This struct is available since SDL 3.2.0.
|
||||
*
|
||||
* \sa SDL_CreateAsyncIOQueue
|
||||
* \sa SDL_ReadAsyncIO
|
||||
|
||||
4
Source/ThirdParty/SDL/SDL3/SDL_filesystem.h
vendored
4
Source/ThirdParty/SDL/SDL3/SDL_filesystem.h
vendored
@@ -425,10 +425,10 @@ extern SDL_DECLSPEC bool SDLCALL SDL_GetPathInfo(const char *path, SDL_PathInfo
|
||||
* Enumerate a directory tree, filtered by pattern, and return a list.
|
||||
*
|
||||
* Files are filtered out if they don't match the string in `pattern`, which
|
||||
* may contain wildcard characters '*' (match everything) and '?' (match one
|
||||
* may contain wildcard characters '\*' (match everything) and '?' (match one
|
||||
* character). If pattern is NULL, no filtering is done and all results are
|
||||
* returned. Subdirectories are permitted, and are specified with a path
|
||||
* separator of '/'. Wildcard characters '*' and '?' never match a path
|
||||
* separator of '/'. Wildcard characters '\*' and '?' never match a path
|
||||
* separator.
|
||||
*
|
||||
* `flags` may be set to SDL_GLOB_CASEINSENSITIVE to make the pattern matching
|
||||
|
||||
6
Source/ThirdParty/SDL/SDL3/SDL_gamepad.h
vendored
6
Source/ThirdParty/SDL/SDL3/SDL_gamepad.h
vendored
@@ -63,6 +63,12 @@
|
||||
* By default SDL will try to use the most capable driver available, but you
|
||||
* can tune which OS drivers to use with the various joystick hints in
|
||||
* SDL_hints.h.
|
||||
*
|
||||
* Your application should always support gamepad hotplugging. On some
|
||||
* platforms like Xbox, Steam Deck, etc., this is a requirement for
|
||||
* certification. On other platforms, like macOS and Windows when using
|
||||
* Windows.Gaming.Input, controllers may not be available at startup and will
|
||||
* come in at some point after you've started processing events.
|
||||
*/
|
||||
|
||||
#ifndef SDL_gamepad_h_
|
||||
|
||||
78
Source/ThirdParty/SDL/SDL3/SDL_hints.h
vendored
78
Source/ThirdParty/SDL/SDL3/SDL_hints.h
vendored
@@ -1264,6 +1264,31 @@ extern "C" {
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_DEVICE "SDL_JOYSTICK_DEVICE"
|
||||
|
||||
/**
|
||||
* A variable controlling whether enhanced reports should be used for
|
||||
* controllers when using the HIDAPI driver.
|
||||
*
|
||||
* Enhanced reports allow rumble and effects on Bluetooth PlayStation
|
||||
* controllers and gyro on Nintendo Switch controllers, but break Windows
|
||||
* DirectInput for other applications that don't use SDL.
|
||||
*
|
||||
* Once enhanced reports are enabled, they can't be disabled on PlayStation
|
||||
* controllers without power cycling the controller.
|
||||
*
|
||||
* The variable can be set to the following values:
|
||||
*
|
||||
* - "0": enhanced reports are not enabled.
|
||||
* - "1": enhanced reports are enabled. (default)
|
||||
* - "auto": enhanced features are advertised to the application, but SDL
|
||||
* doesn't change the controller report mode unless the application uses
|
||||
* them.
|
||||
*
|
||||
* This hint can be enabled anytime.
|
||||
*
|
||||
* \since This hint is available since SDL 3.1.8.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_ENHANCED_REPORTS "SDL_JOYSTICK_ENHANCED_REPORTS"
|
||||
|
||||
/**
|
||||
* A variable containing a list of flightstick style controllers.
|
||||
*
|
||||
@@ -1571,32 +1596,6 @@ extern "C" {
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
|
||||
|
||||
/**
|
||||
* A variable controlling whether extended input reports should be used for
|
||||
* PS4 controllers when using the HIDAPI driver.
|
||||
*
|
||||
* The variable can be set to the following values:
|
||||
*
|
||||
* - "0": extended reports are not enabled. (default)
|
||||
* - "1": extended reports are enabled.
|
||||
*
|
||||
* Extended input reports allow rumble on Bluetooth PS4 controllers, but break
|
||||
* DirectInput handling for applications that don't use SDL.
|
||||
*
|
||||
* Once extended reports are enabled, they can not be disabled without power
|
||||
* cycling the controller.
|
||||
*
|
||||
* For compatibility with applications written for versions of SDL prior to
|
||||
* the introduction of PS5 controller support, this value will also control
|
||||
* the state of extended reports on PS5 controllers when the
|
||||
* SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE hint is not explicitly set.
|
||||
*
|
||||
* This hint can be enabled anytime.
|
||||
*
|
||||
* \since This hint is available since SDL 3.1.3.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"
|
||||
|
||||
/**
|
||||
* A variable controlling whether the HIDAPI driver for PS5 controllers should
|
||||
* be used.
|
||||
@@ -1627,31 +1626,6 @@ extern "C" {
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
|
||||
|
||||
/**
|
||||
* A variable controlling whether extended input reports should be used for
|
||||
* PS5 controllers when using the HIDAPI driver.
|
||||
*
|
||||
* The variable can be set to the following values:
|
||||
*
|
||||
* - "0": extended reports are not enabled. (default)
|
||||
* - "1": extended reports.
|
||||
*
|
||||
* Extended input reports allow rumble on Bluetooth PS5 controllers, but break
|
||||
* DirectInput handling for applications that don't use SDL.
|
||||
*
|
||||
* Once extended reports are enabled, they can not be disabled without power
|
||||
* cycling the controller.
|
||||
*
|
||||
* For compatibility with applications written for versions of SDL prior to
|
||||
* the introduction of PS5 controller support, this value defaults to the
|
||||
* value of SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE.
|
||||
*
|
||||
* This hint can be enabled anytime.
|
||||
*
|
||||
* \since This hint is available since SDL 3.1.3.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE"
|
||||
|
||||
/**
|
||||
* A variable controlling whether the HIDAPI driver for NVIDIA SHIELD
|
||||
* controllers should be used.
|
||||
@@ -3497,6 +3471,8 @@ extern "C" {
|
||||
*
|
||||
* - Rounding errors can result with odd window sizes and/or desktop scales,
|
||||
* which can cause the window contents to appear slightly blurry.
|
||||
* - Positioning the window may be imprecise due to unit conversions and
|
||||
* rounding.
|
||||
* - The window may be unusably small on scaled desktops.
|
||||
* - The window may jump in size when moving between displays of different
|
||||
* scale factors.
|
||||
|
||||
4
Source/ThirdParty/SDL/SDL3/SDL_oldnames.h
vendored
4
Source/ThirdParty/SDL/SDL3/SDL_oldnames.h
vendored
@@ -307,6 +307,8 @@
|
||||
#define SDL_HINT_DIRECTINPUT_ENABLED SDL_HINT_JOYSTICK_DIRECTINPUT
|
||||
#define SDL_HINT_GDK_TEXTINPUT_DEFAULT SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT
|
||||
#define SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE SDL_HINT_JOYSTICK_ENHANCED_REPORTS
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE SDL_HINT_JOYSTICK_ENHANCED_REPORTS
|
||||
#define SDL_HINT_LINUX_DIGITAL_HATS SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS
|
||||
#define SDL_HINT_LINUX_HAT_DEADZONES SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES
|
||||
#define SDL_HINT_LINUX_JOYSTICK_CLASSIC SDL_HINT_JOYSTICK_LINUX_CLASSIC
|
||||
@@ -949,6 +951,8 @@
|
||||
#define SDL_HINT_DIRECTINPUT_ENABLED SDL_HINT_DIRECTINPUT_ENABLED_renamed_SDL_HINT_JOYSTICK_DIRECTINPUT
|
||||
#define SDL_HINT_GDK_TEXTINPUT_DEFAULT SDL_HINT_GDK_TEXTINPUT_DEFAULT_renamed_SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT
|
||||
#define SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE_renamed_SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE_renamed_SDL_HINT_JOYSTICK_ENHANCED_REPORTS
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE_renamed_SDL_HINT_JOYSTICK_ENHANCED_REPORTS
|
||||
#define SDL_HINT_LINUX_DIGITAL_HATS SDL_HINT_LINUX_DIGITAL_HATS_renamed_SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS
|
||||
#define SDL_HINT_LINUX_HAT_DEADZONES SDL_HINT_LINUX_HAT_DEADZONES_renamed_SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES
|
||||
#define SDL_HINT_LINUX_JOYSTICK_CLASSIC SDL_HINT_LINUX_JOYSTICK_CLASSIC_renamed_SDL_HINT_JOYSTICK_LINUX_CLASSIC
|
||||
|
||||
4
Source/ThirdParty/SDL/SDL3/SDL_revision.h
vendored
4
Source/ThirdParty/SDL/SDL3/SDL_revision.h
vendored
@@ -31,9 +31,9 @@
|
||||
/* #undef SDL_VENDOR_INFO */
|
||||
|
||||
#ifdef SDL_VENDOR_INFO
|
||||
#define SDL_REVISION "SDL3-3.1.7-2b1d809 (" SDL_VENDOR_INFO ")"
|
||||
#define SDL_REVISION "SDL3-3.1.7-preview-3.1.6-602-g0a5d2f3da2 (" SDL_VENDOR_INFO ")"
|
||||
#else
|
||||
#define SDL_REVISION "SDL3-3.1.7-2b1d809"
|
||||
#define SDL_REVISION "SDL3-3.1.7-preview-3.1.6-602-g0a5d2f3da2"
|
||||
#endif
|
||||
|
||||
#endif /* SDL_revision_h_ */
|
||||
|
||||
3
Source/ThirdParty/SDL/SDL3/SDL_storage.h
vendored
3
Source/ThirdParty/SDL/SDL3/SDL_storage.h
vendored
@@ -24,7 +24,8 @@
|
||||
*
|
||||
* The storage API is a high-level API designed to abstract away the
|
||||
* portability issues that come up when using something lower-level (in SDL's
|
||||
* case, this sits on top of SDL_filesystem). It is significantly more
|
||||
* case, this sits on top of the [Filesystem](CategoryFilesystem) and
|
||||
* [IOStream](CategoryIOStream) subsystems). It is significantly more
|
||||
* restrictive than a typical filesystem API, for a number of reasons:
|
||||
*
|
||||
* 1. **What to Access:** A common pitfall with existing filesystem APIs is
|
||||
|
||||
10
Source/ThirdParty/SDL/SDL3/SDL_surface.h
vendored
10
Source/ThirdParty/SDL/SDL3/SDL_surface.h
vendored
@@ -1021,12 +1021,14 @@ extern SDL_DECLSPEC bool SDLCALL SDL_FillSurfaceRect(SDL_Surface *dst, const SDL
|
||||
extern SDL_DECLSPEC bool SDLCALL SDL_FillSurfaceRects(SDL_Surface *dst, const SDL_Rect *rects, int count, Uint32 color);
|
||||
|
||||
/**
|
||||
* Performs a fast blit from the source surface to the destination surface.
|
||||
* Performs a fast blit from the source surface to the destination surface
|
||||
* with clipping.
|
||||
*
|
||||
* This assumes that the source and destination rectangles are the same size.
|
||||
* If either `srcrect` or `dstrect` are NULL, the entire surface (`src` or
|
||||
* `dst`) is copied. The final blit rectangles are saved in `srcrect` and
|
||||
* `dstrect` after all clipping is performed.
|
||||
* `dst`) is copied while ensuring clipping to `dst->clip_rect`.
|
||||
*
|
||||
* The final blit rectangles are saved in `srcrect` and `dstrect` after all
|
||||
* clipping is performed.
|
||||
*
|
||||
* The blit function should not be called on a locked surface.
|
||||
*
|
||||
|
||||
10
Source/ThirdParty/SDL/SDL3/SDL_video.h
vendored
10
Source/ThirdParty/SDL/SDL3/SDL_video.h
vendored
@@ -1228,10 +1228,12 @@ extern SDL_DECLSPEC SDL_Window * SDLCALL SDL_CreatePopupWindow(SDL_Window *paren
|
||||
* - `SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER`: the width of the window
|
||||
* - `SDL_PROP_WINDOW_CREATE_X_NUMBER`: the x position of the window, or
|
||||
* `SDL_WINDOWPOS_CENTERED`, defaults to `SDL_WINDOWPOS_UNDEFINED`. This is
|
||||
* relative to the parent for windows with the "parent" property set.
|
||||
* relative to the parent for windows with the "tooltip" or "menu" property
|
||||
* set.
|
||||
* - `SDL_PROP_WINDOW_CREATE_Y_NUMBER`: the y position of the window, or
|
||||
* `SDL_WINDOWPOS_CENTERED`, defaults to `SDL_WINDOWPOS_UNDEFINED`. This is
|
||||
* relative to the parent for windows with the "parent" property set.
|
||||
* relative to the parent for windows with the "tooltip" or "menu" property
|
||||
* set.
|
||||
*
|
||||
* These are additional supported properties on macOS:
|
||||
*
|
||||
@@ -2786,6 +2788,10 @@ extern SDL_DECLSPEC bool SDLCALL SDL_FlashWindow(SDL_Window *window, SDL_FlashOp
|
||||
* Any child windows owned by the window will be recursively destroyed as
|
||||
* well.
|
||||
*
|
||||
* Note that on some platforms, the visible window may not actually be removed
|
||||
* from the screen until the SDL event loop is pumped again, even though the
|
||||
* SDL_Window is no longer valid after this call.
|
||||
*
|
||||
* \param window the window to destroy.
|
||||
*
|
||||
* \threadsafety This function should only be called on the main thread.
|
||||
|
||||
22
Source/ThirdParty/SDL/SDL3/SDL_vulkan.h
vendored
22
Source/ThirdParty/SDL/SDL3/SDL_vulkan.h
vendored
@@ -87,6 +87,13 @@ struct VkAllocationCallbacks;
|
||||
* creating any Vulkan windows. If no Vulkan loader library is loaded, the
|
||||
* default library will be loaded upon creation of the first Vulkan window.
|
||||
*
|
||||
* SDL keeps a counter of how many times this function has been successfully
|
||||
* called, so it is safe to call this function multiple times, so long as it
|
||||
* is eventually paired with an equivalent number of calls to
|
||||
* SDL_Vulkan_UnloadLibrary. The `path` argument is ignored unless there is no
|
||||
* library currently loaded, and and the library isn't actually unloaded until
|
||||
* there have been an equivalent number of calls to SDL_Vulkan_UnloadLibrary.
|
||||
*
|
||||
* It is fairly common for Vulkan applications to link with libvulkan instead
|
||||
* of explicitly loading it at run time. This will work with SDL provided the
|
||||
* application links to a dynamic library and both it and SDL use the same
|
||||
@@ -116,6 +123,8 @@ struct VkAllocationCallbacks;
|
||||
* \returns true on success or false on failure; call SDL_GetError() for more
|
||||
* information.
|
||||
*
|
||||
* \threadsafety This function is not thread safe.
|
||||
*
|
||||
* \since This function is available since SDL 3.1.3.
|
||||
*
|
||||
* \sa SDL_Vulkan_GetVkGetInstanceProcAddr
|
||||
@@ -147,6 +156,19 @@ extern SDL_DECLSPEC SDL_FunctionPointer SDLCALL SDL_Vulkan_GetVkGetInstanceProcA
|
||||
/**
|
||||
* Unload the Vulkan library previously loaded by SDL_Vulkan_LoadLibrary().
|
||||
*
|
||||
* SDL keeps a counter of how many times this function has been called, so it
|
||||
* is safe to call this function multiple times, so long as it is paired with
|
||||
* an equivalent number of calls to SDL_Vulkan_LoadLibrary. The library isn't
|
||||
* actually unloaded until there have been an equivalent number of calls to
|
||||
* SDL_Vulkan_UnloadLibrary.
|
||||
*
|
||||
* Once the library has actually been unloaded, if any Vulkan instances
|
||||
* remain, they will likely crash the program. Clean up any existing Vulkan
|
||||
* resources, and destroy appropriate windows, renderers and GPU devices
|
||||
* before calling this function.
|
||||
*
|
||||
* \threadsafety This function is not thread safe.
|
||||
*
|
||||
* \since This function is available since SDL 3.1.3.
|
||||
*
|
||||
* \sa SDL_Vulkan_LoadLibrary
|
||||
|
||||
@@ -88,9 +88,8 @@ namespace Flax.Deps.Dependencies
|
||||
Path.Combine(root, "include", "SDL3"),
|
||||
};
|
||||
|
||||
CloneGitRepoFastSince(root, "https://github.com/libsdl-org/SDL", new DateTime(2025, 01, 01));
|
||||
//CloneGitRepo(root, "https://github.com/Kontrabant/SDL");
|
||||
GitResetToCommit(root, "4797970bfa6d6258bc9e636b6797acdfc1e73c31");
|
||||
CloneGitRepoFastSince(root, "https://github.com/libsdl-org/SDL", new DateTime(2025, 01, 03));
|
||||
GitResetToCommit(root, "0a5d2f3da216130f0c701317dd390431fbc557a0");
|
||||
|
||||
foreach (var platform in options.Platforms)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user