summaryrefslogtreecommitdiff
path: root/platform/x11
AgeCommit message (Collapse)Author
2020-03-23Fixed WM_DELETE flag being set too lateEv1lbl0w
2020-03-23Adding missing include guards to header files identified by LGTM.Rajat Goswami
This addresses the issue godotengine/godot#37143
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-11typedefs: Cleanup unused macros and unnecessary checksRémi Verschelde
We now require a compiler with C++17 support, so we don't need to check for features added to GCC 5 or Clang 3.2. Clang builtin availability checks were unused anyway as Clang defines `__GNUC__` as it's also a GNU C implementation. Fixes #36986.
2020-03-11Linux: Add Mesa 20 "Intel" to prime detectionRémi Verschelde
Diff in `glxinfo` between Mesa 19.3.4 and 20.0.1: ```diff -OpenGL vendor string: Intel Open Source Technology Center -OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) -OpenGL core profile version string: 4.6 (Core Profile) Mesa 19.3.4 +OpenGL vendor string: Intel +OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2) +OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.1 ```
2020-03-06assimp: Clean and document buildsystem, prepare for unbundlingRémi Verschelde
- Improve the SCsub to allow unbundling and remove unnecessary code. - Move files around to match upstream source. - Re-sync with upstream commit 308db73d0b3c2d1870cd3e465eaa283692a4cf23 to ensure we don't have local modifications. - Doesn't actually build against current version 5.0.1 due to the lack of the new ArmaturePopulate API that Gordon authored. We'll have to wait for a public release with that API (5.1?) to enable unbundling.
2020-03-04SCons: Expand env variables to check compiler versionRémi Verschelde
Scons' `Environment.subst()` does that, and was already used in the other place where we query an env variable (`env["LINK"]` in x11 code). Fixes `3.2` iOS build after cherry-pick of #36559 (previously it only ran for GCC code, not iOS's Clang), and the same issue would likely affect `master` if iOS builds were enabled right now.
2020-03-01Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodesRémi Verschelde
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-02-28Merge pull request #36556 from RandomShaper/rework_mutexRémi Verschelde
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
2020-02-27Merge pull request #36572 from qarmin/coverageRémi Verschelde
Added code coverage support to Godot
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-26Added code coverate support to GodotRafał Mikrut
2020-02-26SCons: Fix get_compiler_version() to return intsRémi Verschelde
Otherwise comparisons would fail for compiler versions above 10. Also simplified code somewhat to avoid using subprocess too much needlessly.
2020-02-25Rename `scancode` to `keycode`.bruvzg
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-14Remove incomplete battery status/power APIRémi Verschelde
It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
2020-02-13Remove obsolete GLES3 backendRémi Verschelde
Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
2020-02-12Force vulkan driver until OpenGL is implementedJuan Linietsky
2020-02-11Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde
- `vk_enum_string_helper.h` is a generated file taken from the SDK (Vulkan-ValidationLayers). - `vk_mem_alloc.h` is a library from GPUOpen: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11More GIProbe work and fixesJuan Linietsky
2020-02-11glslang: Disable warnings and allow unbundlingRémi Verschelde
2020-02-11SCons: Streamline Vulkan buildsystem + fixupsRémi Verschelde
- Renamed option to `builtin_vulkan`, since that's the name of the library and if we were to add new components, we'd likely use that same option. - Merge `vulkan_loader/SCsub` in `vulkan/SCsub`. - Accordingly, don't use built-in Vulkan headers when not building against the built-in loader library. - Drop Vulkan registry which we don't appear to need currently. - Style and permission fixes.
2020-02-11Add runtime GLES2 / Vulkan context selection.bruvzg
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Custom material support seems complete.Juan Linietsky
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
2020-02-11A lot of progress with canvas rendering, still far from working.Juan Linietsky
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11Modify RenderingDevice to use RIDs, now that they are O(1)Juan Linietsky
2020-02-11Added support for push constantsJuan Linietsky
2020-02-11Initial work on Vulkan:Juan Linietsky
-Added VulkanContext -Added an X11 implementation -Added a rendering device abstraction -added a Vulkan rendering device abstraction -Engine does not work, only shows Godot logo (run it from bin/)
2020-02-10Merge pull request #35802 from bruvzg/linux_tablet_rangesRémi Verschelde
Fix pressure / tilt ranges on Linux.
2020-02-10adjusted linux cursors, added fallbacksMennoMax
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-02-03Restores correct window position after fullscreen toggling off on LinuxYuri Roubinsky
2020-02-03Fix restoring window from fullscreen to normal on LinuxYuri Roubinsky
2020-01-31Fix pressure / tilt ranges on Linux.bruvzg
2020-01-23Merge pull request #35444 from RandomShaper/fix_link_bsdRémi Verschelde
Fix error with linkers other than GNU ld
2020-01-22Fix error with linkers other than GNU ldPedro J. Estébanez
2020-01-22Remove buggy check if key was already released for accumulated inputEric Rybicki
Fixes #27104
2020-01-16Merge pull request #35209 from RandomShaper/fix_pck_embed_linuxRémi Verschelde
Fix error exporting to X11 with embedded PCK
2020-01-16Fix error exporting to X11 with embedded PCKPedro J. Estébanez
Fixes #32513.
2020-01-13Image: Include S3TC compression via Squish in non-tools buildRémi Verschelde
We already build Squish in templates build for S3TC decompression, so we can as well expose the compression feature. Fixes #25640.
2020-01-10Fix warning in Linux crash handler on 32-bitRémi Verschelde
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-01iOS modular build and export implementation.bruvzg
2019-11-28Add an `OS.is_window_focused()` getterHugo Locurcio
This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
2019-11-12X11: Fix memory leak in handle_key_eventRémi Verschelde
Extracted from #27189.
2019-10-30[macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg
InputEventMouseMotion event.