summaryrefslogtreecommitdiffstats
path: root/platform/x11
Commit message (Collapse)AuthorAgeFilesLines
* Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky2020-03-2626-11752/+0
|
* Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky2020-03-267-20/+3551
|
* Merge pull request #37271 from akien-mga/cleanup-unused-classesRémi Verschelde2020-03-241-0/+2
|\ | | | | Remove unused classes and stray headers
| * Remove unused classes and stray headersRémi Verschelde2020-03-241-0/+2
| | | | | | | | | | | | | | | | Found by reviewing headers with 1 or less matching includes: ``` find -name thirdparty -prune -o -name "*.h" -exec basename {} \; | sort -u > headers for header in $(cat headers); do echo "$header: "; rg -l "#include \"(.*/)?$header\"" | wc -l; done > list-includes ```
* | Merge pull request #37261 from m6c7l/feature/issue-37239Rémi Verschelde2020-03-241-1/+4
|\ \ | | | | | | Linux: add relaxation to conditions in the joystick check routine
| * | issue-37239 add relaxation to conditions in the joystick check routine for ↵m6c7l2020-03-241-1/+4
| |/ | | | | | | being identified as joystick
* / Fixed WM_DELETE flag being set too lateEv1lbl0w2020-03-231-3/+3
|/
* Adding missing include guards to header files identified by LGTM.Rajat Goswami2020-03-231-0/+5
| | | | This addresses the issue godotengine/godot#37143
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-172-2/+2
| | | | | | | | | | 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`.
* typedefs: Cleanup unused macros and unnecessary checksRémi Verschelde2020-03-111-2/+4
| | | | | | | | | | 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.
* Linux: Add Mesa 20 "Intel" to prime detectionRémi Verschelde2020-03-111-0/+1
| | | | | | | | | | | | 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 ```
* assimp: Clean and document buildsystem, prepare for unbundlingRémi Verschelde2020-03-061-1/+4
| | | | | | | | | | - 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.
* SCons: Expand env variables to check compiler versionRémi Verschelde2020-03-041-1/+1
| | | | | | | | | 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.
* Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodesRémi Verschelde2020-03-013-14/+163
|\ | | | | Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
| * Rename `scancode` to `keycode`.bruvzg2020-02-253-14/+163
| | | | | | | | | | Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
* | Merge pull request #36556 from RandomShaper/rework_mutexRémi Verschelde2020-02-282-16/+14
|\ \ | | | | | | Reimplement `Mutex` with C++'s `<mutex>` (plus more)
| * | Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez2020-02-262-16/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* | Merge pull request #36572 from qarmin/coverageRémi Verschelde2020-02-271-0/+5
|\ \ | | | | | | Added code coverage support to Godot
| * | Added code coverate support to GodotRafał Mikrut2020-02-261-0/+5
| |/
* / SCons: Fix get_compiler_version() to return intsRémi Verschelde2020-02-261-12/+4
|/ | | | | | Otherwise comparisons would fail for compiler versions above 10. Also simplified code somewhat to avoid using subprocess too much needlessly.
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-6/+2
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Remove incomplete battery status/power APIRémi Verschelde2020-02-145-667/+0
| | | | | | | | | | | 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.
* Remove obsolete GLES3 backendRémi Verschelde2020-02-133-22/+0
| | | | | | | | | | | | | | 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!
* Force vulkan driver until OpenGL is implementedJuan Linietsky2020-02-121-0/+5
|
* Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde2020-02-112-4/+4
| | | | | | | - `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
* More GIProbe work and fixesJuan Linietsky2020-02-111-2/+2
|
* glslang: Disable warnings and allow unbundlingRémi Verschelde2020-02-111-0/+3
|
* SCons: Streamline Vulkan buildsystem + fixupsRémi Verschelde2020-02-111-3/+2
| | | | | | | | | | | - 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.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-114-444/+143
|
* Add static Vulkan loader.bruvzg2020-02-113-3/+76
| | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* Custom material support seems complete.Juan Linietsky2020-02-112-2/+2
|
* basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky2020-02-113-13/+22
| | | | Still a lot to do
* A lot of progress with canvas rendering, still far from working.Juan Linietsky2020-02-111-7/+10
|
* Texture refactorJuan Linietsky2020-02-112-4/+4
| | | | | | | | -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
* Modify RenderingDevice to use RIDs, now that they are O(1)Juan Linietsky2020-02-111-21/+21
|
* Added support for push constantsJuan Linietsky2020-02-111-1/+5
|
* Initial work on Vulkan:Juan Linietsky2020-02-116-5/+365
| | | | | | | | -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/)
* Merge pull request #35802 from bruvzg/linux_tablet_rangesRémi Verschelde2020-02-101-24/+6
|\ | | | | Fix pressure / tilt ranges on Linux.
| * Fix pressure / tilt ranges on Linux.bruvzg2020-01-311-24/+6
| |
* | adjusted linux cursors, added fallbacksMennoMax2020-02-101-7/+61
| |
* | Remove duplicate ERR_PRINT macro.Marcel Admiraal2020-02-051-3/+3
| |
* | Restores correct window position after fullscreen toggling off on LinuxYuri Roubinsky2020-02-032-1/+7
| |
* | Fix restoring window from fullscreen to normal on LinuxYuri Roubinsky2020-02-031-1/+1
|/
* Merge pull request #35444 from RandomShaper/fix_link_bsdRémi Verschelde2020-01-231-4/+8
|\ | | | | Fix error with linkers other than GNU ld
| * Fix error with linkers other than GNU ldPedro J. Estébanez2020-01-221-4/+8
| |
* | Remove buggy check if key was already released for accumulated inputEric Rybicki2020-01-221-5/+0
|/ | | | Fixes #27104
* Merge pull request #35209 from RandomShaper/fix_pck_embed_linuxRémi Verschelde2020-01-163-5/+21
|\ | | | | Fix error exporting to X11 with embedded PCK
| * Fix error exporting to X11 with embedded PCKPedro J. Estébanez2020-01-163-5/+21
| | | | | | | | Fixes #32513.
* | Image: Include S3TC compression via Squish in non-tools buildRémi Verschelde2020-01-131-1/+1
| | | | | | | | | | | | | | We already build Squish in templates build for S3TC decompression, so we can as well expose the compression feature. Fixes #25640.
* | Fix warning in Linux crash handler on 32-bitRémi Verschelde2020-01-101-1/+1
|/