src/video


Log

Author Commit Date CI Message
Ethan Lee 282c0524 2021-04-08T14:59:04 wayland: Another strlen->SDL_strlen
Ethan Lee bec133d7 2021-04-08T14:16:32 wayland: Use SDL_strlen instead of strlen
Ethan Lee 875f839d 2021-04-08T14:14:46 wayland: A bunch of clipboard safety fixes. Also removed Wayland_get_data_device because it was a pointless getter function.
Ethan Lee 7510245a 2021-04-08T14:08:35 wayland: Create the data_device only after both device_manager and input exist. There is no guarantee on what order the Wayland interfaces will come in, but the callbacks were assuming that wl_data_device_manager would could before wl_seat. This would cause certain desktops to not have any data_device to work with, meaning certain features like the clipboard would silently no-op.
Ethan Lee e28d9785 2021-04-08T14:16:21 wayland: Minor whitespace cleanup in clipboard.c
Dean Herbert 89b62093 2021-04-01T14:17:53 Fix race condition that can lead to ENTER/LEAVE window events never firing On windows, when toggling the state of RelativeMode rapidly, there is a high chance that SDL_WINDOWEVENT_ENTER / SDL_WINDOWEVENT_LEAVE events will stop firing indefinitely. This aims to resolve that shortcoming by ensuring mouse focus state is correctly updated via WM_MOUSELEAVE events arriving via the windows event hook.
David Edmundson 6fd37194 2021-04-07T16:03:41 wayland: Fix leaked zxdg_decoration_manager
David Edmundson f6a09ef1 2021-04-07T16:16:23 wayland: Drop support for kwin specific decoration management KWin has supported the shared and formalised zxdg_decoration since Plasma 5.16 which came out mid 2019. Whilst it made sense to support them both for a while, it should not be needed for future SDL releases.
Ethan Lee a92cca1a 2021-04-07T16:44:10 wayland: Use the window's display to get wl_output rather than fullscreen_mode. Because Wayland only supports FULLSCREEN_DESKTOP, fullscreen_mode never gets assigned at all, meaning driverdata is always NULL! Depending on what the compositor does this can lead to dramatically different results. GNOME was fine without this, but Plasma would trip an event that unintentionally unset the fullscreen mode and caused the game to fire a configure event _every frame_, and of course the configure would send the fullscreen_mode output which was still empty. The fix is to just use the SDL_VideoDisplay directly, which will always have a valid wl_output.
Ethan Lee c7e29a9e 2021-04-06T18:10:40 wayland: Fix toggling fullscreen with fixed-size windows
Ozkan Sezer e97cfe4a 2021-04-06T23:56:10 KMSDRM_Vulkan_CreateSurface(): fixed pointer-cast warning on 32 bit Closes: https://github.com/libsdl-org/SDL/issues/4284
okuoku 8fa2ce56 2021-04-03T22:47:47 WinRT: Rename Interface ID symbols Rename locally-defined Interface ID symbols to avoid conflict with locally linked dxgi library. Prefixed with `SDL_` to match with other references in render_d3d11 or wasapi.
Nicholas "LB" Braden 3dbc4cf2 2021-03-30T17:49:51 Fix compilation error for Windows SDK 8.1+ https://docs.microsoft.com/en-us/windows/win32/api/shellscalingapi/ne-shellscalingapi-monitor_dpi_type
meyraud705 413a2306 2021-04-04T10:47:06 NULL passed to strcmp in Wayland_ShowMessageBox
Ryan C. Gordon 354cabd4 2021-04-03T18:15:50 egl: favor truecolor configurations. If app requested <= 16 color depth and there is a 24-bit config available, favor that. This fixes things that quietly expect to get truecolor output but don't request it (...like SDL's render api...) and things that are probably requesting 16-bit color as a fallback but expecting reasonable systems to give them full depth. Specifically, this fixes Life is Strange on Wayland, which uses the latter approach, and anything using SDL_Render on Wayland, which uses the former. Fixes #4056. Fixes #4132.
Ryan C. Gordon 4abe3446 2021-04-03T10:10:58 SDL_EGL_ChooseConfig: cleanups and minor optimizations. - Move an immutable condition out of a for loop. - Add a break statement to that loop when we find what we're looking for. - Add an assert to make sure we don't overflow a buffer. - Wrap a single-statement if block in braces. - Adjust some whitespace.
Ryan C. Gordon dbdbae44 2021-04-02T14:35:11 linux: (de)initialize d-bus at init and quit. Previously we had different subsystems quitting it, in conflict, and risked multiple threads racing to init it at the same time. Fixes #3643.
Vanfanel fa818834 2021-03-30T13:25:09 [KMSDRM] Fake refresh rate precision on Vulkan display mode creation.
Vanfanel 942aa7bd 2021-03-30T11:41:26 [KMSDRM] No need to use an SDL_VideoDisplay pointer to access display index.
Learath 033c0abb 2021-03-27T14:04:00 Use dispatch_async for -[NSOpenGLContext update]. Fixes #3680
Ethan Lee eeee7308 2021-03-29T16:57:03 wayland: Implement IME support. Note that this is purely to make it possible to enter text that requires composition - for example, before this commit Kanji input didn't work at all. The big problem this still has is that we need the window position, and this is still not implemented. Once we have this information we can do the equivalent of XTranslateCoordinates to put the rectangle where we want it.
vanfanel 733b3278 2021-03-29T19:22:26 [KMSDRM] Minor Vulkan code adjustments regarding pointers and display index.
Vanfanel 9de7eaf9 2021-03-28T01:30:26 [KMSDRM] Change error message.
Vanfanel 1ec60a38 2021-03-27T23:52:51 [KMSDRM] Remove unnecessary space.
Vanfanel c13c3c37 2021-03-27T22:50:18 [KMSDRM] For Vulkan, use a mode with the same exact size as the window, if possible, or create a new one.
Ethan Lee 07ba13b7 2021-03-26T00:40:05 wayland: Pass --no-wrap to Zenity. There seems to be a bug where it can wrap the text based on the minimum possible window size, which can be worked around with --no-wrap. This technically uncaps the width entirely, but this isn't wildly different from what other backends do.
Ethan Lee 54719a9d 2021-03-25T23:58:12 wayland: Assign output_len in ShowMessageBox
Ethan Lee 27b74d33 2021-03-25T23:25:34 Implement Wayland_ShowMessageBox using Zenity
Ozkan Sezer 5262b52d 2021-03-25T23:56:56 SDL_kmsdrmvideo.c: define EGL_PLATFORM_GBM_MESA if it's missing. Fixes: https://github.com/libsdl-org/SDL/issues/4232
vanfanel 5ac6bd54 2021-03-24T02:54:36 [KMSDRM] Ask for videomode on the correct display when creating a window.
Paul Cercueil c12f46b1 2021-03-22T19:03:25 [KMSDRM] Fix segmentation fault Deference the windata pointer *after* checking that it's non-NULL. Signed-off-by: Paul Cercueil <paul@crapouillou.net>
vanfanel 100166d7 2021-03-22T18:00:41 [KMSDRM] Improve cursor management.
vanfanel cf7eef37 2021-03-19T04:25:40 [KMSDRM] Better error handling: no more segfaults on window creation failure.
Vanfanel 4acd1dca 2021-03-18T14:04:38 [KMSDRM] Improve the way to test if last window is being destroyed.
Vanfanel 8638674a 2021-03-18T13:55:58 [KMSDRM] Correct comment typo.
vanfanel 82ff6045 2021-03-18T12:02:54 [KMSDRM] Unload GL/EGL libs and destroy GBM only when we are destroying the last window.
vanfanel c35e7189 2021-03-18T11:47:23 [KMSDRM] All non-vulkan windows have to be marked as OPENGL, not only the first created one.
vanfanel 281a7bdb 2021-03-18T11:20:18 [KMSDRM] Make the gbm_init flag a viddata member to avoid GBM re-init when several displays are connected.
Vanfanel 7d1b9c9f 2021-03-17T14:40:41 [KMSDRM] Remove unneeded function calls and improve comments for future reference.
Sam Lantinga d84df04f 2021-03-15T09:00:15 Merge commit '51345623e888d7bc4131cd8f015c339f757ea68a' into main
Haelwenn (lanodan) Monnier 9996cecc 2021-03-15T05:26:46 Set ALT_OGL to libOpenGL.so.0 instead of libOpenGL.so.1
Cacodemon345 5f7eb88a 2021-03-14T22:36:20 Load libOpenGL.so.1 if libGL.so.1 is not found
kenmays 72bcf546 2021-03-10T16:47:08 SDL: Updated patches for HAIKU
Sylvain Becker 3d22731d 2021-03-11T20:10:07 Merge pull request #4175 from 1bsyl/br_blit_rgb555_to_rb1555 Fixed bug 3727 - Blit from RGB555 to ARGB1555
Sylvain 51345623 2021-03-11T20:06:09 Fixed bug 3727 - Blit from RGB555 to ARGB1555
Ivan Epifanov 33127271 2021-03-09T11:40:35 Fix typecasting
Ivan Epifanov a4ddb175 2021-03-08T19:28:58 Formatting
Ivan Epifanov 4f9fde87 2021-03-08T19:20:33 Fix types
Ivan Epifanov e1d9cbf6 2021-03-07T13:56:38 Split mouse/kb grab
uyjulian 29153a1c 2021-02-28T14:38:55 SDL_vitamessagebox: rearrange if/else Set messageboxdata and buttonid as unused variables
uyjulian 70a19fd5 2021-02-28T13:59:51 SDL_vitamessagebox: if/else wrap preprocessor condition instead of two if conditions
uyjulian c8abc88c 2021-01-29T01:26:35 Add support for message box
Ivan Epifanov 3c1fe9ce 2021-02-12T23:46:01 WTF
Ivan Epifanov 6fab3323 2021-02-12T23:45:48 Typo
uyjulian b52e9459 2021-01-29T01:26:13 Add support for open URL
Ivan Epifanov 23db5381 2021-01-11T23:54:56 Fix defines
Ivan Epifanov e56c4451 2021-01-10T00:12:03 Disable native framebuffer support
Ivan Epifanov 5e30d84b 2021-01-09T23:33:32 Fix display mode
Ivan Epifanov 10038228 2021-01-09T23:33:14 Properly cleanup framebuffer
Ivan Epifanov 953101de 2021-01-09T22:55:11 Oops. Fix default framebuffer color
Ivan Epifanov 1e2eed1a 2020-12-28T15:32:52 Native framebuffer for software renderer
Ivan Epifanov a7269a9a 2020-12-23T17:27:01 Update video api to 2.0.14
Ivan Epifanov ca5e5d61 2020-12-18T16:34:24 VITASDK compatibility
Ivan Epifanov 7d89f09f 2020-12-18T14:28:09 ISO C90 fixes
Ivan Epifanov 0da35d3d 2020-12-12T23:47:15 IME support with gxm backend
Ivan Epifanov 943053a9 2020-12-09T01:50:49 Clean up touch a little more
Ivan Epifanov f61b9e76 2020-12-09T00:37:46 Cleanup touch. Fix back touchscreen
Ivan Epifanov bd14aa63 2020-11-21T23:09:30 Autobuild
Ivan Epifanov ef0bbfd6 2020-11-16T20:40:22 Include anf fix vita2d renderer
Ivan Epifanov dbb730d3 2020-11-14T23:37:26 Separate vita piglet renderer. Add proper render initialization and window re-creation.
Ivan Epifanov 2d64e37e 2020-11-02T18:09:43 Initial rebase of xerpi's port
Cameron Cawley 391bb80b 2021-03-05T16:53:06 Replace duplicate functions and lstrlen/lstrcat with SDL string functions
Ozkan Sezer dd5aff30 2021-03-04T18:27:56 SDL_fillrect.c: updated SSE_BEGIN macro for windows clang-cl from a patchset by Vladislav Dmitrievich Turbanov: https://github.com/libsdl-org/SDL/pull/4062
Sylvain e88d7846 2021-03-04T14:36:33 Update SDL_blit_auto.c
Sylvain ab0cf42a 2021-03-04T14:33:56 Software nearest scaling: start at the middle of pixel so that it matches opengl GL_NEAREST mode most of the time
Ethan Lee 57a927e8 2021-02-12T14:27:58 wayland: Explicitly set min/max size for xdg-shell
Cacodemon345 33598563 2021-02-26T23:21:25 Fix coding style
Cacodemon345 69a600b0 2021-02-26T22:24:48 Implement requested changes
Cacodemon345 0e35f0be 2021-02-26T21:43:36 Fix KMSDRM-related warnings
Cameron Gutman dfa64ead 2021-02-25T19:22:31 KMSDRM: Add hint to enable the backend without DRM master In some cases, it can be useful to have the KMSDRM backend even if it cannot be used for rendering. An app may want to use SDL for input processing while using another rendering API (such as an MMAL overlay on Raspberry Pi) or using its own code to render to DRM overlays that SDL doesn't support. This also moves the check for DRM master to an earlier point where we can fail initialization of the backend, rather than allowing the backend to initialize then failing the creation of a window later.
Cameron Gutman 8c5b7af2 2021-02-25T19:30:47 Wayland: Fix mouse pointer hiding on Plasma Wayland Unlike Mutter and Sway, KWin actually checks the serial passed in wl_pointer_set_cursor(). The serial provided is supposed to be the serial of the pointer enter event, but We were always passing 0. This caused KWin to drop our requests to hide the cursor. Thanks to the KDE folks for spotting this in my debug logs. Fixes #3576
Cacodemon345 d2d834b9 2021-02-25T15:21:59 KMSDRM: Add gamma support
Ozkan Sezer 72f7a10c 2021-02-25T19:40:28 disable pixman ARM blitters for __aarch64__ | _M_ARM64 Closes: https://github.com/libsdl-org/SDL/issues/4095
Mathieu Eyraud 8481229f 2021-02-22T15:00:52 Fix error handling in KMSDRM_AddDisplay Add missing `goto cleanup` and check that `dispdata` is not NULL before dereferencing it.
Mathieu Eyraud 2df9c15e 2021-02-22T14:51:42 Fix memory leak in KMSDRM_Vulkan_CreateSurface Variable `device_props` is never freed.
Vanfanel 11cb53d2 2021-02-21T23:28:49 [KMSDRM] Add missing break and modify comments.
Vanfanel 9172e413 2021-02-21T22:57:22 [KMSDRM] Fix intermitent bug in Vulkan initialization on Raspberry Pi 4.
Jay 0052339b 2021-02-20T19:53:44 Move handleURLEvent setEventHandler to init
Vanfanel e4a81a98 2021-02-17T12:06:29 [KMSDRM] Correct indentation.
Alex Szpakowski 9b9d0d48 2021-02-15T11:49:09 mac/iOS: allow Metal in windows created without an explicit backend Fixes SDL_CreateWindowAndRenderer (and similar situations) not choosing a Metal backend. See #3991. Passing an explicit backend into CreateWindow, eg SDL_WINDOW_OPENGL or SDL_WINDOW_METAL, will still prevent the window from being used with other backend types.
Stephan Vedder fa367cdd 2020-11-24T10:56:50 emscripten: Fix alt key being a nav key
Charlie Birks edaf3f9c 2020-04-21T15:02:06 emscripten: Extend the "nav key" blacklist Add the F keys and Ctrl/Alt+*. Consistent with other naviagtion disabling. Also, none of these generate keypress events anyway.
Ethan Lee a99eec77 2021-02-12T14:31:43 wayland: Minor whitespace fix
Ryan C. Gordon 65fbf36c 2021-02-12T14:46:49 Cleaned up a few more Bugzilla mentions.
Jay Petacat f443a6fc 2021-02-11T02:05:02 Fix format string warnings for width-based integers The DJGPP compiler emits many warnings for conflicts between print format specifiers and argument types. To fix the warnings, I added `SDL_PRIx32` macros for use with `Sint32` and `Uint32` types. The macros alias those found in <inttypes.h> or fallback to a reasonable default. As an alternative, print arguments could be cast to plain old integers. I opted slightly for the current solution as it felt more technically correct, despite making the format strings more verbose.
Ethan Lee cad67082 2021-02-04T19:04:56 wayland: Check for both _WAYLAND_CLIENT_H and WAYLAND_CLIENT_H
Sam Lantinga 629334f2 2021-02-09T15:02:55 Fixed bug 5543 - Wayland: Fix waylandvideo.h warnings wahil1976 This patch fixes the warnings seen when compiling the Wayland backend. This will also be required in the future to avoid issues with compilation.
Sam Lantinga d9ba2044 2021-02-08T16:55:01 Backed out changeset 852a7bdbdf4b This causes a use-after-free memory error
Christian Rauch 4183211a 2021-02-08T16:01:37 free the 'display' after it was added to global list
Manuel Alfayate Corchete 005e2c59 2021-02-09T00:57:25 [KMS/DRM] Bugfix number #5535: Improve reliability, by wahil1976.