|
f1c15aa3
|
2021-11-28T08:56:25
|
|
Tests cover the latest SDL features
|
|
6c25aed4
|
2021-11-27T14:01:18
|
|
added hint for joysticks to stablize sixaxis & dualshock controllers (#5007)
|
|
d2871a34
|
2021-11-23T15:10:50
|
|
testhaptic.c, testjoystick.c: fixed -Wshadow warnings.
|
|
e6a4230d
|
2021-11-23T03:51:32
|
|
Revert testevdev libc changes
This file uses internal SDL headers as a hack, without actually being built as part of SDL, so we should use normal C functions here.
|
|
3eaa80bb
|
2021-11-23T14:22:02
|
|
testgamecontroller.c: fixed -Wshadow warnings.
|
|
370b8318
|
2021-11-23T14:01:10
|
|
testmouse.c: fixed -Wshadow warnings.
|
|
f1582f54
|
2021-11-22T11:27:40
|
|
Fix comment
|
|
d31251b0
|
2021-11-21T22:30:48
|
|
use SDL's functions version inplace of libc version
|
|
fadf41fc
|
2021-11-20T21:55:20
|
|
remove excess whitespace
|
|
e86d4bde
|
2021-11-20T13:33:29
|
|
test: Makefile should copy unifont file, for testime.c to use.
|
|
495ee42a
|
2021-11-20T01:15:20
|
|
testcustomcursor.c: replaced libc sscanf with SDL_sscanf
|
|
990fb668
|
2021-11-20T01:02:02
|
|
tests: several -Wwrite-strings fixes.
|
|
eb98ff47
|
2021-11-13T13:05:02
|
|
testmessage: Fix overread of stack variable
|
|
62b41f61
|
2021-11-13T21:29:50
|
|
fix build of testmouse.c
|
|
f124259e
|
2021-11-12T17:25:24
|
|
testautomation: fix use-after-free when restoring hint value
|
|
e688a95b
|
2021-11-12T23:55:40
|
|
updated os2 makefile for tests
|
|
3bf7994f
|
2021-09-27T14:38:12
|
|
Add and use `SDL_FALLTHROUGH` for fallthroughs
Case fallthrough warnings can be suppressed using the __fallthrough__
compiler attribute. Unfortunately, not all compilers have this
attribute, or even have __has_attribute to check if they have the
__fallthrough__ attribute. [[fallthrough]] is also available in C++17
and the next C2x, but not everyone uses C++17 or C2x.
So define the SDL_FALLTHROUGH macro to deal with those problems - if we
are using C++17 or C2x, it expands to [[fallthrough]]; else if the
compiler has __has_attribute and has the __fallthrough__ attribute, then
it expands to __attribute__((__fallthrough__)); else it expands to an
empty statement, with a /* fallthrough */ comment (it's a do {} while
(0) statement, because users of this macro need to use a semicolon,
because [[fallthrough]] and __attribute__((__fallthrough__)) require a
semicolon).
Clang before Clang 10 and GCC before GCC 7 have problems with using
__attribute__ as a sole statement and warn about a "declaration not
declaring anything", so fall back to using the /* fallthrough */ comment
if we are using those older compiler versions.
Applications using SDL are also free to use this macro (because it is
defined in begin_code.h).
All existing /* fallthrough */ comments have been replaced with this
macro. Some of them were unnecessary because they were the last case in
a switch; using SDL_FALLTHROUGH in those cases would result in a compile
error on compilers that support __fallthrough__, for having a
__attribute__((__fallthrough__)) statement that didn't immediately
precede a case label.
|
|
abc12a83
|
2021-11-11T15:58:44
|
|
Revert "Add and use `SDL_FALLTHROUGH` for fallthroughs"
This reverts commit 66a08aa3914a98667f212e79b4f0b9453203d656.
This causes problems with older compilers:
https://github.com/libsdl-org/SDL/pull/4791#issuecomment-966630997
|
|
fe09a493
|
2021-11-11T15:53:11
|
|
joystick: Add APIs to query rumble support
|
|
66a08aa3
|
2021-09-27T14:38:12
|
|
Add and use `SDL_FALLTHROUGH` for fallthroughs
Case fallthrough warnings can be suppressed using the __fallthrough__
compiler attribute. Unfortunately, not all compilers have this
attribute, or even have __has_attribute to check if they have the
__fallthrough__ attribute. [[fallthrough]] is also available in C++17
and the next C2x, but not everyone uses C++17 or C2x.
So define the SDL_FALLTHROUGH macro to deal with those problems - if we
are using C++17 or C2x, it expands to [[fallthrough]]; else if the
compiler has __has_attribute and has the __fallthrough__ attribute, then
it expands to __attribute__((__fallthrough__)); else it expands to an
empty statement, with a /* fallthrough */ comment (it's a do {} while
(0) statement, because users of this macro need to use a semicolon,
because [[fallthrough]] and __attribute__((__fallthrough__)) require a
semicolon).
Applications using SDL are also free to use this macro (because it is
defined in begin_code.h).
All existing /* fallthrough */ comments have been replaced with this
macro. Some of them were unnecessary because they were the last case in
a switch; using SDL_FALLTHROUGH in those cases would result in a compile
error on compilers that support __fallthrough__, for having a
__attribute__((__fallthrough__)) statement that didn't immediately
precede a case label.
|
|
dc4c7d95
|
2021-11-10T09:48:49
|
|
Fixed infinite loop in SDL_vsnprintf() if the format string is too large for the output buffer
Fixes https://github.com/libsdl-org/SDL/issues/4940
|
|
0d987936
|
2021-11-09T22:03:42
|
|
testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936)
* SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize
* testwm2: fix video modes menu hit detection in High DPI cases
- also when logical size is specified, e.g.
`--logical 640x480 --resizable --allow-highdpi`
* add function to determine logical coordinates of renderer point when given window point
* change since to the targeted milestone
* fix typo
* rename for consistency
* Change logical coordinate type to float, since we can render with floating point precision.
* add function to convert logical to window coordinates
* testwm2: use new SDL_RenderWindowToLogical
* SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow
Co-authored-by: John Blat <johnblat64@protonmail.com>
Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com>
|
|
cdb4d8f2
|
2021-11-07T09:39:57
|
|
Added a test case for snprintf of 0.0
This verifies regressions in https://github.com/libsdl-org/SDL/issues/4795
|
|
a0e055a7
|
2021-11-07T02:48:29
|
|
testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
|
|
35b0baaa
|
2021-11-06T19:25:06
|
|
Unfixed typo
|
|
1d40c69a
|
2021-11-05T22:52:03
|
|
Fixed typo
|
|
e2ba84a5
|
2021-11-02T19:30:17
|
|
testtimer: Be more like the C90's.
|
|
4ab7ee19
|
2021-11-02T18:58:06
|
|
testtimer: Add basic sanity check for SDL_GetTicks*()
|
|
d78cb9e9
|
2021-10-23T19:27:10
|
|
testtimer: added SDL_GetTicks64() calls.
|
|
210713a6
|
2021-10-31T19:11:09
|
|
cmake: Work around bug in opengl32.lib detection on MSVC ARM64
|
|
77141e84
|
2021-10-31T18:53:11
|
|
cmake: Fix test linking with MinGW
|
|
618b0d41
|
2021-10-30T12:05:11
|
|
cmake: Remove SDL2_test_resources dummy hack
It doesn't work properly on MSVC because the dummy target fails to link
|
|
f3640e26
|
2021-10-31T08:47:00
|
|
tests: minor update to acinclude.m4::pkg.m4
|
|
cc3fe1a1
|
2021-10-31T08:25:24
|
|
tests: don't fail configury if libunwind is not available.
|
|
c4016277
|
2021-10-31T08:14:50
|
|
testsurround.c: remove unnecessary libc includes and stdint.h types
|
|
e28e3993
|
2021-10-31T08:00:20
|
|
testsurround.c: add missing newline at end of file.
|
|
cd66c050
|
2021-10-29T01:11:59
|
|
testsurround: Add surround sound channel tester
|
|
6b8e880a
|
2021-10-26T20:27:34
|
|
checkkeysthreads: Create a renderer for window display on Wayland
Applies checkkeys patch from 105f1206 to checkkeysthreads.
|
|
7ac0c73a
|
2021-10-25T21:40:04
|
|
regenerated test/configure
|
|
c57bcb47
|
2021-10-23T14:46:03
|
|
test: Fix building with libunwind under autotools
There are two issues which are stopping the SDL tests from building on
my machine:
- libunwind is not being linked
- Even if it is, it is missing several symbols.
The first is fixed by having the test programs link against libunwind if
available. Technically, SDL2_test should be linking against it, as it's
used in SDL_test_memory.c, but as SDL2_test is a static library, it
can't itself import libunwind. We just assume that if it's present on
the system, we should link it directly to the test programs. This should
strictly be an improvement, as the only case where this'd fail is if
SDL2 was compiled when libunwind was present, but the tests are being
compiled without it, and that'd fail anyway.
The second is fixed by #define-ing UNW_LOCAL_ONLY before including
libunwind.h: this is required to make libunwind link to predicatable
symbols, in what can only be described as a bit of a farce. There are a
few more details in the libunwind man page, but the gist of it is that
it disables support for "remote unwinding": unwinding stack frames in a
different process (and possibly from a different architecture?):
http://www.nongnu.org/libunwind/man/libunwind(3).html
Note that I haven't tried this with CMake: I suspect that it'll work,
though, as the CMakeLists.txt seems to have SDL2 link against libunwind if
it's present. This adds an ugly extra dependency to SDL2, but does mean
that issue 1 isn't present. The UNW_LOCAL_ONLY change shouldn't be
build-system-specific.
|
|
f30e2e43
|
2021-10-06T22:52:33
|
|
Fix compiler warnings in testvulkan.c
MSVC gives the following warnings when compiling testvulkan.c:
```
testvulkan.c(656,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(656,1): warning C4018: '>': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '>': signed/unsigned mismatch
```
|
|
decd1b4d
|
2021-09-23T22:28:45
|
|
testdraw2: display FPS similarly to testsprit2. fix helper syntax
|
|
79b0aae8
|
2021-09-22T11:42:10
|
|
The return value of SDL_snprintf is the number of characters that would have been written.
Fixes https://github.com/libsdl-org/SDL/issues/4762
|
|
42ae9116
|
2021-09-22T10:01:42
|
|
Getting "(null)" when formatted printing NULL is a valid result
|
|
a4a9d284
|
2021-09-22T09:56:06
|
|
You may need to wait a bit for SDL_WarpMouseInWindow() to complete
|
|
94a42af5
|
2021-09-22T09:49:41
|
|
Fixed the name of the verbose hints
|
|
b914bc39
|
2021-09-22T09:48:51
|
|
SDL_PIXELFORMAT_ARGB2101010 isn't fully supported for all surface conversion paths yet
|
|
e5d59fa7
|
2021-09-22T09:31:26
|
|
Fixed building testgles2 on Linux
|
|
eb3bf80f
|
2021-09-21T18:15:09
|
|
Fixed compiler warnings using Visual Studio 2019
|
|
e55b8507
|
2021-09-20T23:50:02
|
|
minor tidy-up in os2 makefile for tests.
|
|
e967f002
|
2021-09-10T00:01:20
|
|
testmouse.c: remove unused local var.
|
|
83020658
|
2021-09-09T21:33:35
|
|
Add testmouse
|
|
2c6f52d1
|
2021-09-06T15:24:50
|
|
regenerate test/configure really with ac2.69
|
|
2e3a415b
|
2021-09-06T13:09:09
|
|
test: Use a static pattern rule to copy data to $(builddir)
The version with an implicit pattern rule tended to fail if test/
was built in an "out-of-tree" build directory not below test/, for
example:
cd SDL
mkdir _build-test
( cd _build-test; ../test/configure )
make -C _build-test
as a result of the pattern rule first checking for axis.bmp, then for
../test/axis.bmp, then ../test/../test/axis.bmp, and so on until the
maximum path length was reached.
Note that this requires GNU make. The FreeBSD ports file for SDL seems
to use GNU make (gmake) already, so presumably SDL's build system is
already relying on GNU make extensions.
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|
9837a327
|
2021-09-06T14:55:40
|
|
regenerated test/configure
|
|
91ce6019
|
2021-09-06T10:40:23
|
|
test: Fix path used in AC_CONFIG_AUX_DIR
AC_CONFIG_AUX_DIRS is an undocumented, internal version of
AC_CONFIG_AUX_DIR that takes a whitespace-separated list, instead of a
single path to add to the list. It also does not automatically treat
the given path as being relative to the $srcdir, unlike the documented
AC_CONFIG_AUX_DIR.
Newer versions of autoconf treat the argument to AC_CONFIG_AUX_DIRS
as being literal (they do not expand the shell variable), causing
autoreconf to fail if $srcdir is explicitly specified. The argument to
AC_CONFIG_AUX_DIR is checked relative to $srcdir anyway, so there is no
need to specify $srcdir a second time.
Resolves: https://github.com/libsdl-org/SDL/issues/4719
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|
79c7a171
|
2021-08-24T12:41:41
|
|
testvulkan: reformatted to more-closely match SDL coding conventions.
|
|
b073d275
|
2021-08-17T16:52:49
|
|
test/vulkan: fix/workaround validation errors
|
|
abba1811
|
2021-08-23T20:18:57
|
|
testvulkan: support multiple windows.
Fixes #4363.
|
|
f5c0cdea
|
2021-08-19T01:28:10
|
|
testgeometry.c: fix build in c89 mode
|
|
bc2173ba
|
2021-04-06T21:49:23
|
|
Add testgeometry to draw a non uniform triangle
--use-texture: an option to load icon.bmp as a texture
handle mouse motion: rotate the triangle
|
|
53bcb3e0
|
2021-04-06T21:38:24
|
|
Add an option to 'testsprite2' to render slicing into triangles.
[--use-rendergeometry mode1|mode2]
mode1: Draw sprite2 as triangles that can be recombined as rect by software renderer
mode2: Draw sprite2 as triangles that can *not* be recombined as rect by software renderer
Use an 'indices' array
|
|
fbc36490
|
2021-08-14T22:29:05
|
|
Use the new SDL_clamp() macro where sensible
There were a few places throughout the SDL code where values were
clamped using SDL_min() and SDL_max(). Now that we have an SDL_clamp()
macro, use this instead.
|
|
105f1206
|
2021-08-13T21:25:35
|
|
checkkeys: Create a renderer for window display on Wayland
On Wayland -- or at least on some Wayland implementations -- windows
aren't shown until something has been rendered into them. For the
'checkkeys' test program, this means that keyboard input isn't
registered, making the program rather useless.
By creating a renderer and presenting once, the window is properly
displayed, and the test behaves as it does under X11 (including
XWayland).
The exact same thing was done with testmessge in 1cd97e2695 (PR #4252)
|
|
cb1e20b0
|
2021-08-10T17:50:17
|
|
Added KMOD_SCROLL to track the scroll lock state
Fixes https://github.com/libsdl-org/SDL/issues/4566
|
|
773e1ba1
|
2021-08-08T11:00:07
|
|
testvulkan: Clamp the drawable size to the allowed range
SDL_Vulkan_GetDrawableSize() doesn't always return a size which is
within the Vulkan swapchain's allowed image extent range.
(This happens on X11 a lot when resizing, which is bug #3287)
Clamp the value we get back from SDL_Vulkan_GetDrawableSize() to this
range. Given the range usually is just a single value, this is almost
always equivalent to just using the min or max image extent, but this
seems logically most correct.
|
|
520bc713
|
2021-08-05T14:33:54
|
|
Fix typo in CMake target name
|
|
9fdb0645
|
2021-08-04T11:33:28
|
|
Added support for the Joy-Con Charging Grip when SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS is enabled
|
|
3d747078
|
2021-08-03T01:25:54
|
|
Run the renderer so Steam can find the main window
|
|
8726f500
|
2021-08-03T01:10:48
|
|
Allow quitting controllermap if there are no controllers attached
|
|
65ff00ec
|
2021-07-29T14:18:54
|
|
Query the rate for the correct sensor (thanks @meyraud705)
|
|
a186a503
|
2021-07-29T06:43:39
|
|
Added SDL_GameControllerGetSensorDataRate() to get the sensor update rate for a controller.
|
|
ce8261dd
|
2021-07-29T06:36:20
|
|
Only pump events once per frame and process all currently pending events
If you continually poll for events it's possible that new events can come in while you're still processing the last one, delaying rendering. This is more likely with high update rate sensors.
|
|
51c61d7c
|
2021-07-27T14:57:18
|
|
Run the entire Cocoa messagebox function on the main thread.
This fixes bug https://github.com/libsdl-org/SDL/issues/4420
|
|
7df6a9ea
|
2021-07-27T10:44:04
|
|
Add a test case for bug https://github.com/libsdl-org/SDL/issues/4469
|
|
94b7a876
|
2021-07-24T09:10:18
|
|
Added SDL_GameControllerType enumerations for the Amazon Luna and Google Stadia controllers
Fixes bug https://github.com/libsdl-org/SDL/issues/4019
|
|
f9bf1aeb
|
2021-07-09T00:51:16
|
|
Latest Unifont with OFL is now bundled. (#4268)
* * Latest Unifont with OFL is now bundled.
* * Added a Unifont license file.
Co-authored-by: Vladislav Dmitrievich Turbanov <vladislav@turbanov.ru>
|
|
d135c076
|
2021-07-08T13:22:41
|
|
Added SDL_GameControllerSendEffect() and SDL_JoystickSendEffect() to allow applications to send custom effects to the PS4 and PS5 controllers
See testgamecontroller.c for an example of a custom PS5 trigger effect
|
|
c33e3c15
|
2021-06-07T18:24:57
|
|
testwm2: draw various debug logging into the window itself
Renderer output size, window position/size, display bounds, etc.
Uses new SDLTest_CommonDrawWindowInfo function in test_common.
|
|
64c40b90
|
2021-06-04T14:34:21
|
|
Updated copyright date
|
|
37b093ea
|
2021-06-05T00:05:56
|
|
test/checkkeysthreads: build fixes, and add to os2 makefile.
|
|
0dd7024d
|
2021-03-12T21:58:20
|
|
Modifies WaitEvent and WaitEventTimeout to actually wait instead of polling
When possible use native os functions to make a blocking call waiting for
an incoming event. Previous behavior was to continuously poll the event
queue with a small delay between each poll.
The blocking call uses a new optional video driver event,
WaitEventTimeout, if available. It is called only if an window
already shown is available. If present the window is designated
using the variable wakeup_window to receive a wakeup event if
needed.
The WaitEventTimeout function accept a timeout parameter. If
positive the call will wait for an event or return if the timeout
expired without any event. If the timeout is zero it will
implement a polling behavior. If the timeout is negative the
function will block indefinetely waiting for an event.
To let the main thread sees events sent form a different thread
a "wake-up" signal is sent to the main thread if the main thread
is in a blocking state. The wake-up event is sent to the designated
wakeup_window if present.
The wake-up event is sent only if the PushEvent call is coming
from a different thread. Before sending the wake-up event
the ID of the thread making the blocking call is saved using the
variable blocking_thread_id and it is compared to the current
thread's id to decide if the wake-up event should be sent.
Two new optional video device methods are introduced:
WaitEventTimeout
SendWakeupEvent
in addition the mutex
wakeup_lock
which is defined and initialized but only for the drivers supporting the
methods above.
If the methods are not present the system behaves as previously
performing a periodic polling of the events queue.
The blocking call is disabled if a joystick or sensor is detected
and falls back to previous behavior.
|
|
646ddfb7
|
2021-05-15T00:22:50
|
|
minor watcom build fixes.
|
|
babd79b8
|
2021-04-14T23:20:40
|
|
bump minimum required autoconf version and revise autogen.sh
|
|
197cfcaf
|
2021-04-14T21:10:40
|
|
ran configure.ac through autoupdate-2.69
generated configure script is practically the same except for whitespace
changes.
|
|
da667554
|
2021-04-01T12:20:04
|
|
Fixed up legacy MoinMoin URLs at wiki.libsdl.org
Fixes #4064.
|
|
2542977b
|
2021-04-01T12:15:28
|
|
Revert "Update wiki.libsdl.org urls to libsdl-org/SDL/wiki (#4069)"
This reverts commit 82a96afa70212da94de758df859e94cccdb2c805.
We ended up not moving to GitHub's wiki after all and built
https://github.com/icculus/ghwikipp to fill the gap...since the wiki is
back at https://wiki.libsdl.org/, put back the original URLs.
|
|
570768f6
|
2021-03-26T22:52:30
|
|
test: fix shadowing variables
|
|
b972258d
|
2021-03-26T22:49:28
|
|
test: remove unused variables and typedefs
|
|
3f257045
|
2021-03-26T23:46:31
|
|
test: portable 64bit address format specifier
|
|
1cd97e26
|
2021-03-29T18:12:33
|
|
testmessage: Create a renderer for window display on Wayland
On Wayland -- or at least on some Wayland implementations -- windows
aren't shown until something has been rendered into them. For the
'testmessage' test program, this means that the final messagebox (a
modal one) is blocking an "invisible window", which can then be
difficult to close.
By creating a renderer and presenting once, the window is properly
displayed, and the test behaves as it does under X11 (including
XWayland).
|
|
8b87b438
|
2021-03-26T13:01:06
|
|
Don't try to map the touchpad button, since we don't have any art for that at the moment.
|
|
e5821bf2
|
2021-03-18T00:10:00
|
|
regenerated configure.
|
|
e6b87005
|
2021-03-17T20:10:31
|
|
Fix tests configuration and building when only GLVND full OpenGL implementation is present.
|
|
9d46bd25
|
2021-03-11T17:00:10
|
|
revert commit 81cdb1bb0de (unifont license issue.)
|
|
81cdb1bb
|
2021-03-04T18:32:32
|
|
test: add unifont-9.0.02.hex as a resource (so it works out-of-the-box)
from a patchset by Vladislav Dmitrievich Turbanov:
https://github.com/libsdl-org/SDL/pull/4062
|
|
a52d0db5
|
2021-03-04T18:28:10
|
|
test/CMakeLists.txt: add OpenGL module checks and adjust dependencies.
from a patchset by Vladislav Dmitrievich Turbanov:
https://github.com/libsdl-org/SDL/pull/4062
|
|
e7abf968
|
2021-03-04T18:28:04
|
|
test/CMakeLists.txt: bump cmake minimum required to 3.0 for consistency
from a patchset by Vladislav Dmitrievich Turbanov:
https://github.com/libsdl-org/SDL/pull/4062
|
|
a29fe292
|
2021-02-18T20:10:50
|
|
configury: replace host checks against *-*-mingw32* with *-*-mingw*
|
|
9323cd51
|
2021-02-16T18:14:13
|
|
Check for ARM SIMD in testplatform
|