summaryrefslogtreecommitdiffstats
path: root/core/templates
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit godotengine/godot@6c05ec3d6732cac44cf85c91db7d3fd1075bcb23Spartan3222024-11-151-2/+3
|\
| * Merge pull request #98706 from Nazarwadim/fix_capture_cache_was_not_cachedThaddeus Crews2024-11-131-2/+3
| |\ | | | | | | | | | Fix `capture_cache.animation` was not cached
| | * Fix `capture_cache.animation` was not cachedNazarii2024-10-311-2/+3
| | |
* | | Merge commit godotengine/godot@cb411fa960f0b7fdbd97dcdb4c90f9346360ee0eSpartan3222024-11-121-0/+10
|\| |
| * | Allow passing UID to importerJuan2024-11-111-0/+10
| | | | | | | | | | | | | | | | | | | | | This helps, for importers spitting out new resources to the res:// filesystem to actually hash them to generate deterministic UIDs. This PR also fixes the determinism for translations.
* | | Merge commit godotengine/godot@0f5f3bc9546b46b2029fc8896dc859697f1eab97Spartan3222024-11-111-3/+3
|\| |
| * | Avoid const_cast in List::erase by requiring mutable elementsrune-scape2024-11-081-3/+3
| | |
* | | Merge pull request #824 from Spartan322/fix/ahashmap-godotGeorge L. Albany2024-10-312-4/+4
|\ \ \ | | | | | | | | Fix Godot headers for AHashMap to Redot
| * | | Fix Godot headers for AHashMap to RedotSpartan3222024-10-302-4/+4
| | | |
* | | | Merge commit godotengine/godot@8004c7524fb9f43425c4d6f614410a76678e0f7cSpartan3222024-10-303-7/+49
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Merge pull request #98652 from stuartcarnie/2d_texture_state_fixesThaddeus Crews2024-10-291-4/+46
| |\ \ | | | | | | | | | | | | 2D: Fix various issues and minor performance optimisations
| | * | 2D: Fix various issues and minor performance optimisationsStuart Carnie2024-10-301-4/+46
| | |/
| * | Merge pull request #97934 from adamscott/give-AThousandShips-a-breakThaddeus Crews2024-10-293-3/+3
| |\ \ | | |/ | |/| | | | [Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
| | * Set clang-format `RemoveSemicolon` rule to `true`Adam Scott2024-10-253-3/+3
| | | | | | | | | | | | - Set clang-format `Standard` rule to `c++20`
* | | Merge pull request #818 from Spartan322/fixup/copyright-headersGeorge L. Albany2024-10-2732-64/+64
|\ \ \ | | | | | | | | Fix copyright headers referring to Godot
| * | | Fix copyright headers referring to GodotSpartan3222024-10-2732-64/+64
| | | |
* | | | Merge commit godotengine/godot@61accf060515416da07d913580419fd8c8490f7bSpartan3222024-10-263-0/+782
|\ \ \ \ | |/ / / |/| / / | |/ /
| * / Implement array based hash mapnazarii2024-10-243-0/+778
| |/
* | Rebrand preambles to RedotDubhghlas McLaughlin2024-10-1132-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* | Rebrand Godot to RedotRandolph W. Aarseth II2024-10-112-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Linux Editor tests workflow matrix Add Windows Editor w/ Mono workflow matrix Add Generate Glue Code job to Windows workflow Add Build GodotSharp job to Windows workflow Add godot compatibility version references Add Godot author info Add Godot version compatibility info Add Godot donor info Add Godot authors and donors to editor_about.cpp Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Merge pull request #97465 from DarioSamo/lock-free-ridRémi Verschelde2024-10-041-71/+68
|\ | | | | | | Make `RID_Owner` lock-free for fetching.
| * Make RID_Owner lock-free for fetching.Juan Linietsky2024-09-251-71/+68
| | | | | | | | | | | | | | | | | | | | | | This PR makes RID_Owner lock free for fetching values, this should give a very significant peformance boost where used. Some considerations: * A maximum number of elements to alocate must be given (by default 256k). * Access to the RID structure is still safe given they are independent from addition/removals. * RID access was never really thread-safe in the sense that the contents of the data are not protected anyway. Each server needs to implement locking as it sees fit.
* | Add a sort method to Dictionary and HashMapAaron Franke2024-10-022-0/+86
| |
* | [Core] Add missing `HashMapComparatorDefault` casesA Thousand Ships2024-09-281-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added for: * `AABB` * `Basis` * `Color` * `Plane` * `Projection` * `Quaternion` * `Rect2` * `Transform2D` * `Transform3D` * `Vector4` Ensures these handles `NaN` correctly
* | SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|/
* Merge pull request #94137 from Craig-Stoneham/masterRémi Verschelde2024-08-263-35/+35
|\ | | | | | | Improve template class conditionals with constexpr (code style)
| * Improve Template Class Conditionals (Code Style)Craig-Stoneham2024-08-253-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored the following template classes by replacing runtime checks with compile-time checks using if constexpr for improved code clarity and maintainability: - RID_Alloc - SortArray - PagedAllocator Changes made: - Updated conditional checks for THREAD_SAFE in the RID_Alloc class. - Updated conditional checks for Validate in the SortArray class. - Updated conditional checks for thread_safe in the PagedAllocator class.
* | WorkerThreadPool (plus friends): Overhaul unlock allowance zonesPedro J. Estébanez2024-08-212-20/+6
|/ | | | This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
* Merge pull request #95469 from bruvzg/cowdata_unrefRémi Verschelde2024-08-161-13/+12
|\ | | | | | | `CowData` remove hardcoded offset and unused argument from `_unref`.
| * `CowData` remove hardcoded offset and unused argument from `_unref`.bruvzg2024-08-131-13/+12
| |
* | Merge pull request #94353 from aaronp64/cowdata_insertRémi Verschelde2024-08-161-5/+8
|\ \ | |/ |/| | | Improve `CowData::insert` performance
| * Improve CowData::insert performanceaaronp642024-07-151-5/+8
| | | | | | | | Update CowData::insert to call ptrw() before loop, to avoid calling _copy_on_write for each item in the array, as well as repeated index checks in set and get. For larger Vectors/Arrays, this makes inserts around 10x faster for ints, 3x faster for Strings, and 2x faster for Variants. Less of an impact on smaller Vectors/Arrays, as a larger percentage of the time is spent allocating.
* | Fixup recent changes to threading concernsPedro J. Estébanez2024-07-161-2/+6
|/ | | | | | | | | | | | | | ResourceLoader: - Fix invalid tokens being returned. - Remove no longer written `ThreadLoadTask::dependent_path` and the code reading from it. - Clear deadlock hazard by keeping the mutex unlocked during userland polling. WorkerThreadPool: - Include thread call queue override in the thread state reset set, which allows to simplify the code that handled that (imperfectly) in the ResourceLoader. - Handle the mutex type correctly on entering an allowance zone. CommandQueueMT: - Handle the additional possibility of command buffer reallocation that mutex unlock allowance introduces.
* WorkerThreadPool: Refactor deadlock prevention collaboration into a generic ↵Pedro J. Estébanez2024-06-191-2/+2
| | | | | | | mechanism This is strictly beyond a refactor because it also changes when the mutexes are relocked, but that's only for extra safety.
* CommandQueueMT: Pre-allocate memory to avoid a bunch of allocations at startupPedro J. Estébanez2024-05-092-3/+2
|
* Merge pull request #91725 from RandomShaper/cmd_queue_avoid_skipRémi Verschelde2024-05-091-2/+19
|\ | | | | `CommandQueueMT`: Fix sync command awaiters missing the chance
| * CommandQueueMT: Fix sync command awaiters missing the chancePedro J. Estébanez2024-05-081-2/+19
| |
* | Apply additional fixes to servers' threadingPedro J. Estébanez2024-05-081-0/+9
| |
* | CommandQueueMT: Fix command cleanup (revive destructor call + plus handle ↵Pedro J. Estébanez2024-05-081-1/+5
|/ | | | buffer realloc)
* Merge pull request #91104 from RandomShaper/simple_type_cppRémi Verschelde2024-05-082-20/+3
|\ | | | | | | Redefine `GetSimpleTypeT<>` in terms of `<type_traits>`
| * Redefine GetSimpleTypeT<> in terms of <type_traits>Pedro J. Estébanez2024-04-242-20/+3
| |
* | Merge pull request #90705 from AThousandShips/foreach_listRémi Verschelde2024-05-071-24/+32
|\ \ | | | | | | | | | Reduce and prevent unnecessary random-access to `List`
| * | Reduce and prevent unnecessary random-access to `List`A Thousand Ships2024-05-041-24/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when accessing a single element) * Removed subscript operator, in favor of a more explicit `get` * Added conversion from `Iterator` to `ConstIterator` * Remade existing operations into other solutions when applicable
* | | [Core] Add `LocalVector::has` for convenienceA Thousand Ships2024-05-061-0/+4
|/ /
* | Merge pull request #90760 from RandomShaper/cmd_queue_good_syncRémi Verschelde2024-05-012-72/+30
|\ \ | | | | | | | | | CommandQueueMT: Optimize & fix handling of sync/ret commands
| * | CommandQueueMT: Optimize & fix handling of sync/ret commandsPedro J. Estébanez2024-04-232-72/+30
| |/
* / Fix GCC 14 -Wtemplate-id-cdtor warningsRémi Verschelde2024-04-262-3/+3
|/ | | | Fixes #91206.
* Merge pull request #90268 from RandomShaper/wtp_serversRémi Verschelde2024-04-152-25/+26
|\ | | | | Use WorkerThreadPool for Server threads (enhanced)
| * Use WorkerThreadPool for Server threadsJuan Linietsky2024-04-102-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Servers now use WorkerThreadPool for background computation. * This helps keep the number of threads used fixed at all times. * It also ensures everything works on HTML5 with threads. * And makes it easier to support disabling threads for also HTML5. CommandQueueMT now syncs with the servers via the WorkerThreadPool yielding mechanism, which makes its classic main sync semaphore superfluous. Also, some warnings about calls that kill performance when using threaded rendering are removed because there's a mechanism that warns about that in a more general fashion. Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
* | CommandQueueMT: Fix flush re-entrancyPedro J. Estébanez2024-04-101-7/+6
|/