Commit Graph

26796 Commits

Author SHA1 Message Date
Rémi Verschelde a920f9727a
Merge pull request #36482 from Faless/debugger/fix_bp_cmp
Fix Breakpoint compare in new Debugger.
2020-02-23 14:34:40 +01:00
Fabio Alessandrelli f72905aa29 Fix Breakpoint compare in new Debugger.
Only used to keep the hashmap, but clearly bogus.
2020-02-23 14:15:22 +01:00
Rémi Verschelde 223c5ef8a3
Merge pull request #36478 from qarmin/supsicious_operators_everywhere
Fix suspicious | and + operators
2020-02-23 10:30:06 +01:00
Rafał Mikrut d0621b954b Fix suspicious | and + operators 2020-02-23 09:28:54 +01:00
Rémi Verschelde c9e1d98c62
Merge pull request #36411 from Janglee123/rect2-tween
Added tween support for Rect2
2020-02-23 08:46:48 +01:00
Rémi Verschelde bd10c70458
Merge pull request #36461 from akien-mga/c++17-fallthrough-attribute
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
2020-02-23 08:43:18 +01:00
janglee 4bbe87abb7 Added tween support for Rect2
Fixes #34575
2020-02-23 07:21:04 +05:30
Rémi Verschelde 63b0d822d1
Merge pull request #36436 from reduz/new-variant-types
Add support for Vector2i, Rect2i and Vector3i to Variant
2020-02-23 01:38:23 +01:00
Rémi Verschelde 2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky 6da0eef9e6 Add support for Vector2i, Rect2i and Vector3i to Variant
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous
operator problems in Variant.

This was added for this commit (and future C++17 uses) in #36457.
2020-02-22 23:16:44 +01:00
Rémi Verschelde f2d8c4eb8b
Merge pull request #36465 from YeldhamDev/debugger_top_margin
Remove extra margin in the top of the debugger
2020-02-22 23:16:27 +01:00
Rémi Verschelde a7891b9d12
Merge pull request #36463 from akien-mga/scons-msvc-c++17-cxxflags
SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
2020-02-22 23:13:40 +01:00
Rémi Verschelde 5ee50db3f3
Merge pull request #36464 from akien-mga/travis-macos-xcode-11.3-c++17
Travis: Use Xcode 11.3 for macOS/iOS
2020-02-22 23:13:18 +01:00
Michael Alexsander 5c5a2b7472 Remove extra margin in the top of the debugger 2020-02-22 18:41:22 -03:00
Rémi Verschelde a92e2eb317 Travis: Use Xcode 11.3 for macOS/iOS
Xcode 10+ is needed for exhaustive C++17 support (gnu++17).

11.3 is the latest available version on Travis, and we don't have a
specific reason not to use it.

Follow-up to #36457.
2020-02-22 22:31:29 +01:00
Rémi Verschelde 17a81cffb2 SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
We were running this logic too early, so `env.msvc` was not initialized
yet and MSVC used the same branch as GCC/Clang.
2020-02-22 22:07:08 +01:00
Rémi Verschelde 9a55f1564c
Merge pull request #36457 from akien-mga/c++-standard-gnu++17
SCons: Bump required C++ standard to C++17
2020-02-22 20:38:28 +01:00
Rémi Verschelde 6bb075a53f Travis: Use Ubuntu 18.04 (bionic) as base image
It's now available and allows us to have a better default environment,
with GCC 7.4.0 and Clang 7.

We now need GCC 7+ for C++17 support so it's more efficient to upgrade
the image than to install it on Ubuntu 16.04 (xenial).

Also fixes a couple -Wdeprecated-declarations warnings on macOS now
that we build against macOS 10.12.
2020-02-22 20:00:28 +01:00
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