Commit Graph
51458 Commits
Author SHA1 Message Date
Rémi VerscheldeandGitHub 86a5a23351 Merge pull request #63093 from aaronfranke/export-templates-dir 2022-07-22 23:07:07 +02:00
Rémi VerscheldeandGitHub 4926d67261 Merge pull request #63331 from Calinou/doc-font-get-string-size-example 2022-07-22 23:06:25 +02:00
Rémi VerscheldeandGitHub e2e8a83ddb Merge pull request #63321 from kleonc/generic-nodepath-drag-and-drop-fix 2022-07-22 23:03:40 +02:00
reduz f649678402 Clean up Shader Preprocessor
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
7b94603baa Adding shader preprocessor support
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
Hugo Locurcio f0b896e9a3 Add example usage for Font.get_string_size()
The font size is now separated from the font itself, so it makes
sense to have an example for people coming from Godot 3.x.
2022-07-22 22:39:00 +02:00
Pedro J. Estébanez e49e9fec22 Avoid copies of structures when returning Vulkan capabilities 2022-07-22 22:07:51 +02:00
Álex Román Núñez 1b10f744e0 Fix typed array returns returning the incorrect contained type
Fixes #59485 and #60218
2022-07-22 20:34:19 +02:00
Aaron Franke b00bb577e7 Rename directory for export templates from templates to export_templates 2022-07-22 12:35:43 -05:00
kleonc 07118d7094 Fix in editor drag and dropping a Node to generic NodePath property 2022-07-22 18:32:36 +02:00
Rémi VerscheldeandGitHub 79463aa5de Merge pull request #63310 from akien-mga/scons-vsproj-windows
SCons: Prevent using `vsproj` option outside Windows
2022-07-22 17:44:45 +02:00
Rémi VerscheldeandGitHub ed2a741eb1 Merge pull request #63317 from dallonf/redundant-gdscript-errors 2022-07-22 17:05:46 +02:00
Dallon Feldner 07ddc8b3b8 Don't print redundant errors when parsing GDScript
The error macros print a generic error, which isn't necessary, and could be confusing to end users.
2022-07-22 09:30:52 -05:00
Pedro J. Estébanez 06333fb732 Validate texture format for VRS attachment 2022-07-22 15:05:31 +02:00
halgriffiths d37ebc2bdc send FLAGS_TRANSPOSE_RECT to Vulkan 2022-07-22 13:49:04 +01:00
python273 f78d06c9fe Fix tutorial links in XR classes docs 2022-07-22 15:05:31 +03:00
Rémi VerscheldeandGitHub d2fa9cbdfd Merge pull request #63141 from reduz/implement-thread-runner 2022-07-22 13:25:31 +02:00
Rémi Verschelde 4e56f96396 SCons: Prevent using vsproj option outside Windows
Fixes #63305.
2022-07-22 12:53:14 +02:00
Rémi VerscheldeandGitHub 653f95282c Merge pull request #62996 from reduz/feature-build-profiles 2022-07-22 12:50:20 +02:00
reduz 67a260d63f Implement a Worker ThreadPool
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks
that can be run on threads (and then waited for). It satisfies the following use cases:

* HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads.
* Thread spawning is slow in general, so reusing threads is faster anyway.
* This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks.

After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-22 11:46:48 +02:00
Rémi VerscheldeandGitHub f37990ed77 Merge pull request #63278 from akien-mga/scons-linux-refactor-linker 2022-07-22 11:40:10 +02:00
reduz 6236a688b7 Implement Feature Build Profiles
This PR is a continuation of #50381 (which was implemented exactly a year ago!)

* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.

Obligatory Screen:

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size

TODO:

* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.

In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
Rémi VerscheldeandGitHub ed926c4ec1 Merge pull request #63303 from hansemro/x11-eraser-case-insensitive
[X11] Do case-insensitive search for pen inversion detection
2022-07-22 09:17:04 +02:00
Rémi VerscheldeandGitHub e92f22691c Merge pull request #63302 from nathanfranke/rounded-svg
Round dimensions of SVG to work around floating point precision errors
2022-07-22 09:15:54 +02:00
Hansem Ro 0f5436098b [X11] Do case-insensitive search for pen inversion detection 2022-07-21 19:25:22 -07:00
Nathan Franke eb8482cf95 round dimensions of svg 2022-07-21 20:11:29 -05:00
Rémi Verschelde c8479c0d4d SCons: Refactor Linux linker options with linker=<bfd|gold|lld|mold>
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:

- `default`: No change, typically uses GNU ld (bfd) unless the user or
  distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
  use in production but great for development speed. Provided by distro
  `mold` package or needs to be compiled from source and installed to
  `/usr` otherwise.

Removes the `use_lld=yes` option, and make lld actually usable with GCC
too.

Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
2022-07-22 01:00:35 +02:00
Rémi VerscheldeandGitHub b3bd082070 Merge pull request #63295 from winterpixelgames/master-allow-scroll-container-scroll-to-be-set-instantly 2022-07-22 00:51:43 +02:00
Rémi VerscheldeandGitHub 19db9ed863 Merge pull request #63286 from RandomShaper/fix_debugger_focus 2022-07-22 00:48:06 +02:00
Rémi VerscheldeandGitHub 2280f85bc5 Merge pull request #63300 from KoBeWi/local_speciality 2022-07-22 00:32:07 +02:00
Rémi VerscheldeandGitHub 9b782b7573 Merge pull request #63242 from m4gr3d/fix_slow_copy_main
Address slow copy performance when using the `FileAccessFilesystemJAndroid` implementation
2022-07-22 00:22:30 +02:00
Guh-Feng 1b8652e86a Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
2022-07-21 18:11:09 -04:00
kobewi b42bbca266 Fix node dragging not working when dock is moved 2022-07-21 23:57:52 +02:00
Pedro J. Estébanez 033001375f Fix editor re-focus on debugger break on Windows 2022-07-21 21:47:05 +02:00
Yuri RubinskyandGitHub 74be36e622 Merge pull request #63289 from Chaosus/code_style_tolerance
Rename `epsilon` to `tolerance` in the `Plane::has_point` method
2022-07-21 21:52:03 +03:00
Jason Knight 48f2d128d4 Call update_scrollbars() in sort_children() so the max is set properly so you can set scroll_container.scroll_vertical instantly after adding children to a scroll container. 2022-07-21 12:23:41 -06:00
Yuri Rubinsky ccc56cc6d4 Rename epsilon to tolerance in the Plane::has_point method 2022-07-21 20:15:15 +03:00
Fredia Huya-KouadioandFredia Huya-Kouadio 31712cc9e7 Address slow copy performance when using the FileAccessFilesystemJAndroid implementation.
Read/write ops for this implementation are done through the java layer via jni, and so for good performance, it's key to avoid numerous repeated small read/write ops due the jni overhead.

The alternative is to allocate a (conversatively-sized) large buffer to reduce the number of read/write ops over the jni boundary.
2022-07-21 09:06:29 -07:00
Rémi VerscheldeandGitHub d6b1dd4854 Merge pull request #63128 from cdemirer/fix-callable-comparator-error-message-argcount 2022-07-21 16:50:39 +02:00
João Pedro São Gregorio SilvaandRémi Verschelde 324b4884d6 Fix incorrect expression base in AnimationNodeStateMachinePlayback::_check_advance_condition 2022-07-21 16:36:52 +02:00
Rémi VerscheldeandGitHub ea3d355f0a Merge pull request #62433 from KoBeWi/🌈 2022-07-21 16:36:34 +02:00
Rémi VerscheldeandGitHub f40aafeb39 Merge pull request #63244 from KoBeWi/canvas_picker 2022-07-21 16:34:16 +02:00
Rindbee b27bce875f Fix indeterminate minimum size in ScrollContainer 2022-07-21 22:29:25 +08:00
SaracenOne bd0819d4a0 Disable plugin for conversion of foreign Sprite2D to different types 2022-07-21 15:04:29 +01:00
SaracenOne 7776b47489 Add read-only mode to AnimationEditor for foreign resources. 2022-07-21 14:46:58 +01:00
Rémi VerscheldeandGitHub 35d7b94a54 Merge pull request #63281 from luzpaz/typos 2022-07-21 14:10:01 +02:00
luz paz 38aaaa3cf9 Fix various typos not caught by codespell
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
Rémi VerscheldeandGitHub 554be0c88e Merge pull request #63280 from bruvzg/macos_help_scr 2022-07-21 13:25:10 +02:00
bruvzg 3833165d85 [Export] Update generated CLI helper script to work on clean macOS Monterey installation. 2022-07-21 13:50:37 +03:00
kobewi dabe021f19 Fix selection list in 2D editor 2022-07-21 12:24:02 +02:00