|
c0baa6bf
|
2022-09-16T20:03:50
|
|
move SDL_windowstaskdialog.h contents into SDL_windowsmessagebox.c
Silences clang -Wpragma warnings:
D:/a/SDL/SDL/src/video/windows/SDL_windowstaskdialog.h:21:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
#include <pshpack1.h>
^
D:/a/_temp/msys64/clang64/include/pshpack1.h:7:9: note: previous '#pragma pack' directive that modifies alignment is here
#pragma pack(push,1)
^
In file included from D:/a/SDL/SDL/src/video/windows/SDL_windowsmessagebox.c:35:
D:/a/SDL/SDL/src/video/windows/SDL_windowstaskdialog.h:156:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
#include <poppack.h>
^
note: previous '#pragma pack' directive that modifies alignment is here
2 warnings generated.
Closes: https://github.com/libsdl-org/SDL/issues/6240
|
|
82b40f09
|
2022-09-16T09:55:20
|
|
Fixed runaway CPU usage in the metal renderer when the window is minimized
|
|
5892ed43
|
2022-09-16T09:44:39
|
|
Fixed Xcode warnings on macOS
|
|
910d499c
|
2022-09-16T09:19:20
|
|
Fixed comment typo
|
|
172865ff
|
2022-09-16T09:16:18
|
|
Don't enumerate HID devices on macOS if we don't have input monitoring permissions
Unfortunately the only way to detect this is to actually try opening a device, so we wait until the application tries, and then stop enumerating afterwards.
Fixes https://github.com/libsdl-org/SDL/issues/5781
|
|
eb046958
|
2022-09-16T08:19:45
|
|
Fixed build warning
|
|
8fc133ac
|
2022-09-16T08:18:42
|
|
Updated Xcode project with new offscreen video driver files
|
|
e2753e19
|
2022-09-15T08:02:14
|
|
Calculate simulated vsync interval based on display refresh rate
|
|
208964f0
|
2022-09-15T07:05:55
|
|
Reset the simulated vsync presentation timeline if it's been too long since the last present
|
|
1663cb41
|
2022-09-15T06:30:19
|
|
Reset simulated presentation timeline when vsync status changes
|
|
d744aafb
|
2022-09-15T01:00:12
|
|
Added support for simulated vsync in the renderer
This kicks in if the platform doesn't support vsync directly, or if the present fails for some reason (e.g. minimized on some platforms)
Fixes https://github.com/libsdl-org/SDL/issues/5134
|
|
339f7a2f
|
2022-09-16T17:28:20
|
|
SDL_windows.h: guard WIN32_LEAN_AND_MEAN and STRICT macro defines.
also define them as 1, instead of empty.
Reference issue: https://github.com/libsdl-org/SDL/issues/6239
|
|
c23fb235
|
2022-09-16T17:20:56
|
|
SDL_render_d3d12.c: Fix uninitialized warning for CreateEventExFunc
|
|
d86cb8ec
|
2022-09-16T17:05:02
|
|
SDL_offscreenwindow.c: swap include order of SDL_egl_c.h/SDL_sysvideo.h
Fixes redefinition warnings from windows builds.
Reference issue: https://github.com/libsdl-org/SDL/issues/6239
|
|
5bc85d67
|
2022-09-16T06:15:45
|
|
Only advertise the SDL_PIXELFORMAT_EXTERNAL_OES format if we can build the shader for it
|
|
6de15ffc
|
2022-09-15T12:04:08
|
|
Fixed building offscreen video driver without EGL support
Also did miscellaneous style cleanup for consistency with other code
|
|
cc9638f2
|
2022-09-15T11:08:00
|
|
Regenerated configure
|
|
37effc77
|
2022-09-15T19:39:35
|
|
Build the offscreen video driver by default.
|
|
2970710b
|
2022-09-15T07:41:29
|
|
Pretty print shaders for debugging purposes
|
|
bc57d3e3
|
2022-09-15T06:57:41
|
|
Fixed OpenGL ES shader compilation on Linux
|
|
8a15a738
|
2022-09-15T06:21:19
|
|
Fixed uninitialized variable warning
|
|
61201e06
|
2022-09-15T06:17:49
|
|
Removed obsolete extension definitions
Fixes https://github.com/libsdl-org/SDL/issues/6231
|
|
6dec78ed
|
2022-09-15T11:55:04
|
|
fix permissions of SDL_opengl_glext.h
|
|
2e24708a
|
2022-09-15T11:23:50
|
|
Makefile.w32: silence lots of W202 warnings from new vulkan headers
|
|
c49faabb
|
2022-09-14T16:29:16
|
|
Sync SDL wiki -> header
|
|
ac5b9bc4
|
2022-09-14T18:28:35
|
|
Add support for X11 primary selection (#6132)
X11 has a so-called primary selection, which you can use by marking text and middle-clicking elsewhere to copy the marked text.
There are 3 new API functions in `SDL_clipboard.h`, which work exactly like their clipboard equivalents.
## Test Instructions
* Run the tests (just a copy of the clipboard tests): `$ ./test/testautomation --filter Clipboard`
* Build and run this small application:
<details>
```C
#include <SDL.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void print_error(const char *where)
{
const char *errstr = SDL_GetError();
if (errstr == NULL || errstr[0] == '\0')
return;
fprintf(stderr, "SDL Error after '%s': %s\n", where, errstr);
SDL_ClearError();
}
int main()
{
char text_buf[256];
srand(time(NULL));
SDL_Init(SDL_INIT_VIDEO);
print_error("SDL_INIT()");
SDL_Window *window = SDL_CreateWindow("Primary Selection Test", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, 400, 400, SDL_WINDOW_SHOWN);
print_error("SDL_CreateWindow()");
SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
print_error("SDL_CreateRenderer()");
bool quit = false;
unsigned int do_render = 0;
while (!quit) {
SDL_Event event;
while (SDL_PollEvent(&event)) {
print_error("SDL_PollEvent()");
switch (event.type) {
case SDL_QUIT: {
quit = true;
break;
} case SDL_KEYDOWN: {
switch (event.key.keysym.sym) {
case SDLK_ESCAPE:
case SDLK_q:
quit = true;
break;
case SDLK_c:
snprintf(text_buf, sizeof(text_buf), "foo%d", rand());
SDL_SetClipboardText(text_buf);
print_error("SDL_SetClipboardText()");
printf("clipboard: set_to=\"%s\"\n", text_buf);
break;
case SDLK_v: {
printf("clipboard: has=%d, ", SDL_HasClipboardText());
print_error("SDL_HasClipboardText()");
char *text = SDL_GetClipboardText();
print_error("SDL_GetClipboardText()");
printf("text=\"%s\"\n", text);
SDL_free(text);
break;
} case SDLK_d:
snprintf(text_buf, sizeof(text_buf), "bar%d", rand());
SDL_SetPrimarySelectionText(text_buf);
print_error("SDL_SetPrimarySelectionText()");
printf("primselec: set_to=\"%s\"\n", text_buf);
break;
case SDLK_f: {
printf("primselec: has=%d, ", SDL_HasPrimarySelectionText());
print_error("SDL_HasPrimarySelectionText()");
char *text = SDL_GetPrimarySelectionText();
print_error("SDL_GetPrimarySelectionText()");
printf("text=\"%s\"\n", text);
SDL_free(text);
break;
} default:
break;
}
break;
} default: {
break;
}}
}
// create less noise with WAYLAND_DEBUG=1
if (do_render == 0) {
SDL_RenderPresent(renderer);
print_error("SDL_RenderPresent()");
}
do_render += 1;
usleep(12000);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
print_error("quit");
return 0;
}
```
</details>
* Use c,v,d,f to get and set the clipboard and primary selection.
* Mark text and middle-click also in other applications.
* For wayland under x:
* `$ mutter --wayland --no-x11 --nested`
* `$ XDG_SESSION_TYPE=wayland SDL_VIDEODRIVER=wayland ./<path_to_test_appl_binary>`
|
|
72fe6cc8
|
2022-09-14T09:14:47
|
|
Updated to the latest version of OpenGL and Vulkan headers from the Khronos registry
Fixes https://github.com/libsdl-org/SDL/issues/6193
|
|
b5102a55
|
2022-09-14T08:03:46
|
|
Fixed OpenGLES shaders failing after renderer has been created
Cache all the shaders up front, so we can verify that they won't silently fail at runtime.
If compiling the fragment shaders with the precision hint fails, try again without specifying precision.
Fixes https://github.com/libsdl-org/SDL/issues/6166
Fixes https://github.com/libsdl-org/SDL/issues/6174
|
|
228b9fb5
|
2022-09-14T03:43:16
|
|
Update SDL_windowswindow.c (#6225)
Clip rectangle set to int(left+width/2) , int(top+height/2) , int(left+width/2)+1 , int(top+height/2)+1
a 1x1 box
On even-valued resolution, cursor is stable at bottom-right central pixel
On odd-valued resolution, cursor is stable at exact central pixel.
this is the desired behaviour
|
|
929d5b80
|
2022-09-12T22:39:44
|
|
wayland: Use the backbuffer size for determining if a resize event is required
In some cases, a backbuffer size update may not be accompanied by a resize event if the window size and/or scale were updated before the new backbuffer size was recomputed. Instead of the scale, use the old/new backbuffer sizes to determine if a resize event is required so that a backbuffer size change will always be followed by a resize event.
|
|
4f1b408a
|
2022-09-12T18:19:02
|
|
Fixed button mapping for PS5 controllers
|
|
eb0bf2c2
|
2022-09-12T21:52:39
|
|
vita: Drop memcmp redirect to sceClibMemcmp.
|
|
5b2884cb
|
2022-09-12T20:28:00
|
|
apply commit d0a3570300812bc81888e7a7eadb9311621dc9a7 to cmake side too.
|
|
d9364996
|
2022-09-12T20:20:04
|
|
regenerated configure script.
|
|
d0a35703
|
2022-09-12T18:02:21
|
|
configure.ac: fix configure tests broken with Clang 15 (implicit function declarations)
Clang 15 makes implicit function declarations fatal by default which
leads to some configure tests silently failing/returning
the wrong result.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
7f415ce5
|
2022-09-12T20:09:00
|
|
android: fix some compiler warnings
|
|
6dfd7a17
|
2022-09-10T15:53:11
|
|
cmake: forward HAVE_LIBUSB to HAVE_HIDAPI_LIBUSB
|
|
c3495ec6
|
2022-09-10T14:11:19
|
|
Fix value of SDL_HIDAPI_DISABLED
|
|
19b13aab
|
2022-09-10T13:41:29
|
|
cmake: mark hidapi as disabled when not found
|
|
edfb00c2
|
2022-09-09T14:26:44
|
|
wayland: Only commit on move if the display was changed
Only commit on a move event if the display was changed for a fullscreen window and the compositor has returned bad dimensions.
|
|
97a5e744
|
2022-09-06T17:08:27
|
|
wayland: Remove duplicate code
Wayland_SetWindowSize() can be simplified with the common CommitWindowGeometry() function.
|
|
78f843f7
|
2022-09-06T13:19:23
|
|
wayland: Remove unnecessary function parameter
SetFullscreen() is never called in a case where the commit parameter is false anymore, so the parameter is unnecessary.
|
|
69e4c770
|
2022-09-04T12:18:38
|
|
video: Make the mode switching function a NOP if mode switching is disabled
Instead of wrapping individual calls to SDL_SetDisplayModeForDisplay(), just check the flag in the function itself and make it a NOP that cannot fail if the flag is set. Silences some errant "SDL video driver doesn't support changing display mode" log errors.
|
|
768b6728
|
2022-09-04T23:39:05
|
|
wayland: Compare against the old scale when resizing
Compare against the old scale instead of the new or the conditional will always be true.
|
|
07aea476
|
2022-09-03T13:30:49
|
|
wayland: Ignore content sizes from libdecor when hiding a window
When hiding a window, libdecor can report bogus content region sizes that are +/- the height of the title bar. Ignore any size values from libdecor when hiding a window, or the size may be incorrect when restored.
|
|
6de12b4a
|
2022-09-06T13:30:19
|
|
wayland: Update the internal state when the compositor moves a fullscreen window
The compositor can arbitrarily move windows between displays, including fullscreen windows. Update the internal state when a fullscreen window is moved so the internal SDL state accurately reflects the window location, and resize the window to fit the new display.
This also fixes an edge case where the compositor can make a window fullscreen on a different display than SDL thinks it will be on (usually when a window is made fullscreen by the compositor while straddling multiple displays), which can result in the window being incorrectly sized.
|
|
a7d34595
|
2022-09-03T13:11:29
|
|
wayland: Trigger a commit on fullscreen update
If additional fullscreen requests are received when the window is already fullscreen, it is typically due to the fullscreen flags or emulated video mode being changed. A commit must be explicitly triggered or the requested changes won't take effect until some other event, such as a resize or focus change, causes the changes to be committed.
|
|
707b561f
|
2022-09-03T12:37:02
|
|
wayland: Enable compositor fullscreen toggling
The compositor can toggle the fullscreen state (via a hotkey or otherwise), so the internal SDL state must be updated accordingly when it does.
When toggling fullscreen via the compositor, SDL will attempt to use the last fullscreen flag explicitly set. If no flag was previously set, SDL_WINDOW_FULLSCREEN will be used if a window video mode was set, otherwise SDL_WINDOW_FULLSCREEN_DESKTOP will be used. If the previous flag was SDL_WINDOW_FULLSCREEN and the window video mode was cleared, it will revert to SDL_WINDOW_FULLSCREEN_DESKTOP.
|
|
31979e2d
|
2022-09-02T18:41:21
|
|
wayland: Add missing static qualifiers
|
|
1c88a052
|
2022-09-09T16:03:17
|
|
Update Wayland cursors to match X11 cursors
|
|
9f4baeea
|
2022-09-08T20:08:20
|
|
Clean up thread local storage when quitting SDL
SDL_Quit() should be the last SDL API that you call before exiting your application, and is intended to clean up all internal state.
If real-life applications are relying on thread-local storage after SDL_Quit() we could potentially add a hint to control this behavior.
Fixes https://github.com/libsdl-org/SDL/issues/6200
|
|
a3900a75
|
2022-09-08T13:59:25
|
|
Lock joysticks when removing a controller on the WGI thread
|
|
12413ab3
|
2022-09-08T13:33:04
|
|
Lock joysticks while attaching a virtual one
|
|
787cd580
|
2022-09-08T23:00:04
|
|
silence unused function warning for SDL_endswith() on non-linux.
|
|
40715732
|
2022-09-08T11:50:56
|
|
Don't try to second guess DS4Windows, let it remap things as expected.
DS4Windows can create both emulated Xbox and emulated PS4 controllers, and we don't know which the user has it doing, so don't try to second guess it, just let it do it's thing. Users should follow the remapping software recommendations on when to enable/disable it for various situations.
Fixes https://github.com/libsdl-org/SDL/issues/6167
|
|
a0f16960
|
2022-09-08T09:53:24
|
|
Fixed the CRC in the mappings for PS2, PSP, and Vita controllers
|
|
90a480a1
|
2022-09-08T05:44:39
|
|
Fixed bug #6199 - Broken clip behaviour on a render target (metal)
|
|
0ad8d9d2
|
2022-09-07T15:31:24
|
|
SDL_IsXInputDevice() shouldn't return true if XInput isn't enabled
|
|
d93f9a77
|
2022-09-07T12:33:43
|
|
The new Wii Remote shares the same VID/PID as the Wii U Pro controller
|
|
f398d8a4
|
2022-09-07T11:53:13
|
|
Note that the Logitech Extreme 3D is a flight stick
|
|
0a05b281
|
2022-09-07T11:51:16
|
|
Make sure we hold the joystick lock when updating the device state while opening it
|
|
d4e0d27c
|
2022-09-07T02:02:04
|
|
Added Wii Remote controller mappings for Linux
|
|
a7fde3f8
|
2022-09-07T01:58:42
|
|
Allow mapping a controller other than the first one
|
|
42cf6d6c
|
2022-09-07T01:41:11
|
|
Don't treat the Wii extension controls as a separate game controller on Linux
|
|
87f8b6ff
|
2022-09-07T01:21:01
|
|
Don't mess with the state of the Motion Plus extension on Linux
|
|
c28da489
|
2022-09-07T00:52:40
|
|
Fixed build
|
|
638452ec
|
2022-09-07T00:44:13
|
|
Assert that continuous reporting is enabled, so input timeout is a reliable way of detecting Bluetooth connection problems.
|
|
8dfe0e4b
|
2022-09-07T00:41:29
|
|
Removed checks not needed for the Wii U Pro Controller
|
|
4018f35e
|
2022-09-07T00:00:27
|
|
Added left and right sensors for Nintendo Joy-Con and Wii controllers
|
|
30f55a5d
|
2022-09-06T23:33:55
|
|
Added initial support for the Wii Motion Plus extension
This adds a gyro sensor to the Wii controller, and is enabled in standalone and nunchuk mode
|
|
29f4a5ba
|
2022-09-06T15:55:27
|
|
Add GLES2 shader prologue infrastructure. (by @eloj)
There is supposedly an OpenGL ES2 target that does not support precision specifiers. However, the existing logic to detect this is currently broken in two ways:
1) There's a typo of the `#ifdef` as `#if`.
2) Checking for `GL_FRAGMENT_PRECISION_HIGH` can not be the correct way to detect this platform. Other targets, including some desktops, will also not have this defined (for various reasons).
Because some of the shader code is missing precision specifiers, and because a default is ONLY provided if `GL_FRAGMENT_PRECISION_HIGH` is set, these other targets break.
Instead of 'hard-coding' the prologue string into shaders in the C source, use our ability to provide a list of strings to `glShaderSource` instead, leaving the determination to run-time.
This commit closes https://github.com/libsdl-org/SDL/pull/6182
|
|
4fd6bba2
|
2022-09-06T12:29:42
|
|
Refactored for similarity to surrounding code
|
|
5ffede35
|
2022-09-06T19:56:29
|
|
Fix https://github.com/libsdl-org/SDL/issues/6191
|
|
10e1ef00
|
2022-09-06T11:21:57
|
|
Fix compatibility with Windows XP
|
|
911524da
|
2022-09-06T03:15:02
|
|
fix DYLIB version inconsistencies and test failures after #6188.
|
|
d1fea10c
|
2022-09-05T16:08:15
|
|
Added support for the accelerometer in the Wii Remote
|
|
a61b823d
|
2022-09-05T14:31:25
|
|
Added support for the Wii Remote with the Classic Controller Pro extension
Also changed event order to: buttons, triggers, axes, for consistency with other drivers
|
|
a0f143fc
|
2022-09-05T13:10:15
|
|
Add build target to Xcode project to create an xcframework for iOS (#6188)
|
|
8a08d62f
|
2022-09-05T21:53:50
|
|
cmake: fix location of SDL2::SDL2test imported library
|
|
181265ba
|
2022-09-05T11:36:20
|
|
Removed unused variable
|
|
23be3ccc
|
2022-09-05T11:25:10
|
|
Note that we should regenerate configure before running test/versioning.sh
|
|
acf397b4
|
2022-09-05T11:21:13
|
|
Actually, DYLIB_COMPATIBILITY_VERSION shouldn't be updated for a stable point release
@smcv
|
|
612a86eb
|
2022-09-05T20:47:00
|
|
HIDAPI_DriverPS3_UpdateEffects: kill bad use of & operator on effects[]
|
|
b00e1b1b
|
2022-09-05T10:01:28
|
|
Added support for a ShanWan PS2 -> PS3 USB converter to the HIDAPI driver
|
|
fd93f817
|
2022-09-04T17:50:29
|
|
Assume that stdint.h is available on Windows with compilers other than MSVC <= 2008
|
|
ef988fe1
|
2022-09-05T08:58:49
|
|
Only use CETCOMPAT on x86/x64 platforms
Fixes https://github.com/libsdl-org/SDL/issues/6173
|
|
cf040f88
|
2022-09-05T16:27:25
|
|
testmouse: Allow drawing rectangles as well as lines
|
|
a9325817
|
2022-09-05T16:37:34
|
|
testplatform: Add LSX and LASX checks
|
|
5cac6c7e
|
2022-09-05T08:48:16
|
|
Note that the Xcode DYLIB_COMPATIBILITY_VERSION should always match DYLIB_CURRENT_VERSION
CMake doesn't need any special handling
|
|
4e98ba61
|
2022-09-05T08:28:06
|
|
Set DYLIB_COMPATIBILITY_VERSION to DYLIB_CURRENT_VERSION to match autotools
Autotools sets both versions to the same value, so Xcode and CMake need to match for the libraries to be compatible between the different builds.
See these for details:
https://github.com/libsdl-org/sdl12-compat/pull/207
https://github.com/libsdl-org/SDL/issues/2934
https://stackoverflow.com/questions/67055770/usage-of-current-version-and-compatibility-version-on-macos
|
|
cbc0d9fa
|
2022-09-03T21:22:26
|
|
test/versioning.sh also tests configure
|
|
03485db0
|
2022-09-03T23:40:14
|
|
Android: understand HAL_PIXEL_FORMAT_BGR_565 as a returned value from ANativeWindow_getFormat() (see #6016)
|
|
1b4e08b8
|
2022-09-02T17:04:30
|
|
Added an entry for the Hori Fighting Stick mini 4 kai
This is a PS3/PS4 arcade stick which becomes an Xbox 360 controller on PC
|
|
6bcf2c15
|
2022-09-02T15:06:49
|
|
Fixed spinning at a very high framerate
|
|
47f2373d
|
2022-09-02T16:52:55
|
|
Added locking for Android joystick events
|
|
e8f6b750
|
2022-09-02T15:06:13
|
|
Added mappings for the ASUS ROG Kunai 3 Gamepad
|
|
5770e87c
|
2022-09-02T13:57:59
|
|
Fixed regression handling touchpad input with PS5 controllers using the original shipping firmware
|
|
253f6a91
|
2022-09-02T11:49:06
|
|
Variable renaming for consistency
|
|
5002624e
|
2022-09-02T11:41:19
|
|
Fixed crash when extension controllers are hotplugged
|
|
7df571ff
|
2022-09-02T11:37:16
|
|
HIDAPI_DumpPacket() takes a const memory pointer
|