kc3-lang/SDL/src/video

Branch :


Log

Author Commit Date CI Message
8c542a35 2022-03-29 19:08:56 Desktop OpenGL 1.X/2.X PSVita Support
7e15ad2f 2022-03-30 14:15:52 x11: Catch X11 errors in X11_SetWindowPosition and X11_SetWindowSize. The functions can go south if other operations are in progress, like X11_SetWindowBordered, which might be doing something traumatic behind the scenes of the window manager. We can't make these tasks totally synchronous, which would fix the problem, because not only can the window manager block however long it wants, it might also decide to deny our requests without any notification, so we'd be waiting forever for a window change that isn't coming. :( Fixes #5274.
4d1905c9 2022-03-29 13:34:14 video: wayland: Use viewports for non-fullscreen windows with fractional scaling Use viewports for non-fullscreen windows when the desktop uses fractional scaling and the window is flagged as DPI-aware to provide a backbuffer mapped as close to 1:1 output as possible. In the cases of odd window sizes the backbuffer may be a pixel off of scaling perfectly into the window size due to its scaled size being rounded off, but a minute amount of scaling during output is likely preferable to the large amounts of overdraw needed with integer scaled buffers.
fa4c5198 2022-03-28 21:32:30 video: wayland: Expose more resolutions for mode emulation Expose as many emulated display modes as possible. They will currently display stretched to the display's native desktop aspect, but if an application requires a hardcoded resolution, it will work at minimum. Aside from the change in the emulated display mode list, the Wayland event handling code had to be updated to support separate scaling for the x and y axes, as square pixels are no longer guaranteed.
d875416a 2022-03-28 15:32:30 wayland: Minor fix for old compilers
4d76c9cb 2022-03-25 20:35:07 video: wayland: Use wp-viewporter for fullscreen with non-native resolutions Wayland doesn't support mode switching, however Wayland compositors can support the wp_viewporter protocol, which allows for the mapping of arbitrarily sized buffer regions to output surfaces. Use this functionality, when available, for fullscreen output when using non-native display modes and/or when dealing with scaled desktops, which can incur significant overdraw without this extension. This also allows for the exposure of arbitrarily sized, emulated display modes, which can be useful for legacy compatability.
713a6754 2022-03-26 22:26:15 wayland: Relax the check for mismatching output scales
5655be15 2022-03-26 19:57:39 wayland: Avoid overwriting xdg_output position with wl_output position
40417b18 2022-03-26 19:55:04 wayland: Work around a GNOME xdg_output scaling issue
7a1c45bd 2022-03-25 12:51:38 wayland: Optimize keyboard_handle_modifiers. 1. Mod index values are (mostly) constant, so can be done with xkb_state_new 2. Mods can change without the group changing, avoid remap events if possible Lastly, as a bonus, I added braces to the locale check, because I was nearby.
bf38fd46 2022-03-25 11:52:50 YUV: fix invalid read on last line when converting from SDL_PIXELFORMAT_YUY2 (see bug #4841)
2891f082 2022-03-25 02:49:49 wayland: Use xkb_keymap_mod to set mod state
6d9ca926 2022-03-25 01:36:39 wayland: Enforce text capitalization manually, for remapped keymods
a75c6150 2022-03-25 01:33:40 wayland: Add an xkb_keysym_t->SDL_Keycode mapping for backspace
ab74b6a3 2022-03-24 15:34:29 wayland: Remove some now-redundant casts
ee52ad08 2022-03-24 15:32:25 wayland: Minor fixes for old compilers
b4d28085 2022-03-24 18:30:32 wayland: Don't overwrite error message from SDL_EGL_CreateSurface SDL_EGL_CreateSurface sets a more specific error message, so overwriting it would lose information. Signed-off-by: Simon McVittie <smcv@collabora.com>
d5bbbd3f 2022-03-24 18:23:35 Avoid depending on libwayland 1.20 unnecessarily When using shared linking (linking in the normal way with -lwayland-client) rather than loading Wayland libraries dynamically at runtime, listing symbols that don't exist in the current version results in a build failure. We don't actually call wl_proxy_marshal_flags() or wl_proxy_marshal_array_flags() directly; the reason we need them is that they're called by the code generated by wayland-scanner >= 1.20. If we're building against an older Wayland library, then we'll have its corresponding version of wayland-scanner (mismatched versions are not supported), so we won't need those two symbols, and can avoid generating a dependency on them. Conversely, if we're building against a newer Wayland library, the generated code will call them unconditionally, so we cannot treat them as optional and gracefully fall back: that would result in a crash. Instead, treat them as a mandatory part of the Wayland library, so that if they are not found at runtime, we can fall back to X11 without crashing. libwayland 1.18 is in several LTS distributions (Ubuntu 20.04, Debian 11, RHEL 8) so avoiding a hard dependency on 1.20 is quite useful. Signed-off-by: Simon McVittie <smcv@collabora.com> Resolves: https://github.com/libsdl-org/SDL/issues/5376
d597a9b4 2022-03-24 14:25:00 x11: Minor cleanups and corrections in X11_ShowMessageBox. Reference issue #3254.
6c56193a 2022-03-24 18:09:45 Fixed bug #1650: X11 doesn't set KMOD_NUM and KMOD_CAPS to system state
4fe7b2cb 2022-03-24 11:00:43 static analysis: Fixed several complaints from codechecker. There are still some pending Objective-C specific issues. Reference issue #4600.
0dae35bf 2022-03-19 15:58:47 video: wayland: Use xdg-output for retrieving the desktop dimensions Using wl-output to get the desktop display dimensions and dividing by the integer scale factor will not return the correct result when using a desktop with fractional scaling (e.g. a 3840x2160 display at 150% will incorrectly report the scaled desktop area as 1920x1080 instead of 2560x1440). Use the xdg-output protocol, if available, to retrieve the correct desktop dimensions and offset. Versions 1 through 3 of the protocol are supported.
9125b244 2022-03-23 13:46:25 wayland: Basic support for zwp_tablet_*v2 protocol
13337e17 2022-03-23 13:27:01 wayland: The rest of the wayland-client 1.18 requirement... Git, please
f5a98044 2022-03-23 10:13:56 Android: add SetWindowResizable() implementation - which also enable/disable the orientation lock status. This is only provided when the window is not SDL_WINDOW_FULLSCREEN (see SDL_video.c). Final orientation also depends on SDL_HINT_ORIENTATIONS.
4b8d69a4 2022-03-22 17:09:44 Avoid trying to use texture framebuffers on emscripten
34fd83ca 2022-03-22 06:50:10 Don't try to hide foreign windows when destroying the SDL window representation Fixes https://github.com/libsdl-org/SDL/issues/5432
74680f5c 2022-03-21 18:56:56 regenerated SDL_blit_auto.c.
dd6c46cb 2022-03-21 18:56:56 blit-auto optimizations
8f964576 2022-03-19 11:01:55 Fixed parameter operation ordering for ease of reading
0517b61e 2022-03-19 11:00:00 Relative mouse mode is tied to the window with keyboard focus This isn't obvious, but makes sense when thinking about how games actually use it. This is also in line with how Windows mouse relative mode is implemented. Fixes https://github.com/libsdl-org/SDL/issues/5340
d81fee76 2022-03-19 10:27:31 SDL_Rect: Added floating point versions of all the rectangle APIs. Fixes #5110.
4d9bef60 2022-03-19 09:44:09 SDL_Rect: minor code cleanups.
c573ebe1 2022-03-19 09:29:01 SDL_UnionRect: If both rects are empty, zero out the result struct.
6c962177 2022-03-18 10:07:59 Added the hint SDL_HINT_MOUSE_RELATIVE_MODE_CENTER, controlling whether the mouse should be constrained to the center of the window or the whole window in relative mode. For further info about the pros and cons, check out the discussion in https://github.com/libsdl-org/SDL/issues/5271
3167ba34 2022-03-17 17:58:35 Fixed freeing the Windows blank cursor
0387bf82 2022-03-17 17:55:28 Fixed memory leak in WIN_CreateBlankCursor()
d4062785 2022-03-17 17:01:36 Try not forcing activation when grabbing the mouse in fullscreen windows
4e784fce 2022-03-17 16:57:33 When updating grab state, only activate windows that are grabbed, fullscreen, and shown. Fixes https://github.com/libsdl-org/SDL/issues/5371
e5f45455 2022-03-17 14:44:34 Added a hint to mark a foreign window as usable with OpenGL Fixes https://github.com/libsdl-org/SDL/issues/2942
4e49b78a 2022-03-17 14:44:17 Fixed compile warning and comment typo
0bf8ccfb 2022-02-08 22:15:11 video: Add a hint to allow Vulkan surfaces on foreign windows
829e15a4 2022-02-05 14:38:39 Ignore unknown WM_SIZE types. According to MSDN, we can also get SIZE_MAXHIDE and SIZE_MAXSHOW, based on state changes to other windows. It's not clear under what circumstances this will happen (I saw some docs indicating it may require multiple application windows), but it doesn't seem right to treat them as RESTORED.
a164c9d2 2022-01-04 10:43:34 SDL_cocoawindow.m: update fullscreen toggle when SDL_SetWindowResizable called
93e7caab 2022-03-16 18:08:20 SDL_blit_slow: remove one nested 'if()' because of ARGB2101010 handling
56568ffb 2022-03-16 18:04:40 Remove 'reserved identifier' warning
d1e4367f 2022-03-15 21:41:02 SDL_windowskeyboard.c: fix build with SDL_DISABLE_WINDOWS_IME defined. Fixes https://github.com/libsdl-org/SDL/issues/5408
f3e86b9f 2022-03-15 17:46:12 Fixed bug #2199: make SDL_blit_slow handles SDL_PIXELFORMAT_ARGB2101010, storing as RGBA
363c3678 2022-03-10 17:12:33 Fixed: Incorrect assumption that mouse button is released when window is allocated
7495b981 2022-03-11 15:14:51 Make SDL_VIDEO_OPENGL_EGL optional on Android
ee6bfcdd 2022-03-13 20:56:42 SDL_blit_N.c: removed duplicated const (fixes bug #5401)
072db7b0 2022-03-12 01:56:40 SDL_windowskeyboard.c (IME_IsTextInputShown): remove unused local vars.
d14a1263 2022-03-11 17:45:17 IME Composition Truncation + SDL_IsTextInputShown + SDL_ClearComposition (#5398) * Fixes for IME Composition Truncation + Addition of SDL_ClearComposition, SDL_IsTextInputShown * Fixed: Documentation and code style issues raised during code review.
9de97e19 2020-12-01 12:46:59 emscripten: Don't prevent default on filtered key events
afb0606f 2022-03-10 18:50:10 minor os/2 clean-ups.
01d38e7a 2022-03-09 14:03:52 Make Win32 fullscreen and borderless windows minimizable
45833a14 2022-03-09 15:33:45 Prevent shadowing static variable '_this' with local paramter '_this' of SDL_CreateWindowTexture
a4a80c86 2022-03-09 15:21:55 Fix variable may be uninitialized when used here [-Wconditional-uninitialized]
41e7d1ba 2022-03-06 23:02:57 Add SDL_GetDisplayDPI implementation on Emscripten Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com>
2f7b885d 2022-02-28 16:30:34 Fix 'potentially uninitialized local pointer variable' error in UWP builds
98353533 2022-02-23 18:54:31 riscos: Report keyboard repeat events
b946e31e 2022-02-23 09:10:46 video: Allow unaccelerated SDL_HINT_FRAMEBUFFER_ACCELERATION renderers. If the app requested a specific renderer, even if it's not the optimal path, let them have it, because they might want to render with a specific GPU API on top of the framebuffer pixels. This fixes DosBox-X crashing on startup, which forces the hint to "opengl".
60ddb74c 2022-02-02 12:19:37 video: rework how we prepare a texture framebuffer. Now we see if we can create an SDL_Renderer, and if that renderer reports itself as "accelerated," and added some initial heuristics to the OpenGL renderer to make better decisions about what qualifies as "accelerated." This adds some FIXMEs that might be merely hypothetical, and removes the old OpenGL checks from the video subsystem that probably weren't meaningful in modern times. This will definitely need to improve the existing list in the GL renderer, to catch things like llvmpipe, etc. Reference issue #4624.
85e65000 2022-02-11 11:08:08 X11 Segmentation fault with multiple windows and renderers (see #5256)
a75041e8 2022-02-10 13:44:59 Fixed bug #2140: basic support to convert 16 colors palette PIXELFORMAT_INDEX4, to allow conversion to SDL_Texture
423feac6 2022-02-05 21:23:40 haiku: Actually remove BDirectWindow and fix OpenGL handling. This provides the other half of 05c72b113c830392f8b08532317ef07972b29a2e.
c8cee0b8 2022-02-04 23:28:56 OS2_HasClipboardText: store the boolean result before closing clipboard. just in case..
3b9e6c1c 2022-02-04 19:50:20 SDL_os2video.c: fixed HasClipboardText() semantics. Empty string in clipboard is expected to give FALSE by SDL_HasClipboardText. Noticed in a commit by josch1710 in bitwiseworks' os/2 fork.
3bef4a5d 2022-01-22 15:43:09 cleanup error-handling in SDL_egl.c - always set error message in SDL_EGL_ChooseConfig / SDL_EGL_CreateContext - assume SDL_EGL_DeleteContext does not alter the error message - sync generic error message of SDL_EGL_MakeCurrent with SDL_EGL_Get/SetSwapInterval - do not overwrite error message of SDL_EGL_ChooseConfig in WINRT_CreateWindow
b5c50526 2022-01-22 15:34:22 cleanup error-handling in SDL_bmp.c - add missing error-message in SDL_LoadBMP_RW - check return value of SDL_RWtell in SDL_LoadBMP_RW - use standard SDL_EFREAD error instead of custom strings + adjust return type of readRlePixels
19df4af2 2022-01-22 10:33:38 simplify SDL_DUMMY/OFFSCREEN_CreateWindowFramebuffer
ecd922b5 2022-02-01 22:33:13 Fix touch holding detection after #5244 changes
b11dfd76 2022-02-01 14:43:26 Only generate key repetition for keys that should repeat on wayland. This fix repetition on modifier keys, e.g. Control.
a90a2e75 2022-01-30 16:44:44 Fix text_input_v3 preedit string For every batch of text_input_v3 updates, if there is no preedit in this batch, preedit should be cleared.
97269e14 2022-01-18 17:51:17 adjustments to ime_candidates - allocate ime_candidates on demand - allow write to the whole allocated memory of ime_candidates - ensure ime_candcount is set to zero in case the candidates can not be queried for any reason
6f404d0f 2022-01-18 17:49:33 cleanup IME_GetCandidateList / UILess_GetCandidateList - move IME_ShowCandidateList, ImmGetContext and ImmReleaseContext to this function - set ime_candpgsize to MAX_CANDLIST if dwPageSize is zero - comment out deselection of ime_candsel in case of korean language for the moment (LANG_CHT does not work anyway)
32c7d5d3 2022-01-18 17:44:51 cleanup IME_UpdateInputLocale - do not store the HKL in a static variable - always set the ime_candvertical value in case the HKL is changed
25aa7244 2022-01-18 17:43:31 cleanup IME_GetId - use assert instead of a check (it is a static function with constant parameter) - assume it is called with 0 first (simplifies the logic) - reuse dwLang value instead of a new 'call' to LANG()
60deadba 2022-01-17 17:22:30 re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
ebdd5366 2022-01-17 16:26:02 use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
3c85cef4 2022-01-17 09:58:16 cleanup SDL_RegisterApp - fix memory leak when RegisterClassEx fails - set style according to the documentation - eliminate duplicated SDL_Instance setter
014e2bbd 2022-01-12 16:40:52 use SDL_COMPILE_TIME_ASSERT instead of SDL_STATIC_ASSERT
95f30c7a 2022-01-12 10:12:54 fix compiler warnings in video/uikit
eb80f2c6 2022-01-11 10:45:41 sync handling of subsystems II.
942b01a5 2022-01-09 15:08:21 do not use RWOps in WIN_SetWindowIcon
e11ba0f5 2022-01-08 12:03:57 do not load/unload opengl library when SDL_WINDOW_METAL flag is changed
19ae71b2 2022-01-27 11:48:32 video: Don't add SDL_WINDOW_(METAL|OPENGL) to new windows if unsupported. Fixes #4656. (Better than the previous fix in 3044310518dbb2d4814b32c6521f332b8d69aae5.)
cc40f732 2022-01-26 21:09:39 wayland: Round the refresh rate rather than truncating it A 59999 mHz monitor should be reported as 60 Hz, not 59 Hz.
30443105 2022-01-26 21:10:15 video: Don't add SDL_WINDOW_METAL to new windows if not using Cocoa or UIKit. Fixes #4656.
77a9ca6b 2022-01-26 18:26:07 wayland: Fix SDL_SetWindowSize() being dropped right after exiting fullscreen If we get a SDL_SetWindowSize() call right after SDL_SetWindowFullscreen() but before we've gotten a new configure event from the compositor, the attempt to set our window size will silently fail (when libdecor is enabled). Fix this by remembering that we need to commit a new size, so we can do that in decoration_frame_configure().
f37e4a94 2022-01-26 17:02:49 video: Don't check if we can use a "texture framebuffer" until needed. This prevents SDL from making an OpenGL context and maybe throwing it away immediately by default. It will now only do it when trying to request a window framebuffer directly, or creating an SDL_Renderer with the "software" backend, which makes that request itself. The way SDL decides if it should use a "texture framebuffer" needs dramatic updating, but this solves the immediate problem. Reference Issue #4624.
8ceba27d 2021-04-17 12:07:38 video: Prefer Wayland over X11
68a71f91 2022-01-25 11:18:04 wayland: Try to avoid committing before the window is shown
f0e768da 2022-01-25 13:07:00 wayland: Call SetFullscreen directly in ShowWindow. This cuts out an extra flush when getting the first configure event.
8c660ccb 2022-01-25 17:14:01 Fixed bug #5256: X11 Segmentation fault with multiple windows and renderers First window is created and it triggers and 'EnterNotify' event which calls SDL_SetMouseFocus() and X11_ShowCursor() while the second windows hasn't finished to be created (eg window->driverdata isn't set) Just check for a valid 'driverdata'
e2d74bcb 2022-01-25 11:16:09 wayland: Detach hidden surfaces in HideWindow, not ShowWindow
57bc9040 2022-01-07 08:54:08 Add hint to optionally forcibly raise the window under MS Windows.
d7873e65 2022-01-04 15:47:29 Disable tablet flicks under MS Windows.
53df0e66 2022-01-21 17:15:18 Fix the erroneous generation of mouse-down events from touch-move events. The issue is that MS Windows synthesizes a mouse-move event in response to touch-move events, and those mouse-move events are NOT labeled as coming from a touch (e.g. GetMouseMessageSource() will not return SDL_MOUSE_EVENT_SOURCE_TOUCH for those synthesized mouse-move events). In addition, there seems to be no way to prevent this from happening; https://gist.github.com/vbfox/1339671 claims to demonstrate a technique to prevent it, but in my experience, it doesn't work. Because of this, the "fallthrough" case can't test that the synthesized mouse-move came from a touch-move, and starts erroneously pressing down the mouse-button, leading to massive confusion in the client application.
e1b4761c 2022-01-20 14:10:56 wayland: Avoid calling SetFullscreen in libdecor ShowWindow. This caused some weird stuff to happen in the libdecor path, probably because the window hasn't actually been mapped yet. It ends up calling stuff that should not yet apply, and so fullscreen in particular would have a really messed up titlebar. The good news is, libdecor is good about tracking fullscreen state, so we can let the callback do this for us. Keep this for xdg_shell because we actually map the window ourselves, so we know this call is valid for that path.