src


Log

Author Commit Date CI Message
Ryan C. Gordon 57e3003d 2020-10-05T15:47:47 url: Attempt at WinRT support.
Ryan C. Gordon 566479c8 2020-10-05T15:37:37 url: ShellExecuteW returns an HINSTANCE, so deal with that more correctly.
Ryan C. Gordon ee56090d 2020-10-05T15:03:44 url: Cleanups and compiler warning fixes.
Ryan C. Gordon cc158f29 2020-10-05T14:36:37 url: removed "extern" from function declaration.
Ryan C. Gordon a3802cc5 2020-10-05T14:30:33 url: Patched to compile on C89 compilers.
Ryan C. Gordon 0099e38a 2020-10-05T14:21:03 url: More win32 fixes.
Ryan C. Gordon 1f4fecc5 2020-10-05T14:07:32 url: Patched to compile on Windows.
Ryan C. Gordon 777d0f19 2020-10-05T14:06:25 url: patched to compile on macOS.
Ryan C. Gordon d068d05a 2020-10-05T14:01:08 url: Make sure Haiku's C++ implementation is flagged as 'extern "C"'
Ryan C. Gordon bf9fcb53 2020-10-05T14:00:08 url: The function is "SDL_Unsupported" not "SDL_Unimplemented"
Ryan C. Gordon 2d82cf78 2020-10-05T13:59:03 url: put the Android bits in core/android
Ryan C. Gordon efd665e2 2020-10-05T13:56:45 Backed out changeset a43cb4e54949 Trying this a different way.
Ryan C. Gordon 913aa610 2020-10-05T13:53:15 url: Include SDL_misc.h to get public function declaration.
Ryan C. Gordon 5f688122 2020-10-05T13:52:52 url: patched to compile on Android.
Ryan C. Gordon 84f1b950 2020-10-05T13:39:39 url: fixed wrong include.
Ryan C. Gordon 77c9d73b 2020-10-05T11:30:33 Removed SDL_AndroidOpenURL, added SDL_OpenURL. Still needs to be wired into Xcode and Visual Studio projects.
Sylvain Becker cd6670bf 2020-10-02T10:48:27 SDL_Surface refcount: fix memory leak when blitting between stack'ed surfaces (see bug 5226)
Ozkan Sezer 883509fc 2020-10-01T17:01:00 ran gendynapi.pl after new (android-only) api additions.
Sylvain Becker dd55bfe8 2020-10-01T14:41:09 Android: add helper function to open an URL/URI (see bug 2783)
Sam Lantinga 45c644cc 2020-09-28T21:19:45 Added support for the MOGA XP5-X Plus
Manuel Alfayate Corchete 78c274cb 2020-09-26T19:18:09 kmsdrm: merge patches from Ozkan Sezer for removing c-99'isms and raising libgbm version reqeriments.
Sylvain Becker 955f3184 2020-09-25T10:14:42 Fixed bug 5239 - Play audio on Android while backgrounded (Thanks Superfury) Add hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO not to pause audio when the app goes to background. (It requires SDL_ANDROID_BLOCK_ON_PAUSE as "Non blocking")
Ryan C. Gordon 7ef188a1 2020-09-19T14:01:57 jack: Fixed memory leak on device close.
Manuel Alfayate Corchete 9c342e76 2020-09-13T21:41:10 kmsdrm: merge heap buffer overflow and cursor creation patches from meyraud705.
Manuel Alfayate Corchete 0cb9bfa5 2020-09-12T15:58:47 kmsdrm: less excessive error checkhing
Manuel Alfayate Corchete 5bed30dd 2020-09-12T04:56:55 kmsdrm: also do pending modeseting in SwapWindowDoubleBuffered().
Manuel Alfayate Corchete 9e9227ad 2020-09-12T04:52:56 kmsdrm: reimplement modesetting for fullscreen window scaling and AR-correction.
Manuel Alfayate Corchete 4575c694 2020-09-12T02:36:02 kmsdrm: delete ununsed variable.
Manuel Alfayate Corchete 01b0cf1c 2020-09-12T00:47:00 Backed out changeset 4a45d1a30d25 kmsdrm: Fake KMSDRM_SetDisplayMode() is needed for some programs after all.
Manuel Alfayate Corchete 7b676548 2020-09-12T00:16:08 kmsdrm: don't fool SDL into thinking that changing the physical videomode is done.
Manuel Alfayate Corchete a6d182d3 2020-09-11T23:47:26 kmsdrm: no need to reconnect/reactivate things in SwapWindowDoubleBuffered().
Manuel Alfayate Corchete 47e2d030 2020-09-10T23:26:02 kmsdrm: greatly improve comments in SwapBuffersFenced() for future reference.
Ryan C. Gordon 3c6004fe 2020-09-10T15:07:23 kmsdrm: Choose how to swap buffers based on EGL extension availability.
Ryan C. Gordon c7e761f8 2020-09-10T15:05:55 kmsdrm: Patched to compile if EGL headers lack EGL_ANDROID_native_fence_sync.
Ryan C. Gordon 224aa45b 2020-09-10T15:04:35 kmsdrm: Implement GL_DefaultProfileConfig for Raspberry Pi compatibility. If we think this might be a Raspberry Pi device, default to ES2. Otherwise, accept SDL's higher-level defaults.
Ryan C. Gordon 092162ed 2020-09-10T15:02:51 video: Set up default before calling GL_DefaultProfileConfig(). This way, the implementation can opt to do nothing to accept SDL's defaults.
Ryan C. Gordon e758dd53 2020-09-10T15:02:00 egl: Make SDL_EGL_HasExtension() available outside of SDL_egl.c.
Manuel Alfayate Corchete 055cad49 2020-09-10T02:15:53 kmsdrm: no need to re-connect/reactivate things in SwapWindow() anymore because we use a dumb buffer on KMS buffers destruction now.
Manuel Alfayate Corchete 351219bf 2020-09-09T03:18:26 kmsdrm: On VideoQuit(), only destroy dumb buffer if it exists.
Sam Lantinga 8709f67e 2020-09-08T08:42:30 Fixed bug 5215 - Fixing filenames passed to dlopen for OpenBSD Brad Smith Attached is a patch to use the proper filenames when trying to dlopen the respective shared libraries on OpenBSD.
Manuel Alfayate Corchete 244d0ad8 2020-09-08T15:30:45 kmsdrm: Tell SDL that mouse has entered the window via artificial event. Fixes sticky mouse in Scummvm.
Cameron Gutman 9a769da0 2020-09-07T20:10:50 X11: Remove our X11 error callback in X11_DeleteDevice() If we don't remove it, we will infinitely recurse if X11_CreateDevice() is called again and orig_x11_errhandler becomes X11_SafetyNetErrHandler().
Manuel Alfayate Corchete 550e1533 2020-09-08T02:42:32 kmsdrm: No need to test for display driverdata when freeing a plane.
Manuel Alfayate Corchete 6e03fab9 2020-09-07T23:15:33 kmsdrm: add temporary RPI4_COMPAT define to try RPI4+current Rasbian compatibility.
Manuel Alfayate Corchete 0f807fd6 2020-09-07T22:54:15 kmsdrm: use a black dumb buffer for keeping the PRIMARY PLANE occupied when we destroy the KMS buffers, instead of using the TTY buffer, to avoid flickering.
Sylvain Becker 4d1c2a18 2020-09-07T19:00:21 Fix false compiler warning: initialize the variable 'memdiff'
Sylvain Becker ebc12a2f 2020-09-07T18:50:30 SDL_Surface refcount: destination surface keep track of surfaces that are mapped to it and automatically invalidate them when it is freed - refcount is kept so that an external application can still create a reference to SDL_Surface. - lock_data was un-used and is now renamed and used as a list keep track of the blitmap
Manuel Alfayate Corchete cce6c605 2020-09-07T01:33:04 kmsdrm: fix errors when trying to free up videomode driverdata pointers on quit.
Manuel Alfayate Corchete 9501b1c6 2020-09-07T00:18:13 kmsdrm: fix scaling for SDL_WINDOW_FULLSCREEN windows.
Manuel Alfayate Corchete daa752b1 2020-09-06T23:19:54 kmsdrm: fix first frame display: no need to wait for SwapWindow() for EGL surface creation.
Manuel Alfayate Corchete 68ac9349 2020-09-06T12:48:39 kmsdrm: more coherent returns for SwapWindow.
Manuel Alfayate Corchete d3d9d432 2020-09-06T12:17:27 kmsdrm: Remove debug printfs in SwapWindow.
Manuel Alfayate Corchete d7aebbd5 2020-09-06T12:08:22 kmsdrm: Don't create surfaces until EGL context is available.
Cameron Gutman 1b6de9a9 2020-09-05T15:01:45 Fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH=1 on Metal windows SDL_cocoametalview was consuming the first click rather than passing it through to the SDLView underneath which overrides [NSView acceptsFirstMouse] based on the user's SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH preference.
Sylvain Becker 97fad045 2020-09-02T19:38:03 Fixed bug 5278 - export SDL_AndroidRequestPermission() (Thanks Huki!)
Manuel Alfayate Corchete f4e02a5c 2020-08-31T19:17:17 kmsdrm: Do NOT modify window size manually from the backend: doing so caused renderer scaling params miscalculation.
Manuel Alfayate Corchete c09d1cee 2020-08-28T23:04:00 kmsdrm: Apply window reconfiguration in SetWindowSize(), too.
Manuel Alfayate Corchete 31b17945 2020-08-28T22:38:26 kmsdrm: use PLANE and CRTC to do hardware-driven window scaling and AR-correction.
Manuel Alfayate Corchete fe3f9796 2020-08-26T01:37:30 kmsdrm: unload EGL and GL lib only if using them.
Manuel Alfayate Corchete 9b43464d 2020-08-25T16:30:23 kmsdrm: Add programmer credits to the Atomic KMSDRM driver.
Manuel Alfayate Corchete 9316a8d9 2020-08-25T16:18:49 kmsdrm: move FENCE FD props setting to SwapWindow(), where it belongs.
Manuel Alfayate Corchete 3f38009b 2020-08-25T15:40:36 kmsdrm: comment out atomic commit fast-debugging printf.
Manuel Alfayate Corchete 0d16761c 2020-08-25T05:53:13 kmsdrm: fix segfault on quit beacuse of freed _this->egl_data.
Manuel Alfayate Corchete d43e666e 2020-08-25T04:05:36 kmsdrm: Buffer management refactoring. Fixes for compatibility with more video drivers.
Manuel Alfayate Corchete eade05ca 2020-08-24T12:51:20 kmsdrm: Finetune integer type usage. Add some comments.
Manuel Alfayate Corchete a76f1763 2020-08-24T01:10:11 kmsdrm: Move cursor plane setup and freeing to MouseInit() and MouseQuit(), for better consistency.
Manuel Alfayate Corchete 0d593d7e 2020-08-23T23:44:07 kmsdrm: Add error control to plane prop setting function. Do most plane prop setting with a single function.
Manuel Alfayate Corchete e06e9c35 2020-08-23T11:26:55 kmsdrm: move cursor-related atomic helper functions and related struct typedefs to the SDL_kmsdrmmouse unit.
Manuel Alfayate Corchete 0b7b7721 2020-08-23T03:13:50 kmsdrm: remove redundant function, use drm_atomic_setbuffers() for disconnecting planes instead.
Manuel Alfayate Corchete 16c04f26 2020-08-23T02:58:57 kmsdrm: Init cursor surface on SetCursor() ONLY. Removal of dynamic modeset because it causes A LOT of problems with some kernel video drivers. Some refactoring and cleanups.
Manuel Alfayate Corchete 0d0ba111 2020-08-19T01:34:56 kmsdrm: correct parameter name.
Manuel Alfayate Corchete 5d32eda9 2020-08-19T01:31:22 kmsdrm: implement smarter surface recreation function to be used in videomode changes. Other minor arrangements.
Manuel Alfayate Corchete f79da817 2020-08-18T01:52:15 kmsdrm: free all connector, crtc and plane memory on KMSDRM_VideoQuit().
Sylvain Becker 965b466e 2020-08-17T19:50:20 Fixed bug 4297 - Android StrictMode policy. Remove APK expansion support "In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play" (see https://developer.android.com/guide/app-bundle) And "Android App Bundles don't support APK expansion (*.obb) files".
Manuel Alfayate Corchete 92cb9192 2020-08-17T18:35:04 kmsdrm: move hardware cursor functionality to the ATOMIC interface. Disconnect the display plane from the GBM surface buffers before destroying the GBM surface.
Ryan C. Gordon a720d1a2 2020-08-09T00:55:39 render: fixes to how we convert touch events for logical scaling. We now handle HiDPI correctly, and touches are clamped to the viewport. So if you are rendering to a logical 640x480 in a 720p window, and touch the letterboxing at point (640,700), it will report the touch at (0.5,1.0) instead of outside the documented range.
Manuel Alfayate Corchete c437729b 2020-08-08T14:27:55 kmsdrm: separate requests in different functions so we only need one atomic commit for everything, as expected by atomic design.
Manuel Alfayate Corchete 3b9f1073 2020-08-07T11:53:04 kmsdrm: wait for possible pending atomic commits before destroying surfaces, and before restoring video on quit. Move messages to the SDL_Log* functions.
Manuel Alfayate Corchete 96c99693 2020-08-06T01:36:56 kmsdrm: wait for pending atomic commits before restoring videomode and crtc->buffer on VideoQuit, and simplify double-buffer SwapWindow() implementation.
Manuel Alfayate Corchete 09692b61 2020-08-05T18:55:22 kmsdrm: move videomode restoration on VideoQuit() to using the atomic interface instead of the legacy drmModeSetCrtc() function. Refactoring of get_plane_id().
Manuel Alfayate Corchete fc722b2d 2020-08-05T15:28:51 kmsdrm: free memory for plane, crtc and connector property tables on VideoQuit.
Manuel Alfayate Corchete 2d69ce08 2020-08-05T02:06:59 kmsdrm: double and triple buffered versions of SwapWindow() are now both reimplemented in atomic pageflipping versions, and can be selected via SDL_VIDEO_DOUBLE_BUFFER env variable.
Manuel Alfayate Corchete 8996ee17 2020-08-03T22:24:49 kmsdrm: update SwapWindow fn, moving it to triple-buffer.
Ryan C. Gordon ea171c05 2020-08-01T18:58:42 winrt: Another attempt at getting this to compile. IntPtr isn't a POD type like I thought, so hopefully we can just construct one that works out? C++/CX is so weird.
Manuel Alfayate Corchete b131661c 2020-08-01T18:23:34 kmsdrm: rewrite the new SwapWindow() fn to avoid tearing. Double-buffer only for now.
Ryan C. Gordon 282e4c65 2020-07-31T19:42:23 winrt: Patched to compile...? Microsoft's C++/CX is weird, no idea if this will actually fix it. :/
Manuel Alfayate Corchete 1a5503ce 2020-07-28T21:11:25 kmsdrm: Moved to the ATOMIC KMS/DRM interface for buffer swapping, leaving DRM-legacy behind.
Ryan C. Gordon e410b34f 2020-07-24T22:24:03 stdlib: Corrected implementation of SDL_wcsncmp. It was a copy/paste of SDL_strcmp, apparently, not SDL_strncmp, so it ignored the maxlen parameter. Thanks to Jack Powell for pointing this out!
Kai Krakow c3ecf18c 2020-07-21T23:38:42 Linux: Add hint for disabling deadzones
Tudor Brindus c0943328 2020-07-21T13:14:24 wayland: defer pointer confine creation until pointer unlock It is a protocol error to attempt to create a pointer confine (i.e. `SDL_SetWindowGrab`) while a locked pointer is active, and vice-versa. Instead of aborting due to a protocol error, this commit makes SDL gracefully downgrade locked pointers to confines when appropriate.
RALOVICH, Kristof c7eb557d 2020-07-20T10:09:07 kmsdrm: do not leak drmModeConnector Previously conn was leaked on the success path (when available was set to SDL_TRUE).
Manuel Alfayate Corchete 412b21b0 2020-07-20T11:42:23 Rename the gbm device struct from gbm to gbm_dev for better readabilty.
RALOVICH, Kristof 155fdc7a 2020-07-19T21:48:17 kmsdrm: settle with first card that has a connected connector Previously the first card with non-empty connectors, encoders and crtcs would be selected, however KMSDRM_VideoInit could still reject it if the connector was not connected. This allow finding the first card (in a multi GPU setup) that is actually connected to a display.
RALOVICH, Kristof b78b88f7 2020-07-19T21:46:41 kmsdrm: fix typo
Manuel Alfayate Corchete 75fe4b14 2020-07-19T19:53:57 Added comment about window creation behaviour in KMSDRM.
Manuel Alfayate Corchete 2f660c4f 2020-07-19T19:11:02 Delete windata variable no longer needed in KMSDR_SetDisplayMode().
Manuel Alfayate Corchete 3a1d7d9c 2020-07-19T19:09:15 Surfaces have to be recreated immediately from KMSDRM_SetDisplayMode().
Manuel Alfayate Corchete b6a818b6 2020-07-19T18:45:29 Fix SDL_Window recreation: drmModeSetCrtc() has to be called everytime the EGL and GBM surfaces are recreated.
Sam Lantinga 71e9df99 2020-07-19T08:55:01 Fixed bug 5231 - Fix for hardware cursor: size and alpha-premultiplication. Manuel Alfayate Corchete I noticed pt2-clone had problems with it's optional hardware mouse on the KMSDRM backend: cursor had a transparent block around it. So I was investigating and it seems that a GBM cursor needs it's pixels to be alpha-premultiplied instead of straight-alpha. A lso, I was previously relying on "manual testing" for the cursor size, but it's far better to use whatever the DRM driver recommends via drmGetCap(): any working driver should make a size recommendation via drmGetCap(), so that's what we use now. I took this decision because I found out that the AMDGPU driver reported working cursor sizes that would appear garbled on screen, and only the recommended cursor size works.
Ryan C. Gordon b7a4fdd3 2020-07-17T11:16:35 metal: Make sure we have a command buffer available before trying to present. This fixes a case where you render to the backbuffer, then render to a render target, set the current target back to the backbuffer, and then present without drawing anything else; in this circumstance, the Present command would never happen. Fixes Bugzilla #5011.