summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/wayland
Commit message (Collapse)AuthorAgeFilesLines
* Fix copyright headers referring to GodotSpartan3222024-10-2714-28/+28
|
* Fix Linux desktop filesChen Asraf2024-10-261-1/+1
|
* Rebrand preambles to RedotSpartan3222024-10-1314-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084) Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Rebrand Godot 4.3 to RedotTrashguy2024-10-131-2/+2
|
* Use wayland-egl-core.h instead of wayland-egl.hJoel Winarske2024-09-161-1/+1
| | | | | | | | | -avoid use of transitive wayland include -resolves https://github.com/godotengine/godot/issues/95830 Signed-off-by: Joel Winarske <joel.winarske@gmail.com> (cherry picked from commit 6ce71f0fb0a091cffb6adb4af8ab3f716ad8930b)
* Wayland: Avoid recreating input objects on capability changeRiteo2024-08-091-17/+21
| | | | | | Before, multiple capability events would instantiate the same object over and over as long as its bit was set. This caused issues with hotplug and device suspension.
* Wayland: Fix error spam when interacting with decorationsRiteo2024-07-201-15/+17
| | | | | | | Also tried to make tablet handling a bit tidier (less whitespace). That said I'll uniform tablet handling better once we're back in the dev cycle.
* Merge pull request #94411 from Riteo/suspending-the-right-wayRémi Verschelde2024-07-171-1/+1
|\ | | | | | | Wayland: Check for suspended flag when unsuspending
| * Wayland: check for suspended flag when unsuspendingRiteo2024-07-161-1/+1
| | | | | | | | | | Before, we would only check for the frame flag, which is unreliable on newer suspension-aware compositors.
* | Wayland: commit surface on window creationRiteo2024-07-151-0/+2
|/ | | | | This is needed for initializing xdg_surfaces when not using libdecor. Now the pure xdg_shell code path should work again.
* Wayland: scale relative pointer motionRiteo2024-07-071-0/+5
| | | | | Oops, forgot to do that. Motion-dependent stuff should now work properly when using scaled displays.
* Improve handling of rendering startup errorsPedro J. Estébanez2024-06-281-1/+8
|
* Wayland: minimize surface commits and limit them to the main threadRiteo2024-06-284-31/+53
| | | | | | | | | | | | | | | | | | Before of this patch, as explained in the usual commented-wall-of-text-longer-than-the-actual-patch-itself™, due to the multithreaded nature of the Wayland thread, it was possible to commit a surface while the renderer was doing stuff, which was _very_ wrong. Initially the consequences of such a sin weren't obvious but, now that explicit synchronization is becoming more and more common, we can't commit a buffer randomly without basically guaranteeing a nasty, nasty crash (and we should have avoided commits altogether in the first place to ensure atomic surface updates). We now only trigger a commit _in the main thread_ when low processor usage mode is on _and_ if we know that we won't be rendering anything as, due to its intermittent nature, it makes "legacy" (pre xdg_wm_base v6) frame callback based suspension quite annoying.
* Merge pull request #93021 from bruvzg/wl_imeRémi Verschelde2024-06-195-4/+288
|\ | | | | | | [Wayland] Implement IME support.
| * [Wayland] Implement IME support.bruvzg2024-06-115-4/+288
| |
* | Merge pull request #92663 from Riteo/holy-egl-batmanRémi Verschelde2024-06-133-18/+44
|\ \ | |/ |/| | | EGL: Use `EGL_EXT_platform_base` whenever possible
| * EGL: Use EGL_EXT_platform_base whenever possibleRiteo2024-06-043-18/+44
| | | | | | | | | | | | This avoids any assumption from the driver, which would otherwise select a specific platform and potentially mess up everything, resulting usually in a display server failure.
* | Fix creating cursor image from AtlasTexturekleonc2024-06-051-2/+1
|/
* Merge pull request #89033 from bruvzg/doc_end_errRémi Verschelde2024-05-281-1/+8
|\ | | | | | | [DisplayServer] Add error messages and descriptions to callbacks.
| * [DisplayServer] Add error messages and descriptions to callbacks.bruvzg2024-05-281-1/+8
| |
* | Merge pull request #92353 from Riteo/you-cant-see-meRémi Verschelde2024-05-282-0/+11
|\ \ | | | | | | | | | Wayland: Implement `is_window_transparency_available`
| * | Wayland: Implement is_window_transparency_availableRiteo2024-05-262-0/+11
| |/
* / Enable build config wayland=yes use_sowrap=noJoel Winarske2024-05-251-0/+3
|/ | | | | | -wayland-egl.h was missing if opengl3=yes (default) Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
* Properly set window class in WaylandPaulo Poiati2024-05-222-5/+6
|
* Merge pull request #89574 from Riteo/scale-your-expectations-with-this-oneRémi Verschelde2024-05-071-1/+9
|\ | | | | | | Wayland: Workaround API limitation in screen/UI scale logic
| * Wayland: Workaround API limitation in screen/UI scale logicRiteo2024-05-071-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly, this fixes auto UI scaling with _single-monitor_ fractional setups (see the comment in `display_server_wayland.cpp` for more info). This is the result of a bunch of current limitations, mainly the fact that the UI scale is static (it's probed at startup) and the fact that Wayland exposes fractional scales only at the window-level, by design. The `screen_get_scale` special case should help in 99% of cases, while the auto UI scale part will unfortunately only help with single-screen situations, as multi-screen fractional scaling requires dynamic UI scale changing.
* | Reduce and prevent unnecessary random-access to `List`A Thousand Ships2024-05-041-1/+1
|/ | | | | | | | | Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when accessing a single element) * Removed subscript operator, in favor of a more explicit `get` * Added conversion from `Iterator` to `ConstIterator` * Remade existing operations into other solutions when applicable
* Wayland: Add support for OpenGL ES driverRiteo2024-05-035-18/+161
| | | | | Everything was already there, we just had to wire it up in the display server.
* [Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`A Thousand Ships2024-05-021-1/+1
| | | | Convenience for a number of cases operating on single values
* Wayland: Improve compositor compatibility by allowing older globalsRiteo2024-04-262-119/+136
| | | | | | | | | | | | | | | | | | Previously we pretty much hardcoded most of the globals we requested, causing compatibility issues with certain compositors like Weston, which support only some pretty old versions or miss some more advanced protocols. To put fuel on the fire, we also errored out when certain protocols weren't available, despite us being able to boot a game just fine (but obviously with a degraded featureset). The solution is to simply allow all the way from version 1 to the current latest, adding some compatibility code (such as for older `wl_output`s or newer `wl_pointer`s). While we're at it, this commit also fixes a few typos and naming inconsistencies I found.
* [DBus] Process file dialog callback in the main event loop instead of using ↵bruvzg2024-04-231-0/+6
| | | | deferred call.
* Polish interaction between windowing, input and renderingPedro J. Estébanez2024-04-102-9/+0
| | | | | - Adapt GL make/release API to the current architecture. - Fix DisplayServer being locked while dispatching input (prevent deadlocks).
* [DisplayServer] Add separate feature flags for different native dialog types.bruvzg2024-03-261-1/+3
|
* Merge pull request #87831 from Riteo/bitfield-xorRémi Verschelde2024-03-261-1/+1
|\ | | | | | | Core: Implement a XOR operator for BitField
| * Core: Implement a XOR operator for BitFieldRiteo2024-02-011-1/+1
| |
* | [Wayland] Fix typo in input codeA Thousand Ships2024-03-201-1/+1
| |
* | clang-tidy: Enforce `modernize-use-nullptr`Thaddeus Crews2024-03-122-5/+5
| |
* | Merge pull request #89328 from Riteo/wayland-cursor-frame-optRémi Verschelde2024-03-091-7/+14
|\ \ | | | | | | | | | Wayland: Setup next cursor frame callback only if animated
| * | Wayland: Setup next cursor frame callback only if animatedRiteo2024-03-091-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | Before, the cursor kept updating for no good reason really. It's also a bit neater and it ever-so-slightly makes `WAYLAND_DEBUG` logs easier to read, although they're still spammed by the window's frame logic (which is needed).
* | | Merge pull request #89307 from alesliehughes/wayland_usageRémi Verschelde2024-03-091-4/+24
|\ \ \ | | | | | | | | | | | | Wayland: Stop possible Null pointer dereferences
| * | | wayland: Stop possible Null pointer dereferencesAlistair Leslie-Hughes2024-03-091-4/+24
| |/ /
* / / wayland: Stop unreachable warningAlistair Leslie-Hughes2024-03-091-2/+2
|/ /
* | Merge pull request #87452 from bruvzg/native_menuRémi Verschelde2024-03-062-0/+14
|\ \ | | | | | | | | | Move `global_menu_*` methods to a separate `NativeMenu` class.
| * | Move `global_menu_*` methods to a separate `NativeMenu` class.bruvzg2024-03-042-0/+14
| | |
* | | Merge pull request #89178 from Riteo/gotta-have-them-allRémi Verschelde2024-03-051-3/+14
|\ \ \ | |/ / |/| | | | | Wayland: Properly report all used features
| * | Wayland: Properly report all used featuresRiteo2024-03-041-3/+14
| | | | | | | | | | | | Oops, missed a few.
* | | [Wayland] Fix tilt handlingA Thousand Ships2024-03-032-3/+2
|/ /
* | Merge pull request #88970 from KoBeWi/ImageCursor2DRémi Verschelde2024-02-292-32/+3
|\ \ | | | | | | | | | Improve `cursor_set_custom_image()` method
| * | Improve cursor_set_custom_image() methodkobewi2024-02-282-32/+3
| | |
* | | Wayland: Restore tablet support and handle multiple toolsRiteo2024-02-282-121/+151
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | This code was already partially there, although heavily incomplete and nowadays commented out. It got broken after the `WaylandThread` refactor and I didn't bother to bring it over, preferring to `#if 0` it into oblivion for the time being as I don't have a tablet/pen which support an eraser and tilt reporting. This commit brings it back and adds proper multi-tool support (needed for eraser detection) thanks to winston-yallow, who could test this code with their more capable tablet.