Rémi Verschelde
a4801674c5
SCons: Bump required C++ standard to C++17
...
As per #36436 , we now need C++17's guaranteed copy elision feature to
solve ambiguities in Variant.
Core developers discussed the idea to move from C++14 to C++17 as our
minimum required C++ standard, and all agreed. Note that this doesn't
mean that Godot is going to be written in "modern C++", but we'll use
modern features where they make sense to simplify our "C with classes"
codebase. Apart from new code written recently, most of the codebase
still has to be ported to use newer features where relevant.
Proper support for C++17 means that we need recent compiler versions:
- GCC 7+
- Clang 6+
- VS 2017 15.7+
Additionally, C++17's `std::shared_mutex` (conditionally used by
`vk_mem_alloc.h` when C++17 support is enabled) is only available in
macOS 10.12+, so we increase our minimum supported version.
2020-02-22 20:00:21 +01:00
Fabio Alessandrelli
92332eb23d
Merge pull request #36440 from YeldhamDev/debugger_visual_fix
...
Fix visuals of the new debugger editor
2020-02-22 17:53:27 +01:00
Michael Alexsander
8017a44098
Fix visuals of the new debugger editor
2020-02-22 12:39:44 -03:00
Rémi Verschelde
da3a504216
Merge pull request #36454 from akien-mga/vulkan-workaround-32-bit-lib-error
...
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
2020-02-22 16:28:48 +01:00
Juan Linietsky
fc3ddef360
Merge pull request #36455 from reduz/giprobe-debug-fix
...
Correct condition wrongly converted to ERR_FAIL_COND_MSG
2020-02-22 11:37:55 -03:00
Juan Linietsky
54dfdd1cdb
Correct condition wrongly converted to ERR_FAIL_COND_MSG
...
Fixes debugging of giprobes not working, likely other stuff
2020-02-22 11:36:26 -03:00
Rémi Verschelde
66ae9396da
Merge pull request #36452 from akien-mga/doc-bogus-variant-return
...
doc: Sync classref with apparent Variant return type changes
2020-02-22 15:35:39 +01:00
Rémi Verschelde
e596439497
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
...
In the vast majority of cases, this will be a false positive error
thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both
32-bit and 64-bit. The error is of the form:
```
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
```
The loader dlopen's the 32-bit ICDs first, raises this error, and then
happily goes on to try and use the 64-bit ICDs.
Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262
Fixes #36185 .
2020-02-22 15:32:20 +01:00
Rémi Verschelde
048f4f8305
doc: Sync classref with apparent Variant return type changes
...
Part of those seem bogus, methods like Array.back()/front()
should return a Variant and not void.
2020-02-22 15:16:32 +01:00
Rémi Verschelde
fea37cfb52
doc: Sync classref with StringName/Callable changes
2020-02-22 14:59:09 +01:00
Rémi Verschelde
bf7d6de556
Merge pull request #36441 from YeldhamDev/tabs_unused_constants
...
Remove unused theme constants in Tab(Container)
2020-02-22 08:17:33 +01:00
Sam Green
f12c0d1e98
Stub out Vulkan context for iPhone
2020-02-21 22:01:13 -08:00
Sam Green
06d7316419
Add iphone to vulkan drivers SCsub
2020-02-21 22:00:48 -08:00
Sam Green
2ba72b3a65
Add use_static_mvk option
2020-02-21 22:00:34 -08:00
Sam Green
f40ff128b5
Update detect.py
2020-02-21 21:42:34 -08:00
Sam Green
e03e607230
Resolve iOS and GLES compilation failures
2020-02-21 21:01:34 -08:00
Sam Green
6e25a5448d
Import the correct rasterizer based on build settings
2020-02-21 20:48:19 -08:00
Michael Alexsander
e9244c4c23
Remove unused theme constants in Tab(Container)
2020-02-22 01:24:16 -03:00
Yuri Roubinsky
7c1415b99b
Merge pull request #36421 from Chaosus/vs_sort_custom_nods
...
Refactor node processing in visual shader member dialog
2020-02-21 21:34:03 +03:00
Rémi Verschelde
a77c862b18
Merge pull request #36400 from reduz/variant-string-name
...
Added StringName as a variant type.
2020-02-21 16:48:29 +01:00
Yuri Roubinsky
b78b37ed3f
Refactor node processing in visual shader member dialog
2020-02-21 18:34:31 +03:00
Rémi Verschelde
0447d6fc8e
Merge pull request #36393 from reduz/callable-method-pointer
...
New callable_mp macro, for signals to call method pointers directly.
2020-02-21 14:53:24 +01:00
Juan Linietsky
3c0059650d
Added StringName as a variant type.
...
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Rémi Verschelde
7ac0973e9a
Merge pull request #36415 from reduz/skeleton-skin-named
...
Add support for named binds in Skin.
2020-02-21 14:12:19 +01:00
Juan Linietsky
04bb6a708a
Created the callable_mp macro, for signals to call method pointers directly.
2020-02-21 13:46:45 +01:00
Juan Linietsky
9a34f39d32
Add support for named binds in Skin.
...
Helps better reutilization of skeletons from Maya exported files.
2020-02-21 09:40:29 -03:00
Rémi Verschelde
a24aafcb92
Merge pull request #36244 from Faless/debugger/big_refactor_squash
...
Huge Debugger/EditorDebugger refactor.
2020-02-21 11:56:40 +01:00
Fabio Alessandrelli
cbc450c0e5
Huge Debugger/EditorDebugger refactor.
2020-02-21 11:12:03 +01:00
Rémi Verschelde
8b058d4b9a
Merge pull request #36413 from akien-mga/travis-homebrew-update
...
Travis: Force updating homebrew on macOS
2020-02-21 09:42:42 +01:00
Rémi Verschelde
1b01896e90
Travis: Force updating homebrew on macOS
...
Temporary workaround for https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296
2020-02-21 09:27:18 +01:00
Rémi Verschelde
851cb42963
Merge pull request #35864 from ofrank123/master
...
Switched the language server from websockets to TCP
2020-02-20 15:29:33 +01:00
Rémi Verschelde
f5bb6d6a7c
Merge pull request #36380 from akien-mga/scons-std-c11-c++14
...
SCons: Explicitly define our C (C11) and C++ (C++14) standards
2020-02-20 14:04:25 +01:00
of9
24b27043fe
Migrating language server from Websockets to raw TCP
2020-02-20 11:21:43 +00:00
Rémi Verschelde
342f127362
SCons: Explicitly define our C (C11) and C++ (C++14) standards
...
On GCC and Clang, we use C11 and C++14 with GNU extensions (`std=gnu11`
and `std=gnu++14`). Those are the defaults for current GCC and Clang,
and also match the feature sets we want to use in Godot.
On MSVC, we require C++14 support explicitly with `/std:c++14`, and
make it strict with the use of `/permissive-` (so features of C++17 or
later can't be used).
Moves the definition before querying environment flags and platform
config so that it can be overridden when necessary.
2020-02-20 11:37:52 +01:00
Rémi Verschelde
bd61281a5f
Merge pull request #36368 from reduz/variant-rework
...
Reworked signal system, added support for Callable and Signal
2020-02-20 11:30:56 +01:00
Juan Linietsky
69c95f4b4c
Reworked signal connection system, added support for Callable and Signal objects and made them default.
2020-02-20 08:24:50 +01:00
Rémi Verschelde
1a4be2cd8f
Merge pull request #36371 from Calinou/doc-improve-panoramasky
...
Improve the PanoramaSky class documentation
2020-02-20 07:56:38 +01:00
Rémi Verschelde
353e2071d0
Merge pull request #36340 from nathanwfranke/fix-signal-errors
...
Fix two signal errors, remove unused break_request signals in profilers
2020-02-20 07:13:54 +01:00
Rémi Verschelde
3afc47bbd6
Merge pull request #36347 from Janglee123/persistence-view-mode-for-new-scene
...
Persisting view mode for new scene
2020-02-20 07:12:12 +01:00
Rémi Verschelde
f8c87c0ac4
Merge pull request #36375 from Xrayez/pimpmaps-typos
...
Fix MIMPAMPS typos in constants throughout the engine
2020-02-20 07:00:25 +01:00
Rémi Verschelde
9f9447ea9f
Merge pull request #36376 from timothyqiu/fix-load-image-crash
...
Fixes crash when loading StreamTexture from file
2020-02-20 06:49:11 +01:00
Haoyu Qiu
a7578459c2
Fixes crash when loading StreamTexture from file
2020-02-20 09:45:00 +08:00
Andrii Doroshenko (Xrayez)
fa766265a7
Fix MIMPAMPS typos in constants throughout the engine
2020-02-20 01:31:43 +02:00
nathanwfranke
a31bc1b0ba
Fix two signal errors
...
Update
2020-02-19 15:22:34 -06:00
Rémi Verschelde
5ace0beeaa
Merge pull request #36367 from IronicallySerious/rem-audio-driver-dummy
...
Remove unused driver/dummy/audio_driver_dummy.h
2020-02-19 21:49:17 +01:00
Hugo Locurcio
72ac757ad5
Improve the PanoramaSky class documentation
...
See https://github.com/godotengine/godot/issues/27835 .
2020-02-19 21:24:28 +01:00
Twarit
04882a481b
Remove unused driver/dummy/audio_driver_dummy.h
2020-02-20 00:59:31 +05:30
janglee
d3c580f0bc
Make orthogonal view mode persistent in new scene
...
Fixes #36339 .
2020-02-19 21:33:43 +05:30
Rémi Verschelde
4581a9373c
Merge pull request #36359 from vnen/variant-reference-fix
...
Fix Ref(Variant) constructor to properly check the object type
2020-02-19 16:51:32 +01:00
Rémi Verschelde
05e610b78c
Merge pull request #36357 from MateoMiccino/rendering_vulkan_vertexdescriptionkey_fix
...
rendering_vulkan: VertexDescriptionKey equal comparator was checking …
2020-02-19 15:54:33 +01:00