Commit Graph

1527 Commits

Author SHA1 Message Date
Sam Lantinga 8bc47dc3f1 Fixed compiling SDL_platform_defines.h on macOS with older compilers (thanks @sezero!)
Fixes #9632

(cherry picked from commit 36015ad5e5)
2024-05-27 14:38:41 -07:00
Anonymous Maarten 6c29778826 VC+d3d12: use __has_include to detect presence of d3d12 ehaders
backport of 4fa5006247
2024-05-27 02:42:20 +02:00
SDL Wiki Bot 01314ff1d4 Sync SDL2 wiki -> header 2024-05-21 20:45:35 +00:00
SDL Wiki Bot f88e8da176 Sync SDL2 wiki -> header 2024-05-20 16:47:07 +00:00
Ryan C. Gordon 0466c45605
hidapi: Replace BSD license with "original" hidapi license.
HIDAPI's source code licensing says this:

```
HIDAPI can be used under one of three licenses.

1. The GNU General Public License, version 3.0, in LICENSE-gpl3.txt
2. A BSD-Style License, in LICENSE-bsd.txt.
3. The more liberal original HIDAPI license. LICENSE-orig.txt

The license chosen is at the discretion of the user of HIDAPI. For example:
1. An author of GPL software would likely use HIDAPI under the terms of the
GPL.

2. An author of commercial closed-source software would likely use HIDAPI
under the terms of the BSD-style license or the original HIDAPI license.
```

Since the original license in LICENSE-orig.txt is basically only clause 3 of
the zlib license (do not remove this notice from the source code), it makes
sense to switch to it, since it adds no new requirements to the user.

(Plus, it's extremely short and direct, which is always nice.)

The entire license:

```
 HIDAPI - Multi-Platform library for
 communication with HID devices.

 Copyright 2009, Alan Ott, Signal 11 Software.
 All Rights Reserved.

 This software may be used by anyone for any reason so
 long as the copyright notice in the source files
 remains intact.
```

Fixes #9786.

(cherry picked from commit dd09d4b4ee)
2024-05-20 12:45:36 -04:00
SDL Wiki Bot a26d2e705d Sync SDL2 wiki -> header 2024-05-20 01:51:21 +00:00
SDL Wiki Bot c419c4ce99 Sync SDL2 wiki -> header 2024-05-16 17:17:42 +00:00
SDL Wiki Bot 67bea86b10 Sync SDL2 wiki -> header 2024-05-16 15:51:44 +00:00
Ryan C. Gordon 1c3a1e1139
wikiheaders: Updated to latest, cleaned up category documentation a little.
This documentation needs a LOT of work--maybe someday--but it's definitely not
_broken_ right now, which is good enough for now.
2024-05-16 11:49:21 -04:00
Ryan C. Gordon 0805990668
wikiheaders: Automatically categorize API symbols by subsystem. 2024-05-14 10:50:37 -04:00
SDL Wiki Bot b8b1ebf57b Sync SDL2 wiki -> header 2024-05-09 20:40:40 +00:00
Ryan C. Gordon 62175552e9
SDL_video.h: Make a note that changing fullscreen mode might reset renderers. 2024-05-09 14:52:12 -04:00
SDL Wiki Bot f23cc950f5 Sync SDL2 wiki -> header 2024-05-09 17:59:37 +00:00
Ryan C. Gordon ed0eb7ee06
SDL_video.h: Add a '\sa' for SDL_GLContext to SDL_GL_CreateContext. 2024-05-09 13:37:53 -04:00
SDL Wiki Bot 7d0ea2a881 Sync SDL2 wiki -> header 2024-05-09 17:33:40 +00:00
SDL Wiki Bot dd48b6f8cf Sync SDL2 wiki -> header 2024-05-09 17:28:40 +00:00
SDL Wiki Bot 17ad4fdf4b Sync SDL2 wiki -> header 2024-05-09 03:56:41 +00:00
SDL Wiki Bot 1b7c2c9e41 Sync SDL2 wiki -> header 2024-05-09 03:46:31 +00:00
Ryan C. Gordon 7d60ff9965
SDL_JoystickEventState: Make documentation and implementation match.
This changes the `SDL_EVENTS_DISABLED` path's return value from SDL_DISABLE
to SDL_IGNORE to match expectations, but doesn't actually change the ABI,
since these two symbols are both zero.

Fixes https://github.com/libsdl-org/sdlwiki/issues/460
2024-05-08 16:41:58 -04:00
Ryan C. Gordon d499b25a3f
SDL_vulkan.h: Fixed typo in SDL_Vulkan_LoadLibrary docs. 2024-05-08 03:53:07 -04:00
Ryan C. Gordon 8b4e389ad0
wikiheaders: updated from SDL3, plus fixes to headers to deal with that. 2024-05-02 13:00:03 -04:00
Ryan C. Gordon ab10bf54f2
SDL_TextInputEvent: Improve documentation.
Fixes https://github.com/libsdl-org/sdlwiki/issues/516
2024-04-24 11:17:25 -04:00
Ryan C. Gordon e03ad30a57
docs: heavy editing to make this happy with latest wikibridge.
The public headers saw lots of cleanups, backporting from SDL3 docs, and
merging with the wiki.

The markdown files in docs/README-*.md were converted to Unix endlines.
2024-04-23 14:21:54 -04:00
Ryan C. Gordon a96196c958
include: Fixed SDL_AudioFormat documentation. 2024-04-23 10:19:26 -04:00
Ryan C. Gordon 623a83f2b5
Sync wiki -> SDL2. 2024-04-23 10:00:05 -04:00
Ryan C. Gordon e75d72670f
include: Fixes to make the headers friendly with the latest wikiheaders. 2024-04-11 01:17:27 -04:00
Anonymous Maarten 9216b7a5ee stdinc: modify default alloca prototype
For compatibilty with TinyCC.

Backport of 06758685a5
2024-04-10 10:05:08 +02:00
Ozkan Sezer 4d91f0e796 SDL_stdinc.h: Android passes sizeof(ENUM) == sizeof(int) assertion
Reference issue: https://github.com/libsdl-org/SDL/issues/9392 .

(cherry picked from commit 6cf71ca9a9)
2024-03-28 21:10:00 +03:00
Ryan C. Gordon 0d8ce4a761
psp: Fixed building with pspdev when not using CMake.
(psp-cmake defines `__PSP__` on the command line, but the compiler itself
only defines `__psp__` and some variations.

Fixes #9378.
2024-03-28 09:47:28 -04:00
rofl0r 6ba3e56538 SDL_GetWindowSurface: update documentation re: surface->pixels 2024-03-24 11:33:32 -07:00
Frank Praznik 59d4a39456 Add checks for memfd_create() and posix_fallocate() to the autotools build 2024-03-13 11:23:43 -04:00
Frank Praznik d3c89bb479 wayland: Allocate the cursor shared memory buffer entirely in memory, if possible.
Use memfd_create() to allocate the temporary SHM backing file in memory, and set the size with posix_fallocate(), which will return an error on insufficient space vs ftruncate(), which will silently succeed and allow a SIGBUS error to occur if the unbacked memory is accessed.

Additionally, make the legacy path more robust by unlinking the temp file, so it won't persist after close, and unmapping the shared memory buffer.

(cherry picked from commit 9bdb992925)
2024-03-12 20:56:16 -04:00
Sam Lantinga f0b8fee88f Added the environment variable SDL_LOGGING to control default log output
(cherry picked from commit 12bdb2b4d0)
2024-01-27 19:46:25 -08:00
Sam Lantinga 2c11068569 Document that the default log priority is error, not critical
(cherry picked from commit a7a98d8bbb)
2024-01-27 19:31:48 -08:00
Ryan C. Gordon 7aab3f0db6
blendmode: Corrected docs for `SDL_BLENDOPERATION_[REV_]SUBTRACT`.
They were documented backwards.

Fixes #8910.

(cherry picked from commit ecbbef8b8d)
2024-01-25 17:49:39 -05:00
Sam Lantinga 4845027cad Updated to version 2.31.0 for development 2024-01-22 09:12:34 -08:00
Sam Lantinga ef7261bc41 Updated to version 2.29.2 for RC build 2024-01-22 08:43:05 -08:00
Sam Lantinga b4f99deb9e Updated to version 2.29.1 for RC build 2024-01-19 19:58:24 -08:00
Ryan C. Gordon f7f9478caf
docs: Note SDL_UpdateWindowSurfaceRects can update beyond specified areas.
Reference Issue #8825.
2024-01-16 15:23:56 -05:00
Simon McVittie b1a82b5772 gamecontroller: Fix function name in cherry-picked documentation
SDL_GetGamepadAxis() is a SDL3-specific name: SDL2 calls gamepads
"game controllers".

Fixes: d3c21666 "gamepad: Clarify range and direction of axes"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-01-08 11:09:55 -08:00
Sam Lantinga d3c21666de gamepad: Clarify range and direction of axes
It would be easy to assume that all APIs that reference
SDL_JOYSTICK_AXIS_MAX work the same way, but they do not: triggers
generally use the full signed 16-bit range in the lower-level joystick
API, but are normalized to be non-negative by the higher-level gamepad
API.

We also never said explicitly which direction is positive here.
Experimentally, it's right (X), down (Y), and pressed (triggers).

Resolves: https://github.com/libsdl-org/SDL/issues/8793
Signed-off-by: Simon McVittie <smcv@collabora.com>

(cherry picked from commit 059fb560ba)
2024-01-08 09:48:04 -08:00
Sam Lantinga 5e12e4b813 Updated documentation for SDL_HINT_SHUTDOWN_DBUS_ON_QUIT
(cherry picked from commit 3deefa6b43)
2024-01-07 14:24:56 -08:00
Semphris 8c4e4d57b3 Add hint to make SDL handle dbus_shutdown()
(cherry picked from commit 2348e8b6a2)
2024-01-07 14:23:57 -08:00
J. Neuschäfer b1ad45acdd Fix memory barriers on ARMv5
The ARM926EJ-S Technical Reference Manual states:

> You can only access CP15 registers with MRC and MCR instructions in a
> privileged mode. CDP, LDC, STC, MCRR, and MRRC instructions, and unprivileged
> MRC or MCR instructions to CP15 cause the Undefined instruction exception to
> be taken.

Furthermore, `MCR p15, 0, <Rd>, c7, c10, 5` (later called Data Memory Barrier)
is not specified for the ARM926. Thus, SDL should not use these cache
instructions on ARMv5.

(cherry picked from commit 139a0931a3)
2024-01-05 09:01:30 -08:00
Sam Lantinga 0fc3574464 Updated copyright for 2024 2024-01-01 13:19:49 -08:00
SDL Wiki Bot 0f8f4f6764 Sync SDL3 wiki -> header
(cherry picked from commit 5df3eac925)
2023-12-27 14:49:59 -08:00
Ozkan Sezer ca26cde4e1 SDL_config_os2.h: enable SDL_JOYSTICK_VIRTUAL 2023-12-21 08:55:02 +03:00
Sam Lantinga 7bb0e839a6 Added Steam Input API support for game controllers
Added support for getting the real controller info, as well as the function SDL_GameControllerGetSteamHandle() to get the Steam Input API handle, from the virtual gamepads provided by Steam.

Also added an event SDL_CONTROLLERSTEAMHANDLEUPDATED which is triggered when a controller's API handle changes, e.g. the controllers were reassigned slots in the Steam UI.

(cherry picked from commit c981a597dc)
2023-12-20 13:29:57 -08:00
Max Maisel e7f03de468 Add steam deck detection and HIDAPI driver scaffold. 2023-12-12 12:52:04 -08:00
Sam Lantinga 79a8e8cf04 Make built-in joystick device lists extendable by using hints
Fixes https://github.com/libsdl-org/SDL/issues/8595

(cherry picked from commit 5173b0c2cc)
2023-12-10 22:52:12 -08:00