Log

Author Commit Date CI Message
Sam Lantinga 30ff5fcf 2020-01-23T01:03:23 SDL_LEAN_AND_MEAN defaults off
Sam Lantinga b5e3d264 2020-01-23T01:00:52 Added a single SDL_LEAN_AND_MEAN define to turn on minimal SDL builds Protected more code with #ifdefs to reduce the size of minimal shared library builds
Sam Lantinga b1c6e7c2 2020-01-23T00:32:34 Fixed compile warning
Sam Lantinga 443bce74 2020-01-22T11:28:35 Added support for the paddles on the Xbox One Elite Series 1 controller
Sylvain Becker 6f89b059 2020-01-22T15:23:44 Documentation of the footprint #defines
Ryan C. Gordon f30ef6ed 2020-01-21T17:40:16 audio: Fixed a '//' style comment.
Sylvain Becker 55afc281 2020-01-21T22:06:09 Add #define SDL_HAVE_BLIT_N_RGB565 to compile out RGB565 LUT
Ryan C. Gordon dbe5c14b 2020-01-21T15:49:37 audio: Calculate a legitimate SDL_AudioSpec::silence in SDL_LoadWAV_RW().
Sylvain Becker 7df22cf2 2020-01-21T21:33:40 A few #defines to reduce SDL2 footprint. Only applied when library is statically linked
Sam Lantinga 25c88ea9 2020-01-20T13:53:40 The Xbox One 0x01 initialization packet is an ack packet
Sam Lantinga 9c3d1602 2020-01-19T11:43:36 Refactored code so SDL_GetJoystickGameControllerType() is called less during controller detection
Sam Lantinga ff068011 2020-01-18T11:21:42 Added missing file from previous commit
Sam Lantinga 43aa1fa9 2020-01-18T11:21:14 Added support for detecting previously unknown Xbox 360 and Xbox One controllers using the HIDAPI driver with libusb and Android
Sam Lantinga 27035425 2020-01-17T11:09:57 There are multiple bindings for XBox One controller model 1708, depending on firmware revision
Sam Lantinga bde1a371 2020-01-17T11:07:19 Added support for the NACON GC-400ES
Sam Lantinga 0a7fe18f 2020-01-17T11:06:02 On Mac OSX there are spurious hat events at program start, so skip these
Sam Lantinga 4e682461 2020-01-17T10:43:14 Reattach the kernel driver after closing USB controllers
Sylvain Becker 005e2dff 2020-01-17T12:41:54 Android: prevents rare crashes when app goes to background or ends. Make sure the thread is actually paused, and context backep-up, before SurfaceView is destroyed (eg surfaceDestroyed() actually returns). Add a timeout when surfaceDestroyed() is called, and check 'backup_done' variable. It prevents crashes like: #00 pc 000000000000c0d0 /system/lib64/libutils.so (android::RefBase::incStrong(void const*) const+8) #01 pc 000000000000c7f4 /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::UpdateBufferList(ANativeWindowBuffer*)+284) #02 pc 000000000000c390 /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::DequeueBuffer()+240) #03 pc 000000000000bb10 /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::GetBuffer(EglSubResource*, EglMemoryDesc*)+64) #04 pc 000000000032732c /vendor/lib64/egl/libGLESv2_adreno.so (EglWindowSurface::UpdateResource(EsxContext*)+116) #05 pc 0000000000326dd0 /vendor/lib64/egl/libGLESv2_adreno.so (EglWindowSurface::GetResource(EsxContext*, EsxResource**, EsxResource**, int)+56) #06 pc 00000000002ae484 /vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::AcquireBackBuffer(int)+364) #07 pc 0000000000249680 /vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)+1800) #08 pc 00000000002cb52c /vendor/lib64/egl/libGLESv2_adreno.so (EsxGlApiParamValidate::GlClear(EsxDispatch*, unsigned int)+132)
Sylvain Becker d52ba78b 2020-01-17T12:04:18 Fixed bug 4246 - Android: orientation between portrait<->landscape doesn't work Improve handling of landscape/portrait orientation. Promote to SCREEN_ORIENTATION_SENSOR_* when needed. Android window can be somehow resizable. If SDL_WINDOW_RESIZABLE is set, window size change is allowed, for instance when orientation changes (provided the hint allows it).
Sam Lantinga a8780c6a 2020-01-16T20:49:25 Updated copyright date for 2020
Sam Lantinga 572f4a85 2020-01-16T15:54:20 Fixed bug 4929 - Software renderer produces bugs when optimizations are turned on with Visual C++ 2019 Konrad I took the liberty of rewriting this function a bit as it seemed to be unnecessary extended with ifs regarding flags (we can check everything in one pass which seem to be the thing which confuses Visual C++ 2019 as well). Also, I have made CPU features an int instead of uint because if we check it against flags which are all ints it might as well just be int (no signed/unsigned bitwise comparison).
Sam Lantinga c6817a2c 2020-01-16T15:32:41 Added support for the paddles on the Xbox One Elite Series 2 controller
Sam Lantinga 4e1cc124 2020-01-16T15:32:39 Improved Xbox One controller initialization
Sam Lantinga 981e0d36 2020-01-16T08:52:59 Fixed bug 4903 - Lack of color multiply with alpha (SDL_BLENDMODE_MOD + SDL_BLENDMODE_BLEND) blending mode for all renderers Konrad This kind of blending is rather quite useful and in my opinion should be available for all renderers. I do need it myself, but since I didn't want to use a custom blending mode which is supported only by certain renderers (e.g. not in software which is quite important for me) I did write implementation of SDL_BLENDMODE_MUL for all renderers altogether. SDL_BLENDMODE_MUL implements following equation: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)) dstA = (srcA * dstA) + (dstA * (1-srcA)) Background: https://i.imgur.com/UsYhydP.png Blended texture: https://i.imgur.com/0juXQcV.png Result for SDL_BLENDMODE_MOD: https://i.imgur.com/wgNSgUl.png Result for SDL_BLENDMODE_MUL: https://i.imgur.com/Veokzim.png I think I did cover all possibilities within included patch, but I didn't write any tests for SDL_BLENDMODE_MUL, so it would be lovely if someone could do it.
Sam Lantinga 669729a8 2020-01-15T22:18:31 Improved Xbox One controller initialization sequence This sequence works across Microsoft, PowerA, PDP, and HORI controllers. The newer Microsoft XBox firmware requires synchronizing the rumble sequence number, when SDL sees it after the initial connect The Razer Wildcat controller requires waiting for init responses before continuing the initialization sequence. The PDP Battlefield 1 controller takes over a second to be ready for initialization, and if initialization is attempted before then, it will fail.
Sam Lantinga 34486005 2020-01-15T22:18:29 Added support for the HORI Fighting Commander
Sam Lantinga 6705e27c 2020-01-13T22:05:58 Added D-PAD bindings for the Linux Steam Controller
Sam Lantinga cb800d1c 2020-01-13T22:05:56 Fixed compiler warning
Sam Lantinga 7775f7ce 2020-01-13T22:05:54 Fixed deadlock in HIDAPI joystick system
Sam Lantinga 3a796d6a 2020-01-13T15:35:54 Free the joystick player index when the joystick is removed
Sam Lantinga 1d321850 2020-01-13T15:35:52 Added support for claiming individiual interfaces on USB devices on Android This is needed for supporting multiple wireless Xbox 360 controllers
David Ludwig acbf2593 2020-01-13T11:46:17 Emscripten: build fix for testoverlay2.c
Sam Lantinga 3ce56f62 2020-01-13T08:12:10 Fixed error formatting
Sam Lantinga d2cda502 2020-01-12T17:22:24 Send the full Xbox One controller sequence for Microsoft controllers This switches Bluetooth controllers back into USB report mode for the latest Xbox One S and Xbox One Elite Series 2 firmware
Sam Lantinga 196f6998 2020-01-11T22:03:06 Fixed NEON detection on arm64 CPUs This probably breaks RISCOS, but we need a better fix from Cameron Cawley for this
Sam Lantinga c14a59d9 2020-01-11T13:38:50 Worked around an issue where the kernel would lose the force feedback effect
Sam Lantinga e3cedf96 2020-01-11T04:38:13 Add the destination format to the error when conversion isn't possible
Sam Lantinga d33b122f 2020-01-11T04:34:28 The Xbox One S Bluetooth controller with older firmware uses b16 as the guide button. The same controller with newer firmware uses b12 as the guide button. Map both buttons so both firmware revisions will work with the same mapping.
Sam Lantinga a7bf6af8 2020-01-11T04:34:23 The Amlogic TVB-906X is Android TV
Sam Lantinga 5d28c315 2020-01-09T14:53:34 Only initialize Xbox One controllers once they're ready for initialization (or if they are silent until init) This fixes the Hyperkin Duke Xbox One controller showing the Xbox startup animation every time an SDL application launches
Sam Lantinga 47abe4e3 2020-01-09T14:53:30 Fixed crash when unplugging a HIDAPI controller
Sam Lantinga f34795d0 2020-01-08T18:55:53 Added support for the updated Hyperkin Duke Xbox One controller
Sam Lantinga f4375e86 2020-01-07T18:43:40 Added support for the 8BitDo M30 GamePad
Sam Lantinga a56aaea1 2020-01-07T16:47:56 Fixed handling the 8BitDo M30 in Nintendo Switch mode
Cameron Cawley 78ce18f5 2020-01-06T20:26:52 riscos: Add CPU feature detection
Sam Lantinga eb3d39bc 2020-01-06T12:18:51 Added support for the 8Bitdo FC30 Pro
Sam Lantinga 598bcfc5 2020-01-06T07:06:58 Fixed bug 4928 - CMakeLists.txt: put cmake package helpers in proper libdir Tiago O. Use LIB_SUFFIX variable to determine the correct path.
Dmitry V. Levin 2b1edf41 2020-01-04T11:05:06 X11_InitKeyboard: do not call XAutoRepeatOn unnecessarily Use XGetKeyboardControl to initialize the current XKeyboardState, and skip XAutoRepeatOn invocation if global_auto_repeat is AutoRepeatModeOn. This fixes SDL2 when the X11 client is untrusted.
Dmitry V. Levin ed514cd0 2020-01-04T11:03:04 have_mitshm: use XShmQueryExtension to check for MIT-SHM extension Do not try to guess MIT_SHM extension availability from the string returned by XDisplayName, use the appropriate API instead. This fixes SDL2 inside hasher.
Sam Lantinga d9c4be06 2020-01-01T08:13:40 Added support for the Hyperkin Duke controller
Sam Lantinga 41dad5d7 2019-12-31T10:40:30 Fixed bug 4357 - iosbuild.sh broken with SDL 2.0.9 Christoph Charles The new source files for coremotion sensors don't seem to have been included correctly in configure.in. This leads to the build script ios-build.sh to fail at link time, complaining about missing symbols, namely about missing SDL_COREMOTION_SensorDriver.
Sam Lantinga 4c9628a0 2019-12-30T17:56:56 Fixed GameCube controller axis and trigger ranges and X and B button being swapped
Sam Lantinga 58a11d30 2019-12-30T13:21:47 Fixed bug 4920 - Wider support for seconds of battery life left on Linux platforms using sys interface Murad On my system, SDL_GetPowerInfo() returns -1 seconds of battery life left. I have quickly investigated that in my case SDL uses sys interface to get battery data. It tries to read "time_to_empty_now" file which is not always present. However, it is still possible to calculate remaining lifetime using "energy_now" and "power_now" files. This is what my simple patch (included as attachment) tries to accomplish. Best wishes.
Sam Lantinga 8b0660b2 2019-12-30T13:18:57 Fixed bug 4918 - SDL failed to build due to error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex with MSVC x64 on Windows LinGao We build SDL with Visual studio 2017 compiler on Windows Server 2016, but it failed to build due to error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex with MSVC x64 on Windows on latest default branch. And we found that it can be first reproduced on 0fff06175109 changeset. Could you please help have a look about this issue? Thanks in advance! Steps to Reproduce: 1.hg clone https://hg.libsdl.org/SDL D:\SDL\src 2.Open a VS 2017 x64 command prompt as admin and browse to D:\SDL 3.msbuild /p:Configuration=Release /p:Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17134.0 VisualC\SDL.sln /t:Rebuild Actual result: Creating library D:\SDL\src\VisualC\x64\Release\SDL2.lib and object D:\SDL\src\VisualC\x64\Release\SDL2.exp SDL_joystick.obj : error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex [D:\SDL\src\VisualC\SDL\SDL.vcxproj] D:\SDL\src\VisualC\x64\Release\SDL2.dll : fatal error LNK1120: 1 unresolved externals [D:\SDL\src\VisualC\SDL\SDL.vcxproj] Done Building Project "D:\SDL\src\VisualC\SDL\SDL.vcxproj" (Rebuild target(s)) -- FAILED.
Sam Lantinga 98ce0e50 2019-12-30T11:09:03 Removed unnecessary setlocale() on Mac https://github.com/signal11/hidapi/commit/240bad3b669ad4874c8aa2d68e18e82232d63e35
Sam Lantinga a9482a1d 2019-12-30T09:44:32 Added support for the Nintendo GameCube adapter, tested on Steam Link hardware
Michael Forney cdbeae52 2019-12-29T23:10:39 wayland: support wl_data_device_manager version < 3
Ozkan Sezer 9340cfa9 2019-12-27T23:01:10 SDL_x11events.c (X11_DispatchEvent): remove FIXME and use SDL_strtokr().
Ozkan Sezer ef3ca2cc 2019-12-23T19:55:10 Fix build error in SDL_render_metal.m (bug #4916.) Patch provided by Konrad. Error was introduced by commit 522164980828 for bug #4914.
Sylvain Becker 6d639fce 2019-12-23T16:47:00 SDL_ScaleMode: fix compilation GLES renderer
Ryan C. Gordon 131e13a7 2019-12-22T20:48:43 direct3d11: Always set vertex buffers when updating them (thanks, Konrad!). Fixes Bugzilla #4913.
Sam Lantinga 982f8a83 2019-12-22T13:56:50 Fixed bug 4910 - Missing joystick-driver type check in haptic meyraud705 On Linux and MacOS, some haptic system functions access joystick->hw_data without checking the driver type.
Sam Lantinga dd5987e8 2019-12-22T13:42:20 Fixed bug 4911 - Build broken when hidapi enabled meyraud705 SDL_hidapi.c is added twice to 'SOURCES' which causes "multiple definition error" when linking.
Sam Lantinga 5e19e66c 2019-12-22T13:39:44 Fixed bug 4914 - Expose SDL_ScaleMode and add SDL_SetTextureScaleMode/SDL_GetTextureScaleMode Konrad This was something rather trivial to add, but asked at least several times before (I did google about it as well). It should be possible to dynamically change scaling mode of the texture. It is actually trivial task, but until now it was only possible with a hint before creating a texture. I needed it for my game as well, so I took the liberty of writing it myself. This patch adds following functions: SDL_SetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode scaleMode); SDL_GetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode *scaleMode); That way you can change texture scaling on the fly.
Zack Middleton f0cee3ed 2019-12-22T13:15:11 Fix shutting down HIDAPI device with multiple joysticks Using Wii U GameCube USB adapter with multiple controllers attached and restarting SDL input in a game results in extra joysticks with NULL name. HIDAPI_CleanupDeviceDriver() shut down joysticks by iterating through device->num_joysticks but each HIDAPI_JoystickDisconnected() decreases device->num_joysticks and shifts joysticks array down. Resulting in only half of controllers being shutdown. It worked with only 1 controller attached though. Disconnect HIDAPI device joystick 0 until there are none left.
Sam Lantinga d000a592 2019-12-21T22:33:21 Fixed windows build
Sylvain Becker d004cc70 2019-12-21T22:40:33 Android: same way as in nativePause(), resume events are sent from SDL thread
Sylvain Becker 45a9b5fa 2019-12-21T21:18:02 Android: fix call of glFinish without context. Message in the log, when going to background: "call to OpenGL ES API with no current context (logged once per thread)" Because of SDL_WINDOWEVENT_MINIMIZED is sent from the Java Activity thread. It calls SDL_RendererEventWatch(), _WindowEvent() and glFinish() without context. Solution is to move sending of SDL_WINDOWEVENT_MINIMIZED to the SDL thread.
Cameron Gutman f21e1727 2019-12-20T22:25:49 Use IOHIDManagerRegisterDeviceRemovalCallback() to monitor for HID removal The function we currently use, IOHIDDeviceRegisterRemovalCallback(), often fails on Catalina with a "__CFRunLoopModeFindSourceForMachPort returned NULL" error message. Once a removal callback is missed, we will eventually crash when the joystick is closed attempting to use the invalid IOHIDDeviceRef. https://forums.developer.apple.com/thread/124444
Sam Lantinga f3a547d0 2019-12-20T21:40:28 Added support for the Hori Dragon Quest Slime Controller
Sam Lantinga 868551b1 2019-12-20T21:00:16 Fixed duplicate controller entries on Mac OS X when using libusb, due to the HID interface number not being available in the Mac OS X HID code.
Sam Lantinga 46e1377d 2019-12-20T20:12:03 Automatically assign player indexes to game controllers, and allow changing the player index for game controllers and joysticks. Added the functions SDL_JoystickFromPlayerIndex(), SDL_JoystickSetPlayerIndex(), SDL_GameControllerFromPlayerIndex(), and SDL_GameControllerSetPlayerIndex()
Sylvain Becker f050309e 2019-12-20T15:58:59 Android: fix IllegalStateException in onBackPressed() Rare exception, not catch-able, which appears when the activity gets in a broken state. java.lang.IllegalStateException: at android.app.FragmentManagerImpl.checkStateLoss (FragmentManagerImpl.java:1323) at android.app.FragmentManagerImpl.popBackStackImmediate (FragmentManagerImpl.java:493) at android.app.Activity.onBackPressed (Activity.java:2215) at org.libsdl.app.SDLActivity.onBackPressed (SDLActivity.java) at android.app.Activity.onKeyUp (Activity.java:2193) at android.view.KeyEvent.dispatch (KeyEvent.java:2685) at android.app.Activity.dispatchKeyEvent (Activity.java:2423) at org.libsdl.app.SDLActivity.dispatchKeyEvent (SDLActivity.java)
Ozkan Sezer 9996d1bb 2019-12-20T14:33:37 fix xcode project file permissions
Paul Cercueil 95d40e8a 2019-12-19T21:47:43 kmsdrm: Fix busy-loop within libc's dlopen() For some obscure reason, the order in which the libdrm/libgbm libraries are loaded matters. Without this fix, the first call to check_modesetting() will work and load then unload all symbols properly, but the second call to this function will lock up as soon as dlopen() is called on libdrm. Swapping the order in which the libdrm and libgbm libraries are loaded is enough to fix (or work around?) this issue. Fixes #4891: https://bugzilla.libsdl.org/show_bug.cgi?id=4891 Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Sam Lantinga 6b767872 2019-12-19T21:45:44 Make sure the Xbox 360 driver doesn't try to talk to the wireless controllers
Sam Lantinga 1db56619 2019-12-19T18:03:28 Fixed rare infinite rumble in HIDAPI controller driver
Sam Lantinga 25bd5070 2019-12-19T18:00:08 Fixed GameCube rumble
Sam Lantinga 202c966a 2019-12-19T16:14:22 Added support for the Nintendo GameCube Controller, using the Mayflash GameCube adapter.
Sam Lantinga 2481ab93 2019-12-19T15:58:16 Fixed compiler warning
Sam Lantinga c5024a18 2019-12-19T15:21:44 Backed out debug code
Sam Lantinga 20daf54f 2019-12-19T15:18:50 Added new HIDAPI driver files to the Xcode projects
Sam Lantinga 8d742d47 2019-12-19T15:12:36 Added new HIDAPI driver files to the Visual Studio project
Sam Lantinga fead0b24 2019-12-19T15:02:12 Added missing files from previous commits
Sam Lantinga e22e77da 2019-12-19T15:01:35 Added an untested driver for the Nintendo GameCube adapter, based on code contributed by Ethan Lee
Sam Lantinga 15d30298 2019-12-19T15:01:32 Added support for wireless Xbox 360 controllers using the HIDAPI driver
Sam Lantinga e7f7e3f4 2019-12-19T15:01:30 Refactored HIDAPI controller code to support dongles and hubs that dynamically attach controllers
Sylvain Becker 5d5a5671 2019-12-19T13:54:03 Fixed bug 4906 - Pressing Back button terminates app after SDL_StartTextInput
Sam Lantinga 4237b183 2019-12-19T04:31:00 Fixed compiler warning
Sam Lantinga 7b2826f6 2019-12-17T12:03:57 Added Android support for the Hyperkin X91 and the SteelSeries Stratus Duo
Sam Lantinga 52b6ab21 2019-12-16T17:11:23 Added support for the SteelSeries Stratus Duo
Sam Lantinga bc430d40 2019-12-16T10:26:36 Update for bug 4883 - Add approximation for display DPI on iOS Aaron Barany I realized I made a minor mistake in my patch: I changed the constructor prototype for SDL_DisplayData, but didn't update the declaration in the .h file. The compiler and linker don't complain, but it would probably be best to fix in case a later change runs into a problem from the mismatch. I have attached a patch to fix this.
Sam Lantinga a7ae9175 2019-12-16T10:20:03 Fixed bug 4898 - No rumble because of integer overflow in SDL_JoystickRumble meyraud705 On a Dualshock 4 controller using hidapi driver, calling SDL_JoystickRumble with a duration too long (SDL_HAPTIC_INFINITY for example) causes the rumble to stop immediately. This happens because of integer overflow on line 301 of SDL_hidapi_ps4.c (https://hg.libsdl.org/SDL/file/a3077169ad23/src/joystick/hidapi/SDL_hidapi_ps4.c#l301), which sets expiration time in the past.
Sam Lantinga 9f8009f2 2019-12-13T16:12:41 Added mappings for the Razer Serval on Windows and Mac OSX
Sam Lantinga cf9af481 2019-12-13T16:12:39 Added support for the 8Bitdo NES30 GamePad in wired mode
Sam Lantinga c2b6d6f9 2019-12-13T16:12:37 Enable the LED on PowerA Xbox One controllers
Sam Lantinga 511df4a5 2019-12-13T16:12:35 Added support for the BDA XB1 Spectra Pro
Sam Lantinga 55f8eabf 2019-12-13T16:12:33 Identified the BDA XB1 Classic Controller
Sam Lantinga 0352814a 2019-12-13T16:07:25 Added general remapping of controller manufacturer
Sam Lantinga b51d7f35 2019-12-13T16:07:22 Added support for the HORI PAD A