Commit Graph

60335 Commits

Author SHA1 Message Date
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
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
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
Rémi Verschelde c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Rémi Verschelde dd487ebb0b
Merge pull request #86568 from jsjtxietian/fix-infinite-loop-tile
Fix potential infinite loop when calculating tile editor zoom level
2024-01-08 11:55:30 +01:00
Rémi Verschelde 665c3edee2
Merge pull request #86557 from kleonc/polygon2d-with-skeleton-transform-fix
Fix Polygon2D to Skeleton2D transform calculation
2024-01-08 11:55:06 +01:00
Rémi Verschelde 53d47a389c
Merge pull request #86542 from KoBeWi/merge_split_action
Improve Path2D editing
2024-01-08 11:54:42 +01:00
Rémi Verschelde 5ac5be4744
Merge pull request #86507 from jsjtxietian/fix-msvc-2017
Fix MSVC 14.1 complaining about "attempting to reference a deleted function" in RenderPassClearValue
2024-01-08 11:54:17 +01:00
Rémi Verschelde 97607b6ab3
Merge pull request #86474 from KoBeWi/particular_velocity
Only update particle velocity when it changes
2024-01-08 11:53:53 +01:00
Rémi Verschelde 48b726deba
Merge pull request #86417 from LimestaX/tscn-escape-char-fix
Ensure special characters are escaped in TSCN connections and editable hint
2024-01-08 11:53:28 +01:00
Rémi Verschelde ff79ec75de
Merge pull request #86349 from DSteve595/patch-1
Clarify doc: `Node.get_child` returns null for invalid index
2024-01-08 11:53:04 +01:00
Rémi Verschelde 798632422d
Merge pull request #86245 from ecmjohnson/fix-skeleton-culling
Check skeleton RID when using cached AABB
2024-01-08 11:52:41 +01:00
Rémi Verschelde 60f557c0c5
Merge pull request #86016 from demolke/master
Import step interpolation for loc/rot/scale from GLTF as nearest
2024-01-08 11:52:16 +01:00
Rémi Verschelde 26ae551108
Merge pull request #85870 from dsnopek/collision-object-3d-gdextension-virtuals
Fix overriding `CollisionObject3D::_mouse_enter()` and `_mouse_exit()` from GDExtension
2024-01-08 11:51:52 +01:00