Commit Graph

11409 Commits (66351fd4ba6b862c26d325a5286f37d523303a27)

Author SHA1 Message Date
Sam Lantinga f8c3528c55 Fixed crash if GetRectDisplayIndex() is called before SDL_VideoInit()
(cherry picked from commit d87048fd5a7dff55c4cb205dd29e527c9cc51225)
2022-11-30 14:38:25 -08:00
Sam Lantinga 1e2dfdb019 Removed the OpenGL ES 1.0 2D render implementation
In SDL3 we plan to make more use of shaders in the 2D render API, and this minimizes the number of platforms we have to consider for new features. OpenGL ES 2.0 or newer is supported on all modern iOS and Android devices.
2022-11-30 13:39:37 -08:00
Sam Lantinga 5750bcb174
Update for SDL3 coding style (#6717)
I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base.

In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted.

The script I ran for the src directory is added as build-scripts/clang-format-src.sh

This fixes:
#6592
#6593
#6594
2022-11-30 12:51:59 -08:00
Ozkan Sezer 14b902faca begin_code.h: add gcc version checks to the alloc_size attributes. 2022-11-30 11:33:32 +03:00
Ozkan Sezer 4b6390261b begin_code.h: remove obsolete __SYMBIAN32__ handling for DECLSPEC. 2022-11-30 11:33:32 +03:00
Sam Lantinga c5790359fd
Added precompiled header support for Visual Studio and Xcode (#6710)
Fixes https://github.com/libsdl-org/SDL/issues/6704
2022-11-29 18:34:15 -08:00
Sam Lantinga 6ca7212b75 Fixed unreachable code warning 2022-11-29 18:03:58 -08:00
Anonymous Maarten a52327f6b8 cmake: add support for precompiled headers 2022-11-29 14:23:42 -08:00
Anonymous Maarten e26e893daf
test: build + fix test/testgles2_sdf.c 2022-11-29 22:43:46 +01:00
Ethan Lee f9f7db4e08 video: Prefer Wayland over X11 (take 2!) 2022-11-29 16:35:36 -05:00
David Edmundson 6d2b74db66 Support wayland fractional scale protocol
The new protocol adds support for more native communication of
fractional scaling.

Everything in the wayland backend already existed only our fractional
scale was calculated implicitly through a combination of output size
guesswork for fullscreen windows.

This new protocol makes that explicit, providing a more robust solution
and a solution for non-fullscreen surfaces. The fallback code is still
left in place for now whilst compositors gain support.
2022-11-29 16:35:12 -05:00
Sam Lantinga 71d5f510c6 Fixed dylib generation on macOS
We just build libSDL3.dylib instead of libSDL3.0.0.0.dylib with symlinks

Fixed the compatiblity vs current version, e.g.

SDL 3.20.87
    @rpath/libSDL3.0.dylib (compatibility version 2001.0.0, current version 2001.87.0)

SDL 3.21.5
    @rpath/libSDL3.dylib (compatibility version 2106.0.0, current version 2106.0.0)
2022-11-29 11:57:19 -08:00
Anonymous Maarten 6f20d990ad cmake: swap VERSION and SOVERSION 2022-11-29 20:36:46 +01:00
Anonymous Maarten ba19d3c048 cmake: remove SDL_CMAKE_DEBUG_POSTFIX option
Use CMAKE_DEBUG_POSTFIX instead
2022-11-29 11:29:03 -08:00
Anonymous Maarten 2d89c4680f cmake: simplify .so and .dylib versioning 2022-11-29 11:29:03 -08:00
Ryan C. Gordon a3225ae6de
dynapi: Abstract out the environment variable name. 2022-11-29 14:13:07 -05:00
pionere cf0cb44df8 video: fix error messages
- do not overwrite error message set by SDL_InitFormat (SDL_AllocFormat)
- set proper error message (Cocoa_Metal_CreateView)
- protect against allocation failure (UIKit_Metal_CreateView)
2022-11-29 10:59:40 -08:00
Anonymous Maarten 7e7a8e76a5 cmake: move platform detection to cmake/sdl/paltform.cmake for re-use by SDL2-compat 2022-11-29 21:10:56 +03:00
Anonymous Maarten e2060de714 cmake: use target_link_libraries to pass -Wl,--undefined=WinMain 2022-11-29 21:10:56 +03:00
Sylvain Becker fc4fc5295f
Remove depth field from SDL_CreateRGBSurfaceWithFormat and SDL_Create… (#6685)
* Remove depth field from SDL_CreateRGBSurfaceWithFormat and SDL_CreateRGBSurfaceWithFormatFrom
* Removed unused 'flags' parameter from SDL_CreateRGBSurface and SDL_CreateRGBSurfaceWithFormat
* Removed unused 'flags' parameter from SDL_ConvertSurface and SDL_ConvertSurfaceFormat
2022-11-29 09:40:09 -08:00
Sam Lantinga 6873082c34 Fixed building on Windows with SDL_VIDEO=OFF
Fixes https://github.com/libsdl-org/SDL/issues/6562
2022-11-29 09:29:42 -08:00
Ozkan Sezer 8901297437 SDL_test_md5.h: fix MD5UINT4 type to be really 32 bits. 2022-11-29 08:53:56 -08:00
Sam Lantinga f077c69193 Fixed bug #6698 - VISA: wrong check sceKernelPollSema 2022-11-29 08:50:51 -08:00
pionere 461a38ff1a thread: code style 2022-11-29 08:44:10 -08:00
Sylvain 38c281fbc0
Fixed bug #6698 - VISA: wrong check sceKernelPollSema 2022-11-29 16:14:23 +01:00
pionere f6db1aba66 thread: return -1 from SDL_SemWaitTimeout if semaphore is NULL 2022-11-29 09:40:32 -05:00
pionere 6875e1c262 thread: fix inconsistent return values
- SDL_CreateMutex returns NULL when the creation fails (ngage)
- SDL_SemValue returns 0 when the semaphore is NULL (n3ds)
2022-11-29 09:26:12 -05:00
Sam Lantinga b5076ef5e3 Added support for the Xbox Elite controller paddles with firmware version 5.13+ 2022-11-28 23:15:23 -08:00
Vasily Khoruzhick dbaeb2b9e9 Add support for the 8BitDo Ultimate Wireless 2.4GHz Controller in DirectInput mode
Generated using controller map
2022-11-28 17:47:09 -08:00
Sam Lantinga 04399e1fc2 Added support for the 8BitDo Ultimate Wired Controller in DirectInput mode, including the misc button and paddles 2022-11-28 14:54:56 -08:00
Sam Lantinga 5efca283d3 Add 8BitDo to the list of Xbox 360 third party vendors
Allows detection of the 8BitDo Ultimate Wired Controller
2022-11-28 14:54:36 -08:00
Sam Lantinga 9593c8b29d Added a note to direct people to README-migration.md 2022-11-28 11:03:22 -08:00
Sam Lantinga c2432f8d0d Rename SDLmain to SDL_main and SDLtest to SDL_test for consistency with other SDL libraries 2022-11-28 10:57:59 -08:00
Sam Lantinga b4ebb3b568 Windows borderless windows interact better with the window manager
This behavior more closely matches other platform where the window is borderless but still interacts with the window manager (e.g. task bar shows above it, it can be resized to fit within usable desktop area, etc.)

If you want a borderless window the size of the desktop that looks like a fullscreen window, then you should use the SDL_WINDOW_FULLSCREEN_DESKTOP flag.

Fixes https://github.com/libsdl-org/SDL/issues/6659
2022-11-28 09:32:39 -08:00
Sam Lantinga a08f517069 Removed unused SDL_ArrayOrder enumeration values
Fixes https://github.com/libsdl-org/SDL/issues/6658
2022-11-28 09:08:16 -08:00
Sam Lantinga 62f4fc6f35 Be explicit that we support the MSB variants of the 1bpp and 4bpp surface formats
Fixes https://github.com/libsdl-org/SDL/issues/6242
2022-11-28 09:06:44 -08:00
Samuel Venable 4f5e9fd5bd [skip ci] Solaris getexecname() returns argv[0]
`argv[0]`/`getexexname()` are not always absolute paths by default and can be modified to anything the developer wants them to be.

Consider using `readSymLink("/proc/self/path/a.out")` instead and `getexecname()` as the fallback, since the symlink will always be the correct absolute path (unless /proc is ot mounted, but it is by default on Solaris and Illumos platforms).
2022-11-27 21:29:07 -05:00
Markus Mittendrein f3c466ec1e
SDL_ResampleAudio: Fix float accumulation error
While 78f97108f9 reduced the accumulation error, it was still big enough to cause distortions.
Fixes #6196.

(cherry picked from commit 8145212103264b04c20cdb50b430f3c99b44e9b4)
2022-11-27 21:15:44 -05:00
Anonymous Maarten 3acd1ad25f cmake: only MSVC understands -nodefaultlib:MSVCRT 2022-11-28 00:20:22 +01:00
Anonymous Maarten 5151cbf4d1 cmake: check essential headers even when building with SDL_LIBC=OFF 2022-11-28 00:20:22 +01:00
Anonymous Maarten 9d7e4a7d6e cmake: don't cache HAVE_xxx variables for checking libc features 2022-11-28 00:20:22 +01:00
Anonymous Maarten b2e428626b cmake: disable system iconv by default on Windows
This is a different default then current CMake and autotools, but matches the released SDLx.dll's.
2022-11-28 00:20:22 +01:00
Anonymous Maarten 27707755c1 cmake: use SDL_LIBC_DEFAULT for default SDL_LIBC value 2022-11-28 00:20:22 +01:00
Anonymous Maarten 3fad16cc2b cmake: use SDL_CPU_X86 to enable MMX/SSE on x86 2022-11-28 00:20:01 +01:00
Anonymous Maarten 21f8e3ce04 cmake: use CMakePushCheckState while testing ARM NEON support 2022-11-28 00:20:01 +01:00
Anonymous Maarten 46d85fd5a4 cmake: don't cache HAVE_3DNOW value 2022-11-28 00:20:01 +01:00
Anonymous Maarten 82360b3175 cmake: don't cache HAVE_SSE value 2022-11-28 00:20:01 +01:00
Anonymous Maarten 375456a3a0 cmake: use SDL_ASSEMBLY_DEFAULT for default SDL_ASSEMBLY value 2022-11-28 00:20:01 +01:00
Anonymous Maarten 9f2ca87504 build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
Sam Lantinga 2af4f74e1c Remove sdl3.m4 and sdl3-config, and document pkg-config as the recommended replacement
Fixes https://github.com/libsdl-org/SDL/issues/6639
2022-11-27 14:11:06 -08:00