summaryrefslogtreecommitdiff
path: root/platform/x11
AgeCommit message (Collapse)Author
2019-02-28X11: Fix drag and drop from non-latin pathsRémi Verschelde
Fixes #25826. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2019-02-27Fix -Wsign-compare warnings.marxin
I decided to modify code in a defensive way. Ideally functions like size() or length() should return an unsigned type.
2019-02-26-Remove harcoded opengl extension testing from OS, ask rasterizer instead.Juan Linietsky
-Fixed a bug where etc textures were imported broken
2019-02-23Come up with use_gcc.marxin
Add new method. Fix wrong version condition for -fpie.
2019-02-21Fix all -Wtype-limits warnings.marxin
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-02-14Merge pull request #25879 from hpvb/fix-25629Rémi Verschelde
Detect when primusrun/optirun is in use
2019-02-14Detect when primusrun/optirun is in useHein-Pieter van Braam
It seems that bumblebee doesn't like us creating multiple GL contexts to avoid this we now detect whether we're running with this software and don't do anything.
2019-02-14Don't crash if there's no application nameHein-Pieter van Braam
This fixes #25852
2019-02-12Platform: Ensure classes match their header filenameRémi Verschelde
Also drop some unused files. Renamed: - `platform/iphone/sem_iphone.h` -> `semaphore_iphone.h` (same for `osx`) - `platform/uwp/gl_context_egl.h` -> `context_egl_uwp.h` - in `platform/windows`: `context_gl_win.h`, `crash_handler_win.h`, `godot_win.cpp`, `joypad.h` and `key_mapping_win.h` all renamed to use `windows`. Some classes renamed accordingly too. - `EditorExportAndroid` and `EditorExportUWP` renamed to `EditorExportPlatformAndroid` and `EditorExportPlatformUWP` - `power_android` and `power_osx` renamed to `PowerAndroid` and `PowerOSX` - `OSUWP` renamed to `OS_UWP` Dropped: - `platform/windows/ctxgl_procaddr.h`
2019-02-12Drivers, main, servers: Ensure classes match their header filenameRémi Verschelde
Renamed: - `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h` (same for `coremidi` and `winmidi`) - `main/timer_sync.h` -> `main_timer_sync.h` - `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-01-30Fix many asan and ubsan reported issuesHein-Pieter van Braam
This allows most demos to run without any ubsan or asan errors. There are still some things in thirdpart/ and some things in AudioServer that needs a look but this fixes a lot of issues. This should help debug less obvious issues, hopefully. This fixes #25217 and fixes #25218
2019-01-28Properly detect when to use DRI_PRIMEHein-Pieter van Braam
We fork off twice once with and once without DIR_PRIME=1 set. We then use the vendor string to determine what GPU to use. We prefer (in order) 1) AMDGPU/AMDGPU-PRO/NVidia non-free driver 2) Intel driver 3) Nouveau 4) Software rendering If a driver can't be detected it will default to DRI_PRIME=0
2019-01-21Rename sanitizer option names.marxin
Make the sanitizer names more explicit (use_ubsan, use_asan, use_lsan). Comment has been adjusted to include GCC as supported compiler for these and exclude -fno-omit-frame-pointer option (should not cause any problems).
2019-01-09Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam
Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
2019-01-03Merge pull request #24477 from lupoDharkael/nouveauHein-Pieter van Braam
Don't enable DRI_PRIME if nouveau is loaded
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-21Fix missed captured mouse events on x11Lee Pugh
2018-12-20Don't enable DRI_PRIME if nouveau is loadedlupoDharkael
2018-12-15switch middle and secondary mouse buttons orderMikko Mustonen
2018-12-14Use XInput2 RawMotion to generate MouseMotion eventsCosmic Chip Socket
The current system for capturing the mouse and generating motion events on X11 has issues with inaccurate and lopsided input. This is because both XQueryPointer and XWarpPointer work in terms of integer coordinates when the underlying X11 input driver may be tracking the mouse using subpixel coordinates. When warping the pointer, the fractional part of the pointer position is discarded. To work around this issue, the fix uses raw motion events from XInput 2. These events report relative motion and are not affected by pointer warping. Additionally, this means Godot is able to detect motion at a higher resolution under X11. Because this is raw mouse input, it is not affected by the user's pointer speed and acceleration settings. This is the same system as SDL2 uses for its relative motion. Multitouch input on X requires XInput 2.2. Raw motion events require XInput 2.0. Since 2.0 is old enough, this is now the minimum requirement to use Godot on X.
2018-12-14Merge pull request #20385 from moiman100/unify-double-clickingRémi Verschelde
Added double clicking to all buttons on Linux and Javascript
2018-12-14Merge pull request #20063 from moiman100/fix-button-maskRémi Verschelde
Unified button mask behavior across platforms
2018-12-07Merge pull request #22733 from guilhermefelipecgs/fix_wm_classRémi Verschelde
[x11] Use "application/config/name" for WM_CLASS
2018-11-18Fix X11 running a project with fullscreen setting on and resizable off with ↵Marcelo Fernandez
multiple screens
2018-11-14Fix gcc version check when running scons in python 3.Ibrahn Sahir
2018-11-12Fix compile recent compile issues with gcc 5.5Marcelo Fernandez
2018-11-09Merge pull request #23542 from marcelofg55/no_pieRémi Verschelde
Fix binaries incorrectly detected as shared libraries on some linux distros
2018-11-07Fix binaries incorrectly detected as shared libraries on some linux distrosMarcelo Fernandez
2018-11-06Set DRI_PRIME=1 by default on X11 if not already setHein-Pieter van Braam
This mirrors behavior on Windows and MacOSX where Godot tries to default to a dGPU if it exists. This doesn't work for Nvidia optimus yet but this can maybe be added later.
2018-11-01Fix init of VisualServerRasterRémi Verschelde
Contrarily to what #23434 assumed, this is not a memory leak, the VisualServerRaster instance is passed as a parameter to VisualServerWrapMT's constructor. Fixes #23437.
2018-11-01Fix initialization of visual server in all platformsGeorge Marques
Avoid leaking an extra instance when using threads. Also fix threaded loading issues on Android and iOS.
2018-10-25Repaired mistyped of 'its' on several files.M. Huri
2018-10-07Check getcwd return in X11 platform main.Fabio Alessandrelli
2018-10-06Remove redundant "== false" codeAaron Franke
Some of this code has been re-organized. f
2018-10-06Remove redundant "== true" codeAaron Franke
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-10-05[x11] Use "application/config/name" for WM_CLASSGuilherme Felipe
2018-10-02Fix warnings on virtual methods [-Woverloaded-virtual] ↵Rémi Verschelde
[-Wdelete-non-virtual-dtor] Fixes the following Clang 7 warnings: ``` editor/editor_help.h:123:7: warning: 'EditorHelpIndex::popup' hides overloaded virtual function [-Woverloaded-virtual] editor/editor_help.h:95:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual] editor/editor_help.h:96:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual] editor/plugins/curve_editor_plugin.h:141:15: warning: 'CurvePreviewGenerator::generate' hides overloaded virtual function [-Woverloaded-virtual] editor/plugins/script_editor_plugin.h:70:7: warning: 'ScriptEditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual] editor/quick_open.h:69:7: warning: 'EditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual] main/tests/test_io.cpp:53:15: warning: 'TestIO::TestMainLoop::input_event' hides overloaded virtual function [-Woverloaded-virtual] servers/audio/effects/audio_effect_record.h:69:15: warning: 'AudioEffectRecordInstance::process_silence' hides overloaded virtual function [-Woverloaded-virtual] core/os/memory.h:119:2: warning: destructor called on non-final 'ContextGL_X11' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] core/os/memory.h:119:2: warning: destructor called on non-final 'EditorScriptCodeCompletionCache' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] core/os/memory.h:119:2: warning: destructor called on non-final 'Engine' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] core/os/memory.h:119:2: warning: destructor called on non-final 'PhysicalBone::JointData' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerScene' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerViewport' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] ```
2018-10-01Changed the comment where reduz yells at the X11 API to a less explicitive oneLikeLakers2
2018-10-01Fix various Clang 7 warnings about unused stuffRémi Verschelde
Namely: [-Wunneeded-internal-declaration] [-Wunused-comparison] [-Wunused-const-variable] [-Wunused-function] [-Wunused-private-fields] Fixes the following Clang 7 warnings: ``` editor/plugins/script_editor_plugin.cpp:1417:20: warning: function '_find_node_with_script' is not needed and will not be emitted [-Wunneeded-internal-declaration] editor/scene_tree_dock.cpp:1859:14: warning: function '_find_last_visible' is not needed and will not be emitted [-Wunneeded-internal-declaration] modules/gdscript/gdscript_parser.cpp:7838:19: warning: equality comparison result unused [-Wunused-comparison] scene/resources/mesh.cpp:549:35: warning: unused variable '_array_types' [-Wunused-const-variable] scene/resources/mesh.cpp:563:18: warning: unused variable '_format_translate' [-Wunused-const-variable] drivers/gles3/rasterizer_scene_gles3.cpp:54:28: warning: unused function 'store_transform2d' [-Wunused-function] core/io/file_access_network.h:50:6: warning: private field 'ml' is not used [-Wunused-private-field] core/io/file_access_zip.h:93:14: warning: private field 'archive' is not used [-Wunused-private-field] core/io/resource_format_binary.h:122:6: warning: private field 'bin_meta_idx' is not used [-Wunused-private-field] core/message_queue.h:47:9: warning: private field 'mutex' is not used [-Wunused-private-field] main/tests/test_gui.cpp:63:11: warning: private field 'control' is not used [-Wunused-private-field] modules/gdscript/gdscript_parser.h:558:7: warning: private field 'completion_static' is not used [-Wunused-private-field] platform/x11/os_x11.h:148:11: warning: private field 'ip_unix' is not used [-Wunused-private-field] platform/x11/os_x11.h:180:7: warning: private field 'net_wm_icon' is not used [-Wunused-private-field] platform/x11/os_x11.h:189:6: warning: private field 'audio_driver_index' is not used [-Wunused-private-field] platform/x11/os_x11.h:190:15: warning: private field 'capture_idle' is not used [-Wunused-private-field] servers/physics/body_pair_sw.h:79:6: warning: private field 'cc' is not used [-Wunused-private-field] servers/visual/visual_server_raster.h:62:7: warning: private field 'draw_extra_frame' is not used [-Wunused-private-field] ```
2018-10-01SCons: Remove avoidable defines from main env's CPPPATHRémi Verschelde
Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
2018-09-28SCons: Build thirdparty code in own env, disable warningsRémi Verschelde
Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
2018-09-25SCons: Fix checks for clang in env['CXX']Rémi Verschelde
They would match the whole path instead of only the filename.
2018-09-24Fixed hang when segfaulting after OS object destroyed (OSX and X11)Ibrahn Sahir
The two POSIX style crash handlers (OSX and X11) now remove their signal handlers when they are destroyed. Additonally if they are called while no OS singleton is set, they will simply abort(). This should not happen now that they remove themselves, but if a future change seperates OS object and crash handler lifetimes, this may be easier to report/debug than hanging on SIGSEGV.
2018-09-19Merge pull request #22070 from capnm/fix_Input.set_default_cursor_shape_take2Rémi Verschelde
Fix set_default_cursor_shape interaction with Control nodes
2018-09-17Fix Input::set_custom_mouse_cursor showing cursor when it's invisibleGuilherme Felipe
2018-09-15Fix set_default_cursor_shape interaction with Control nodesMartin Capitanio
Do not call `set_cursor_shape` when the cursor is inside the `Control` node. Make it work for x11 in MOUSE_MODE_CONFINED.
2018-09-13Fix set_custom_mouse_cursor changing to incorrect cursor shapeGuilherme Felipe
[Docs] Add class ref for Input::set_default_cursor_shape
2018-09-12Merge pull request #21753 from guilhermefelipecgs/fix_confined_modeRémi Verschelde
Fixes to mouse mode confined and captured
2018-09-12Merge pull request #21914 from hpvb/fix-21720Rémi Verschelde
When resizing an X11 window wait for the WM to process our request