Commit Graph

1580 Commits

Author SHA1 Message Date
Carlo Bramini
2cb1a2d0a7 SDL_assert: add support for aarch64-w64-mingw32
GCC 15 development branch provides an experimental support for Windows on ARM64, which will be officially released next year, according to latest news.
I tried to compile SDL2 with this new compiler but I got a tiny problem into SDL_assert.h because it couldn't find the right platform.
However, it has been easy to fix and I included it into this PR.
More details can be also found here:
https://learn.microsoft.com/en-us/cpp/intrinsics/debugbreak?view=msvc-170
2024-06-03 10:52:11 -07:00
Ozkan Sezer
863670c0a8 always define PRI?64 using 'I64' when targeting windows
avoids -Wformat warnings from mingw toolchains -- e.g.:
src/test/SDL_test_harness.c:581:37: warning: unknown conversion type character 'l' in format [-Wformat=]

(cherry picked from commit 49b6c24722)
2024-06-01 22:37:50 +03:00
Ozkan Sezer
6825a4aabb SDL_config_os2.h: remove duplicated HAVE_WCSL* defines. 2024-05-28 08:01:02 +03:00
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