Commit graph

56655 commits

Author SHA1 Message Date
Rémi Verschelde
3907e53ff6
SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +02:00
Rémi Verschelde
90f90cbcb0
Merge pull request #80661 from MewPurPur/nav-agent-more-readable
Make the NavigationAgent3D icon more readable
2023-08-16 09:18:59 +02:00
Rémi Verschelde
d2f7f8de34
Merge pull request #80659 from MewPurPur/portable-texture-icon
Add PortableCompressedTexture2D icon
2023-08-16 09:18:35 +02:00
Rémi Verschelde
ed81c93be7
Merge pull request #80658 from Sch1nken/tilemap-erase-scenes
TileMap: Check for possible scenes to be erased
2023-08-16 09:18:11 +02:00
Rémi Verschelde
3d1e135bc7
Merge pull request #80656 from konczg/fix_extension_wrapper_extension_casts
Fix casts of XR handles in OpenXRExtensionWrapperExtension
2023-08-16 09:17:48 +02:00
Rémi Verschelde
9d9043a9c8
Merge pull request #80654 from bitsawer/fix_global_uniform_texture_set
Fix global shader uniform texture loading
2023-08-16 09:17:25 +02:00
Rémi Verschelde
623156a05c
Merge pull request #80651 from clayjohn/RD-2D-HDR-MSDF
Fallback to linear color texture when using 2D HDR and MSDF font
2023-08-16 09:17:01 +02:00
Rémi Verschelde
f8aa7caf1d
Merge pull request #80642 from dsnopek/text_server_adv_gdextension-2
Use `String::resize()` and `CharString` in `text_server_adv` again
2023-08-16 09:16:38 +02:00
Rémi Verschelde
ed1180a97e
Merge pull request #80638 from sepTN/fix-particle-shader-rand
Fix particle shader deterministic random values
2023-08-16 09:16:14 +02:00
Rémi Verschelde
1d852cb75e
Merge pull request #80631 from Repiteo/C#-delegate-docstring
C#: Fixed delegate docstring logic
2023-08-16 09:15:50 +02:00
Rémi Verschelde
db1a5dc41a
Merge pull request #80630 from Repiteo/C#-paramref
C#: paramref now properly tagged in documentation
2023-08-16 09:15:27 +02:00
Rémi Verschelde
8c3d79ac65
Merge pull request #80628 from Repiteo/C#-CS1574
C#: Implement `proxy_name` for EnumInterface
2023-08-16 09:15:04 +02:00
Rémi Verschelde
da80a033f1
Merge pull request #80606 from bruvzg/rtl_scroll_hide
[RTL] Improve scroll bar responsiveness during updates.
2023-08-16 09:14:40 +02:00
Rémi Verschelde
4ed3f67229
Merge pull request #80591 from AThousandShips/compat_ver
Fix version check for GDExtension
2023-08-16 09:14:16 +02:00
Rémi Verschelde
d1b8e9abd6
Merge pull request #80571 from darksylinc/matias-resize-window-fix
Fix validation error when resizing window
2023-08-16 09:13:53 +02:00
Rémi Verschelde
6c3735cb7c
Merge pull request #80569 from m4gr3d/show_in_app_library_settings_main
Add export setting to control whether to show the Godot app in the app library
2023-08-16 09:13:30 +02:00
Rémi Verschelde
04c2bc5a37
Merge pull request #80424 from DarioSamo/rd-buffer-copy-vulkan
Add `buffer_copy` method to RenderingDevice
2023-08-16 09:13:06 +02:00
Rémi Verschelde
a7dc4c22a9
Merge pull request #80334 from Sauermann/fix-window-out-of-viewport-events
Fix nodes receiving mouse events in black bars of `Window`
2023-08-16 09:12:42 +02:00
Rémi Verschelde
132b97c325
Merge pull request #79747 from kleonc/canvas_modulate_fix_updating_logic
Fix `CanvasModulate` logic for modulating the canvas
2023-08-16 09:12:18 +02:00
Rémi Verschelde
20127ab693
Merge pull request #78871 from jitspoe/master.pr_compute_convex_mesh_points
Expose `compute_convex_mesh_points` function to GDScript
2023-08-16 09:11:53 +02:00
Rémi Verschelde
b44867b947
Merge pull request #77975 from sakrel/shader_debug_info
Add support for GLSL source-level debugging with RenderDoc
2023-08-16 09:11:23 +02:00
Matias N. Goldberg
0b09fdd96c Fix validation error when resizing window
Sometimes when resizing the window we may get the following validation
error:

ERROR: VALIDATION - Message Id Number: -370888023 | Message Id Name:
VUID-vkAcquireNextImageKHR-semaphore-01286
	Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01286 ]
Object 0: handle = 0xdcc8fd0000000012, type = VK_OBJECT_TYPE_SEMAPHORE;
| MessageID = 0xe9e4b2a9 | vkAcquireNextImageKHR: Semaphore must not be
currently signaled or in a wait state. The Vulkan spec states: If
semaphore is not VK_NULL_HANDLE it must be unsignaled
(https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01286)

In VulkanContext::prepare_buffers the problem was that
vkAcquireNextImageKHR returned VK_SUBOPTIMAL_KHR but it already signaled
the semaphore (because it is possible to continue normally with a
VK_SUBOPTIMAL_KHR result).

Then we recreate the swapchain and reuse the
w->image_acquired_semaphores[frame_index] which is in an inconsistent
state.

Fixed by recreating the semamphores along the swapchain.

Fix #80570
2023-08-15 20:57:49 -03:00
MewPurPur
82c45ed689 Make the NavigationAgent3D icon more readable 2023-08-15 18:31:02 +03:00
MewPurPur
8498078ee9 Add PortableCompressedTexture2D icon 2023-08-15 17:31:43 +03:00
Sch1nken
7aa90d1667 Check for possible scenes to be erased 2023-08-15 15:17:06 +02:00
Gabor Koncz
61455ff87e Fix casts of XR handles in OpenXRExtensionWrapperExtension
On 32-bit systems, XR handles are defined as uint64_t, so conversion from XR handles to uint64_t requires C-style casts.
2023-08-15 14:55:19 +02:00
bitsawer
41def3740a Fix global shader uniform texture loading 2023-08-15 14:18:26 +03:00
clayjohn
40d70bf9b8 Fallback to linear color texture when using 2D HDR and MSDF font 2023-08-15 11:08:29 +02:00
Ninni Pipping
97ef4a0536 Fix version check for GDExtension 2023-08-15 10:10:04 +02:00
Septian
cb7400d67a Fix particle shader deterministic random values 2023-08-15 15:06:37 +07:00
jsjtxietian
fec0396cac fix CollisionShape3D Shape Size handle will missing
when Script editor floating
2023-08-15 12:41:20 +08:00
jitspoe
541b021ab6 Expose compute_convex_mesh_points function to GDScript. 2023-08-14 22:37:21 -04:00
David Snopek
d585ca546b Use String::resize() and CharString in text_server_adv again 2023-08-14 18:12:05 -05:00
Thaddeus Crews
10cc46196b
C#: paramref now properly tagged in documentation
• If part of a signal, the old documentation style is used, as it points to a delegate & doesn't have actual parameters to reference
2023-08-14 15:16:52 -05:00
Thaddeus Crews
4d7c07a132
C#: Fixed delegate docstring logic
• No longer produces double-summaries
2023-08-14 11:17:47 -05:00
Thaddeus Crews
51154a86a1
Implement proxy_name for EnumInterface
• Fixes generated CS1574 warnings
2023-08-14 10:47:14 -05:00
Rémi Verschelde
c495eb5102
Merge pull request #80615 from akien-mga/gcc-fix-Wmaybe-uninitialized-warnings
Fix GCC `-Wmaybe-uninitialized` warnings
2023-08-14 15:31:42 +02:00
Rémi Verschelde
c78be12f42
Merge pull request #80610 from lawnjelly/fix_tilemap_editor_plugin_crash2
Fix `TileMapEditorPlugin` crash by storing tilemap ID instead of pointer
2023-08-14 15:31:19 +02:00
Rémi Verschelde
bbefba0264
Merge pull request #80608 from emmanuel-ferdman/wip
docs: Fix link to two's complement wiki page
2023-08-14 15:30:55 +02:00
Rémi Verschelde
c2fde9cc1e
Merge pull request #80607 from lawnjelly/fix_tileset_signal_crash
Fix crash on exit where `TileSet` calls destroyed `TileSetAtlasSourceEditor`
2023-08-14 15:30:32 +02:00
Rémi Verschelde
6f1c205221
Merge pull request #80598 from MewPurPur/curve-xyz-texture-icon
Add CurveXYZTexture icon
2023-08-14 15:30:08 +02:00
Rémi Verschelde
434d1733fb
Merge pull request #80552 from DarioSamo/multimesh-mv-regression-fix
Fix critical regressions introduced in PR #80414
2023-08-14 15:29:44 +02:00
Rémi Verschelde
30d564b14c
Merge pull request #80511 from Calinou/doc-projectsettings-version
Document behavior of the `application/config/version` project setting
2023-08-14 15:29:21 +02:00
Rémi Verschelde
6b5e44f3ca
Merge pull request #80510 from dalexeev/gds-fix-access-inner-class-from-inside
GDScript: Fix "Identifier not found" error when accessing inner class from inside
2023-08-14 15:28:57 +02:00
Rémi Verschelde
efdff9cbc2
Fix GCC -Wmaybe-uninitialized warnings 2023-08-14 14:35:35 +02:00
lawnjelly
356fc728a4 Fix TileMapEditorPlugin crash by storing tilemap ID instead of pointer
Store the tilemap ObjectID instead of raw pointer, and check it is valid before access.
2023-08-14 12:56:52 +01:00
MewPurPur
d009caef2b Add CurveXYZTexture icon 2023-08-14 12:44:33 +03:00
Emmanuel Ferdman
f000be3237
docs: fix link to two's complement wiki page
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2023-08-14 12:44:11 +03:00
lawnjelly
fa7be20ee1 Fix crash on exit where TileSet calls destroyed TileSetAtlasSourceEditor
Removes signal from TileSet on destroying TileSetAtlasSourceEditor, to prevent TileSet calling function in destroyed TileSetAtlasSourceEditor.
2023-08-14 10:25:50 +01:00
bruvzg
3709ca5404
[RTL] Improve scroll bar responsiveness during updates. 2023-08-14 11:36:05 +03:00