Commit graph

60763 commits

Author SHA1 Message Date
Rémi Verschelde
2ccc5c7575
Merge pull request #86990 from akien-mga/revert-84167-cache_mode_replace_fixes
Revert "Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`"
2024-01-09 11:30:06 +01:00
Rémi Verschelde
6f118b8c4a
Merge pull request #86985 from timothyqiu/zip-packer-attributes
Fix ZIPPacker storing file permissions unexpectedly
2024-01-09 11:30:02 +01:00
Rémi Verschelde
27509a6027
Merge pull request #86980 from BastiaanOlij/openxr_1_0_33
Updated thirdparty OpenXR library to 1.0.33
2024-01-09 11:29:59 +01:00
Rémi Verschelde
a56dd6ca52
Merge pull request #86920 from griffinkh/build_warning_fix
Fix build warning with memset value being too large
2024-01-09 11:29:55 +01:00
Rémi Verschelde
1d3f98ac6a
Merge pull request #86894 from jsjtxietian/merge-dafault-font
In `merge_with` also merge some default fields of theme
2024-01-09 11:29:52 +01:00
Rémi Verschelde
a50a6b9400
Merge pull request #86798 from Mickeon/autocompletion-rendering-server
Add autocompletion for RenderingServer's global shader methods & `has_os_feature`
2024-01-09 11:27:31 +01:00
Rémi Verschelde
e1f3a56bde
Merge pull request #86462 from tdaven/tdaven/fix-86427
Use ObjectID's instead of node pointers to track scene groups to prevent crash.
2024-01-09 11:27:27 +01:00
Rémi Verschelde
079f1c154d
Merge pull request #86269 from aaronfranke/detect-module
Allow detecting when building as an engine module
2024-01-09 11:27:24 +01:00
Rémi Verschelde
e9695d9fa2
Merge pull request #84976 from DarioSamo/rd_common_render_graph
Acyclic Command Graph for Rendering Device
2024-01-09 11:27:19 +01:00
Rémi Verschelde
4181027596
Merge pull request #84442 from Calinou/colorpicker-allow-more-hex-codes
Allow additional hexadecimal color codes in ColorPicker
2024-01-09 11:27:14 +01:00
Rémi Verschelde
1edcf9a405
Merge pull request #81345 from anvilfolk/gdoverview
GDScript: Add module description in markdown
2024-01-09 11:27:05 +01:00
Trevor Davenport
39ae82623d
Use ObjectID to track cached scene groups.
This prevents a crash that could occur when using the Node pointer
would reference a Node which had been freed after node_removal.
2024-01-09 11:14:38 +01:00
Rémi Verschelde
9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader CACHE_MODE_REPLACE" 2024-01-09 10:49:14 +01:00
Haoyu Qiu
7a833c9b2e Fix ZIPPacker storing file permissions unexpectedly 2024-01-09 13:55:34 +08:00
Bastiaan Olij
3747cf2ffa Updated thirdparty OpenXR library to 1.0.33 2024-01-09 11:47:45 +11:00
Dominic Austria
c8bdd1d774 implement overdraw, lighting, and unshaded debug draw modes for opengl 2024-01-08 17:34:09 -05:00
K. S. Ernest (iFire) Lee
1430f0b67d Add obj importer changes to use ImporterMesh. 2024-01-08 13:57:20 -08:00
HolonProduction
92a7c26806 Allow specifying a scene in completion tests 2024-01-08 22:38:41 +01:00
Zae
51c54b03d1 C#: Fix return type hint for methods. 2024-01-09 04:28:17 +08:00
Silc Lizard (Tokage) Renew
f8da9460c1 Make default blend_left consider current blend amount 2024-01-09 05:07:27 +09:00
Hugo Locurcio
80a770a8ed
Allow additional hexadecimal color codes in ColorPicker
The following formats are now accepted (leading `#` is optional):

- `#1` -> `#111111`
- `#12` -> `#121212`
- `#12345` -> `#11223344` (`5` at the end is discarded)
- `#1234567` -> `#123456` (`7` at the end is discarded)
2024-01-08 20:51:45 +01:00
Dario
cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Griffin Kroah-Hartman
b97cb5ec59 Fix build warning with memset value being too large
Should resolve issue #83342
2024-01-08 17:26:41 +01:00
Rémi Verschelde
84e205b5a1
Merge pull request #86950 from jsjtxietian/fix-compress-image-error
Fix wrong fail condition in compressed texture's `_set_data`
2024-01-08 14:53:43 +01:00
Rémi Verschelde
c6671d9961
Merge pull request #86906 from Malcolmnixon/avatar-capable-openxrhand
Add ability to drive full-body avatars using OpenXRHand
2024-01-08 14:53:20 +01:00
Rémi Verschelde
d8dc554241
Merge pull request #86847 from kleonc/tilemap-make-quadrant-canvas-item-position-local
Fix `TileMap` quadrant canvas item position not being local
2024-01-08 14:52:54 +01:00
Rémi Verschelde
a7e347482b
Merge pull request #86687 from TokageItLab/AnimationMixer-remove-object-pointer
Fix TrackCache conflict when tracks have same name but different type
2024-01-08 14:52:30 +01:00
Rémi Verschelde
25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Rémi Verschelde
129332e3b9
Merge pull request #82468 from kitbdev/tabcontainer-bottom
Option to put TabContainer tabs at bottom
2024-01-08 14:51:37 +01:00
kleonc
3c25274870 Fix TileMap quadrant canvas item position not being local 2024-01-08 14:20:16 +01:00
Silc Lizard (Tokage) Renew
a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Pedro J. Estébanez
a731774813 WorkerThreadPool: Avoid most runtime allocations
Just a little optimization.

**NOTE:**
With `RID_Owner` we could replace each pair of `PagedAllocator` and
`HashMap`-of-ids-to-pointers. However, that would force us to expose
`RID` as the task/group id, instead of `int`, which would break the
API. Too bad. Let's wait until Godot 5.0.
2024-01-08 12:46:31 +01:00
Pedro J. Estébanez
ae418f9469 WorkerThreadPool: Avoid deadlocks when CommandQueueMT is involved
This commit lets CommandQueueMT play nicely with the WorkerThreadPool to avoid
non-progressable situations caused by an interdependence between both. While a
command queue is being flushed, it allows the WTP to release its lock while tasks
are being awaited so they can make progress in case they need in turn to post
to the command queue.
2024-01-08 12:45:43 +01:00
Pedro J. Estébanez
9444d297ed WorkerThreadPool: Overhaul scheduling and synchronization
This commits rewrites the sync logic in a way that the
`use_system_threads_for_low_priority_tasks` setting, which was added due to
the lack of a cross-platform wait-for-multiple-objects functionality, can be
removed (it's as if it was effectively hardcoded to `false`).

With the new implementation, we have the best of both worlds: threads don't
have to poll, plus no bespoke threads are used.

In addition, regarding deadlock prevention, since not every possible case of
wait-deadlock could be avoided, this commits removes the current best-effort
avoidance mechanisms and keeps only a simple, pessimistic way of detection.

It turns out that the only current user of deadlock prevention, ResourceLoader,
works fine with it and so every possible situation in resource loading is now
properly handled, with no possibilities of deadlocking. There's a comment in
the code with further details.

Lastly, a potential for load tasks never being awaited/disposed is cleared.
2024-01-08 12:45:42 +01:00
Micky
472e3b3ad5 Add autocompletion for RenderingServer's global shader & has_os_feature 2024-01-08 12:20:31 +01:00
Rémi Verschelde
35da70f953
Merge pull request #86933 from alessandrofama/drop-texture-scene-history
Fix 2D viewport texture drop issue with global history registration
2024-01-08 12:01:55 +01:00
Rémi Verschelde
4ca33d318b
Merge pull request #86908 from AdSkipper1337/collision-object-2d-gdextension-virtuals
Fix virtual calls for GDExtension in `CollisionObject2D`
2024-01-08 12:01:31 +01:00
Rémi Verschelde
07f5dac81a
Merge pull request #86895 from Mickeon/documentation-textserver-missing-descriptions
Add missing descriptions to TextServer's constants
2024-01-08 12:01:07 +01:00
Rémi Verschelde
edcea4a2ca
Merge pull request #86893 from Mickeon/autocomplete-editor-interface
Add autocompletion for a few EditorInterface methods
2024-01-08 12:00:43 +01:00
Rémi Verschelde
c9ef2fdb0b
Merge pull request #86891 from Mickeon/autocompletion-get-node-or-null
Add autocompletion to `get_node_or_null`
2024-01-08 12:00:19 +01:00
Rémi Verschelde
c951ec163e
Merge pull request #86882 from Mickeon/its-a-secret-to-everyone
Hide Keystore Release password on Android's Export window
2024-01-08 11:59:55 +01:00
Rémi Verschelde
6226388bac
Merge pull request #86874 from AThousandShips/no_3d_fix
Fix some build errors with `disable_3d=yes`
2024-01-08 11:59:31 +01:00
Rémi Verschelde
0354dc4205
Merge pull request #86867 from TokageItLab/reset-copy-options-for-more
Copy InterpolationType / LoopMode for all track & UseBlend option for audio when adding reset keys
2024-01-08 11:59:07 +01:00
Rémi Verschelde
f5e2529584
Merge pull request #86848 from Mickeon/documentation-canvas-texture-note
Specify how CanvasTexture does not work in 3D
2024-01-08 11:58:43 +01:00
Rémi Verschelde
01f8ce6e3d
Merge pull request #86846 from capnm/240105_thorvg_from_v0.11.6_to_v0.12.0
ThorVG: update from v0.11.6 to v0.12.0
2024-01-08 11:58:19 +01:00
Rémi Verschelde
9bacd02297
Merge pull request #86827 from bruvzg/ploc_out_of_bounds
[Pseudolocalization] Prevent out of bounds reads.
2024-01-08 11:57:55 +01:00
Rémi Verschelde
e417b7e6e6
Merge pull request #86824 from alessandrofama/audio-import-playback-position
Fix playback position label update in Audio Stream Importer
2024-01-08 11:57:31 +01:00
Rémi Verschelde
c7fb7273c5
Merge pull request #86811 from TheSofox/light2d-blend-3to4
Added compatibility for Blend Mode in `Light2D`/`PointLight2D` when converting from Godot 3 to 4.
2024-01-08 11:57:07 +01:00
Rémi Verschelde
4aa8e87e50
Merge pull request #86805 from ryevdokimov/clear-nodes-on-ui-cancel-2d
Allow `ui_cancel` to unselect all nodes in all edit modes in 2D, matching 3D behavior
2024-01-08 11:56:43 +01:00
Rémi Verschelde
f46465ba14
Merge pull request #86804 from ryevdokimov/allow-all-modes-to-select
Allow all editor modes to select nodes in the viewport
2024-01-08 11:56:19 +01:00