1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-15 13:51:40 +00:00
Commit Graph

72812 Commits

Author SHA1 Message Date
Thaddeus Crews
38775731e8 Merge pull request #99965 from Riteo/unstable-galore
Wayland: Add support for xdg-foreign-unstable-v2
2024-12-11 17:36:07 -06:00
Thaddeus Crews
3dacc5fb7f Merge pull request #95737 from Chaosus/shader_fix_varyings
Fix shader crash when using varyings with non-`flat` integer type
2024-12-11 17:36:06 -06:00
Thaddeus Crews
66dd2895fa Merge pull request #100208 from eviltrout/highlight-bg-fix
Fix user selection on top of `bgcolor` areas in a `RichTextLabel`
2024-12-11 17:36:05 -06:00
Thaddeus Crews
e188cf6066 Merge pull request #99182 from timoschwarzer/fix/editor-save-dialog-options
Improve editor file dialog options
2024-12-11 17:36:04 -06:00
Thaddeus Crews
dee79d55fe Merge pull request #100204 from KoBeWi/nananananan
Clarify `limit_length()` for infinite vectors
2024-12-11 17:36:03 -06:00
Thaddeus Crews
08b5bf3c5f Merge pull request #95333 from Giganzo/lock-group-toggle
Fix Lock and Group for canvas items not updated in editor after changed in SceneTree
2024-12-11 17:36:02 -06:00
Thaddeus Crews
ef3086bcdb Merge pull request #94947 from ChrisBase/issue_94946
Change some image error messages to output the file path
2024-12-11 17:35:58 -06:00
Thaddeus Crews
7ed6962252 Merge pull request #95072 from Calinou/editor-log-tweak-warning-error-formatting
Tweak warning/error formatting in EditorLog to be closer to console output
2024-12-11 17:35:56 -06:00
Thaddeus Crews
c4aaad6aa2 Merge pull request #100183 from smix8/collision_polygon_shape_edit
Add basic editor editing for `ConvexPolygonShape2D` and `ConcavePolygonShape2D`
2024-12-11 17:35:55 -06:00
Thaddeus Crews
4a1a7addd1 Merge pull request #100179 from zaevi/fix_transient_topmost
[Windows & macOS] Fix popup window shows behind `always_on_top` parent.
2024-12-11 17:35:53 -06:00
Thaddeus Crews
ab208af781 Merge pull request #100174 from Calinou/gdscript-add-deprecated-experimental-annotations
Tweak unknown annotation GDScript error for `@deprecated`/`@experimental`/`@tutorial`
2024-12-11 17:35:50 -06:00
Thaddeus Crews
be65514c11 Merge pull request #100042 from Calinou/ci-xmllint-quiet
GitHub Actions: Use quiet xmllint output to only print error lines
2024-12-11 17:35:49 -06:00
Thaddeus Crews
a5cf24cb16 Merge pull request #100162 from ryevdokimov/measure-mode-3d
Add ruler mode to 3D
2024-12-11 17:35:46 -06:00
Thaddeus Crews
572e1d6643 Merge pull request #100289 from bruvzg/token_name
[Shader Language] Add missing token name.
2024-12-11 17:35:44 -06:00
Thaddeus Crews
42580089b8 Merge pull request #100280 from Calinou/basematerial3d-remove-texturesize
Replace `textureSize()` with a uniform in BaseMaterial3D for MSDF rendering
2024-12-11 17:35:43 -06:00
Thaddeus Crews
e9d343805e Merge pull request #94636 from Calinou/doc-process-delta-low-fps
Document `_process()` and `_physics_process()` delta behavior at low FPS
2024-12-11 17:35:42 -06:00
Thaddeus Crews
b773fff5a4 Merge pull request #99622 from Chaosus/shader_fix_global_empty_type
Add `samplerExternalOES` type to shader globals
2024-12-11 17:35:40 -06:00
Thaddeus Crews
2b41a217d2 Merge pull request #100259 from Sauermann/proposal-right-click-cancel-drag
Allow canceling drag-and-drop with right mouse button
2024-12-11 17:35:39 -06:00
Thaddeus Crews
153ef23483 Merge pull request #100129 from smix8/pathunspaghettification
Despaghettify NavigationServer path queries
2024-12-11 17:35:38 -06:00
Thaddeus Crews
23afda44e4 Merge pull request #100257 from darksylinc/matias-minimize-leak
Keep processing Graphics if there are pending operations
2024-12-11 17:35:35 -06:00
Thaddeus Crews
db2088b0cd Merge pull request #100126 from dsnopek/gdextension-missing-gdvirtual-bind
Add missing `GDVIRTUAL_BIND()` for `AudioStream::_has_loop()` and `::_get_bar_beats()`
2024-12-11 17:35:33 -06:00
Thaddeus Crews
84da7c9cf5 Merge pull request #99997 from akien-mga/mbedtls-3.6.2
mbedtls: Update to upstream 3.6.2
2024-12-11 17:35:31 -06:00
Thaddeus Crews
4146bcc0dc Merge pull request #99089 from Mickeon/documentation-truth-csharp-rabbit-hoole
Fix C# boolean "Prints" comments in documentation
2024-12-11 17:35:30 -06:00
Thaddeus Crews
c5e6f6276b Merge pull request #100110 from DarioSamo/rd-get-data-async
Implement `RD::buffer_get_data_async()` and `RD::texture_get_data_async()`
2024-12-11 17:35:29 -06:00
Thaddeus Crews
1c4d12db2b Merge pull request #99981 from dsnopek/fix-compositor-effects-gdextension
`CompositorEffect` should use `GDVIRTUAL_CALL()` so it works with GDExtension
2024-12-11 17:35:28 -06:00
Thaddeus Crews
f20ab9b2cf Merge pull request #99338 from KoBeWi/consider_it_fixed
Clarify Button's text clipping
2024-12-11 17:35:27 -06:00
Thaddeus Crews
61f2001aba Merge pull request #99081 from Mickeon/documentation-floats-now-print-the-trailing-zero
Update documentation's "Prints" comments after #47502
2024-12-11 17:35:26 -06:00
Lukas Tenbrink
ef3eecd34e Optimize String.count and String.countn by avoiding repeated reallocations. 2024-12-12 00:28:13 +01:00
Bastiaan Olij
0a61ebdcea OpenXR: Add support for binding modifiers 2024-12-12 09:46:19 +11:00
smix8
476479419b Despaghettify NavigationServer path queries
Despaghettify NavigationServer path queries.
2024-12-11 22:29:48 +01:00
Dario
054891de04 Implement buffer_get_data_async and texture_get_data_async. 2024-12-11 11:55:23 -08:00
Pāvels Nadtočajevs
133471afb0 [Shader Language] Add missing token name. 2024-12-11 21:05:14 +02:00
Rémi Verschelde
51730391c6 libbacktrace: Update to upstream commit 1db85642e
1db85642e3
2024-12-11 18:50:48 +01:00
Rémi Verschelde
c2e4ae782a Merge pull request #100235 from akien-mga/revert-97303
Revert "Avoid duplicating signals from scene instances into packed scenes"
2024-12-11 18:48:18 +01:00
Rémi Verschelde
00ac17462a Merge pull request #100281 from bruvzg/bt_big
[Windows] Fix loading debug symbol files over 2GB.
2024-12-11 18:47:14 +01:00
Rémi Verschelde
234ed35f68 Merge pull request #100270 from bruvzg/clang_dw4
[Windows] Use `dwarf-4` for clang builds on Windows.
2024-12-11 18:47:10 +01:00
Rémi Verschelde
1424046317 Merge pull request #100266 from bruvzg/mac_fullp
[macOS] Print full source paths in the trace.
2024-12-11 18:47:07 +01:00
Rémi Verschelde
a5fd2a64cf Merge pull request #99717 from Repiteo/codeowners/scene-core
CI: Remove leading-underscore teams from `CODEOWNERS`
2024-12-11 18:47:00 +01:00
Thaddeus Crews
9bb747e0e8 CI: Remove leading-underscore teams from CODEOWNERS 2024-12-11 11:17:44 -06:00
Matias N. Goldberg
acf439e96d Keep processing Graphics if there are pending operations
Fixes #90017
Fixes #90030
Fixes #98044

This PR makes the following changes:

# Force processing of GPU commands for frame_count frames

The variable `frames_pending_resources_for_processing` is added to track
this.

The ticket #98044 suggested to use `_flush_and_stall_for_all_frames()`
while minimized.

Technically this works and is a viable solution.

However I noticed that this issue was happening because Logic/Physics
continue to work "business as usual" while minimized(\*). Only Graphics
was being deactivated (which caused commands to accumulate until window
is restored).

To continue this behavior of "business as usual", I decided that GPU
work should also "continue as usual" by buffering commands in a double
or triple buffer scheme until all commands are done processing (if they
ever stop coming). This is specially important if the app specifically
intends to keep processing while minimized.

Calling `_flush_and_stall_for_all_frames()` would fix the leak, but it
would make  Godot's behavior different while minimized vs while the
window is presenting.

\* `OS::add_frame_delay` _does_ consider being minimized, but it just
throttles CPU usage. Some platforms such as Android completely disable
processing because the higher level code stops being called when the app
goes into background. But this seems like an implementation-detail that
diverges from the rest of the platforms (e.g. Windows, Linux & macOS
continue to process while minimized).

# Rename p_swap_buffers for p_present

**This is potentially a breaking change** (if it actually breaks
anything, I ignore. But I strongly suspect it doesn't break anything).

"Swap Buffers" is a concept carried from OpenGL, where a frame is "done"
when `glSwapBuffers()` is called, which basically means "present to the
screen".

However it _also_ means that OpenGL internally swaps its internal
buffers in a double/triple buffer scheme (in Vulkan, we do that
ourselves and is tracked by `RenderingDevice::frame`).

Modern APIs like Vulkan differentiate between "submitting GPU work" and
"presenting".

Before this PR, calling `RendererCompositorRD::end_frame(false)` would
literally do nothing. This is often undesired and the cause of the leak.
After this PR, calling `RendererCompositorRD::end_frame(false)` will now
process commands, swap our internal buffers in a double/triple buffer
scheme **but avoid presenting to the screen**.

Hence the rename of the variable from `p_swap_buffers` to `p_present`
(which slightly alters its behavior).
If we want `RendererCompositorRD::end_frame(false)` to do nothing, then
we should not call it at all.

This PR reflects such change: When we're minimized **_and_**
`has_pending_resources_for_processing()` returns false, we don't call
`RendererCompositorRD::end_frame()` at all.

But if `has_pending_resources_for_processing()` returns true, we will
call it, but with `p_present = false` because we're minimized.

There's still the issue that Godot keeps processing work (logic,
scripts, physics) while minimized, which we shouldn't do by default. But
that's work for follow up PR.
2024-12-11 14:13:29 -03:00
Pāvels Nadtočajevs
a8c8eca74a [Windows] Fix loading debug symbol files over 2GB. 2024-12-11 17:42:47 +02:00
Lukas Tenbrink
57073ba14e Add move constructor and move assignment to CowData, String, Char16String, CharString and Vector. 2024-12-11 15:52:15 +01:00
Hugo Locurcio
3dfc832272 Replace textureSize() with a uniform in BaseMaterial3D for MSDF rendering
This uniform was already defined for other uses previously.

`textureSize()` is known to be slow on mobile platforms due to how
the drivers implement it there, so it's best avoided.
2024-12-11 15:44:06 +01:00
Timo Schwarzer
11bf2da9de Improve editor file dialog options 2024-12-11 15:11:34 +01:00
Rémi Verschelde
44dfa7e710 Merge pull request #99895 from mihe/jolt-physics
Add Jolt Physics as an alternative 3D physics engine
2024-12-11 14:53:57 +01:00
kobewi
b8b1584f5a Don't emit text_changed signal when clearing empty LineEdit 2024-12-11 14:16:36 +01:00
Mikael Hermansson
d470c2ac6a Add Jolt Physics as an alternative 3D physics engine
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2024-12-11 13:57:25 +01:00
bruvzg
800076a6c2 [Windows] Use dwarf-4 for clang builds on Windows. 2024-12-11 14:10:57 +02:00
Yuri Rubinsky
a40fc2354a Merge pull request #100036 from Chaosus/hover_sname
[Scene] Add `SceneStringName::hover`
2024-12-11 12:24:09 +03:00
Yuri Rubinsky
ff9d389aa6 Merge pull request #99934 from Chaosus/animation_node_state_machine_fix_orphan_strings
Fix orphan strings in `AnimationNodeStateMachine`
2024-12-11 12:23:22 +03:00