Commit Graph

11873 Commits

Author SHA1 Message Date
Wohlstand
ca01016577 SDL_audiotypecvt.c: Fixed memory corruption when resampling S16 t F32 2024-02-03 08:20:04 -05:00
Joshua Root
c53c351921 Fix SDL_mfijoystick build issues
Add missing guards around use of physicalInputProfile.

Add explicit import of Foundation which seems to be needed on some
systems to get the NSArray definition.

Add __unsafe_unretained to ObjC types in struct so the compiler doesn't
complain about that not being allowed with ARC.

Closes: #8979
(cherry picked from commit e0158f68e4)
2024-02-02 22:25:17 -08:00
Sam Lantinga
fc787a41dc vulkan_metal.h: Make compatible with ObjC ARC (thanks @jmroot!)
(re)Fixes #6598

We need to remember to apply this again once we update from upstream headers.

(cherry picked from commit e67e0c5d55)
2024-02-02 18:31:14 -08:00
Sam Lantinga
05bb182a53 Don't test 10-bit pixel format conversion
We either need to explicitly test using the sRGB colorspace or update the tests for HDR10 color conversion. We'll just disable them for now, as these formats aren't commonly used in games.

(cherry picked from commit f9c57e16b0)
2024-02-02 18:26:01 -08:00
Simon McVittie
58907d2c27 testautomation_math: Fix misleading log output
These originally checked for expected ± EPSILON as logged, but since
commit 880c6939 they check for expected ± max_err, where max_err may
need to be greater than EPSILON for very large expected results like
the ones in exp_regularCases().

Also, EPSILON is so small that the default precision of the %f format
(6 decimal places) would never actually have shown its effect, so log
it in scientific notation instead.

Fixes: 880c6939 "testautomation_math: do relative comparison + more precise correct trigonometric values"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-02 07:45:06 -08:00
Simon McVittie
a7bd18c0d5 test: Don't accept results that are much less than expected
While looking at the other tests in this file, I noticed that instead
of checking for a result in the range of expected ± FLT_EPSILON as I
would have expected, these tests would accept any result strictly less
than expected + FLT_EPSILON, for example a wrong result that is very
large and negative. This is presumably not what was intended, so add
the SDL_fabs() that I assume was meant to be here.

Fixes: 474c8d00 "testautomation: don't do float equality tests"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-02 07:45:06 -08:00
Simon McVittie
f73abd49c3 testautomation: Don't expect exp to yield exact floating point results
In the Steam Runtime 1 'scout' environment, when compiling for i386
using the default gcc-4.6, Exp(34.125) matches the desired value to the
precision shown in the log (6 decimal places) but is not an exact match
for the desired value.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-02 07:45:06 -08:00
Sam Lantinga
8eed915dfa Don't use the system iconv on Apple mobile platforms
Fixes https://github.com/libsdl-org/SDL/issues/8964

(cherry picked from commit d6a48e4958)
2024-02-01 15:55:00 -08:00
Sam Lantinga
8ce6fb2513 Use the exact motion associated with the warp
When Windows DPI scaling is enabled, the warp coordinates will be modified, so make sure we send exactly the coordinates that the warp attempted.

Fixes https://github.com/libsdl-org/SDL/issues/8940
2024-01-30 11:11:10 -08:00
Francisco Javier Trujillo Mata
d34a7c5ed2 Fixing viewport 2024-01-29 20:42:42 -08:00
Francisco Javier Trujillo Mata
36b8438280 Fix scissor usage 2024-01-29 20:42:42 -08:00
Francisco Javier Trujillo Mata
faa8fc2917 Fix color 2024-01-29 20:42:42 -08:00
Ozkan Sezer
971508c0d7 autotools: a few libtool updates from mainstream 2024-01-28 20:04:34 +03:00
Sam Lantinga
c55bd24827 Fixed testautomation log callback calling convention
(cherry picked from commit 9f7eb6c4c1)
2024-01-27 22:44:55 -08:00
Ryan C. Gordon
ec25d6b1e8 aaudio: Backport headphone hotplugging support from SDL3.
Fixes #4985.
2024-01-28 00:19:48 -05:00
Sam Lantinga
bb30a35364 Fixed Watcom build 2024-01-27 20:28:43 -08:00
Sam Lantinga
11c932bf1d Fixed build 2024-01-27 20:18:39 -08: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
6ec3f5a28e Simplified the default log category logic
Now it's much clearer and easier to tweak the defaults

(cherry picked from commit 4fba663368)
2024-01-27 19:34:24 -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
Ozkan Sezer
fcd1c155cc SDL_rwops.c (SDL_IsRegularFile): fix WinRT build failure due to S_ISREG 2024-01-28 02:20:00 +03:00
Ozkan Sezer
230ae797a7 SDL_RWFromFile, stdio: reject if the file is not a regular file.
Fixes https://github.com/libsdl-org/SDL/issues/8935
2024-01-28 01:44:50 +03:00
Sam Lantinga
5297596132 Report out of memory instead of crashing in SDL_LoadFile_RW()
Fixes https://github.com/libsdl-org/SDL/issues/8935
2024-01-27 12:15:43 -08:00
Sam Lantinga
332213163c Fixed N3DS build 2024-01-27 11:56:33 -08:00
Sam Lantinga
4ff3b28273 Enable text input on video initialization without popping up an on-screen keyboard
Fixes https://github.com/libsdl-org/SDL/issues/8561
2024-01-27 11:52:58 -08:00
Ryan C. Gordon
f931b25f4c wasapi: If GetDeviceBuf can't get a full buffer, go back to waiting.
Reference Issue #8924.
2024-01-26 23:25:43 -05:00
Ryan C. Gordon
1e06a3614f wasapi: Clamp device->spec.samples to the hardware buffer size.
Reference Issue #8924.

(cherry picked from commit ad1a11164c)
2024-01-26 13:59:46 -05: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
08caafe2f1 Improved timing accuracy of SDL_WaitEventTimeout() on Windows
We don't need to use the hack of setting a timer and waiting for a timer message, MsgWaitForMultipleObjects() will allow us to wait for input directly with a timeout.

Before this change, sleeping for 20 ms would actually sleep for around 30 ms, with this change the sleep time is pretty accurate at 20-21 ms.

(cherry picked from commit 2670eb44af)
2024-01-25 06:34:29 -08:00
Ningyuan Li
138fe3d43d mayflash adapter PS4 support
(cherry picked from commit d6ebbc2fa4)
2024-01-24 19:26:27 -08:00
Sam Lantinga
b16ef14c7c Make sure we include the matching copy of vk_video headers
(cherry picked from commit 1ac9602909)
2024-01-24 09:41:48 -08:00
Sam Lantinga
0f5a815657 Update to the latest version of the Khronos headers
(cherry picked from commit fc74bf8455)
2024-01-24 09:41:48 -08:00
Sam Lantinga
9196584773 Fixed ambiguity between std::byte and byte in rpcndr.h
Fixes https://github.com/libsdl-org/SDL/issues/8911

(cherry picked from commit a71f99c71f)
2024-01-23 09:02:00 -08:00
Ozkan Sezer
48b62e2e57 make video/pandora to actually compile somehow.
no one ever maintained it for years..
2024-01-23 17:50:10 +03:00
Ozkan Sezer
9e352e61db fixes after ShowMessageBox changes:
- SDL_video.c (SDL_ShowMessageBox): remove C99'ism.
- SDL_os2video.c (OS2DIVE_bootstrap): add OS2_ShowMessageBox
- SDL_os2video.c (OS2VMAN_bootstrap): add OS2_ShowMessageBox
- SDL_DirectFB_video.c (DirectFB_bootstrap): NULL ShowMessageBox
- SDL_naclvideo.c (NACL_bootstrap): NULL ShowMessageBox
2024-01-23 04:11:20 +03:00
Ryan C. Gordon
c5c0b2cb34 SDL_ShowMessageBox: Remove #ifdefs and respect SDL_VIDEO_DRIVER hint.
Fixes #8892.

(cherry picked from commit c88c12148d)
2024-01-22 19:44:17 -05:00
Ryan C. Gordon
1e016fd5ea aaudio: Set low-latency audio mode.
Note that apparently this has caused some weird-sounding audio
on some Android devices, so we might wrap this in a hint later,
or try to check for specific devices.

Fixes #8888.
2024-01-22 18:23:14 -05:00
Ozkan Sezer
aaf426e280 testhaptic.c: include stdlib.h for exit() 2024-01-23 01:20:00 +03:00
Frank Praznik
a8eeb181b6 wayland: Always create the backing input store, even if there is no seat
Fixes a crash if no seat was available at initialization, but still allows for one to still be created later if an input device is added.

Manual backport of 84e47b4
2024-01-22 12:52:59 -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 prerelease-2.29.2 2024-01-22 08:43:05 -08:00
Sam Lantinga
12bab1c981 Fixed warning C4244: '=': conversion from 'Sint64' to 'int', possible loss of data 2024-01-22 08:39:22 -08:00
pionere
61821bd876 fix audio conversion from S16 to F32 using SSE2 2024-01-22 10:45:58 -05:00
Simon McVittie
0f9422a6a5 linux: Handle upower's UP_DEVICE_STATE_PENDING_CHARGE, PENDING_DISCHARGE
On my laptop, the battery is configured to stop charging at around 80%
most of the time, to increase the overall useful lifetime of the battery.
When in that state, upower reports UP_DEVICE_STATE_PENDING_CHARGE
(numeric value 5), which SDL previously mapped to SDL_POWERSTATE_UNKNOWN.
This made the platform_testGetPowerInfo automated test fail, because
it assumes that SDL_POWERSTATE_UNKNOWN means no battery is connected,
and does not expect to see a percentage.

Map UP_DEVICE_STATE_PENDING_CHARGE (5) to SDL_POWERSTATE_CHARGED, which
seems close enough.

Also map UP_DEVICE_STATE_PENDING_DISCHARGE (6) to
SDL_POWERSTATE_ON_BATTERY, which matches how at least GNOME presents it.

Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit eebd5d18a2)
2024-01-22 06:34:12 -08:00
Simon McVittie
55ba686530 test: Run testautomation under Autotools too, not just CMake
The CMake build system runs this since #8313, so we already have to make
sure it doesn't regress.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-01-22 06:33:27 -08:00
Simon McVittie
4cb43db1a9 test: Don't distinguish between different categories of tests
It's reasonable to assume that any of them might need a display and an
audio backend. We run them with SDL_VIDEODRIVER and SDL_AUDIODRIVER
set to dummy anyway.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-01-22 06:33:27 -08:00
Sylvain
237535b23a Fixed bug #8897 - SDL_BlitSurface segfault when dest_rect is null 2024-01-22 09:22:41 +01:00
yuanhecai
ed5d3d9f82 Fix compilation on loongarch 2024-01-21 19:27:59 -08:00
Frank Praznik
f569cc56a9 tests: Fix automated audio tests on Windows and Linux
If a specific audio driver was requested for testing, don't loop over all drivers in the init, open/close, and pause/unpause tests.

Additionally, drivers can fail if attempting to open an audio device when no underlying output is present, which is a valid case if the system has no audio hardware available. Check for the presence of audio output devices before attempting to open them.

Fixes automated tests with various drivers on Windows and Linux.
2024-01-21 23:44:53 +01:00
Frank Praznik
06dd70bc8b video: Use string comparison instead of #ifdefs for driver detection
The dummy driver can be in use on these platforms, so check the actual driver name string.

Fixes the automated video tests with the dummy driver on Win32.
2024-01-21 23:44:53 +01:00