1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-03 16:55:53 +00:00
Commit Graph

370 Commits

Author SHA1 Message Date
Lukas Tenbrink
109d3d8530 Make Vector bsearch method const. 2025-11-25 19:05:30 +01:00
Pāvels Nadtočajevs
51ff09dc1e Fix memory alignment on 32-bit Windows. 2025-11-25 13:01:43 +02:00
Pedro J. Estébanez
4ba4558cf6 CommandQueueMT: Reduce lock contention in cases of single flusher 2025-11-21 11:11:30 +01:00
Pedro J. Estébanez
b16a8b8a76 CommandQueueMT: Fix race conditions 2025-11-21 11:09:16 +01:00
Lukas Tenbrink
43a8009a56 Clean up String::find to remove duplicate code, and speed up comparison with memcmp where possible. 2025-11-19 22:39:05 +01:00
kobewi
e14263f917 Remove empty constructors and destructors from core/ 2025-11-17 20:09:05 +01:00
Thaddeus Crews
910133fda6 Merge pull request #104280 from Ivorforce/span-equality
Add `Span` equality (`==` and `!=`) operators.
2025-11-17 10:56:55 -06:00
Thaddeus Crews
359ef8fc2b Merge pull request #108932 from Nazarwadim/hash_map_final_optimization
Do not zero elements and perform fast clear in `HashMap`
2025-11-17 10:56:27 -06:00
Lukas Tenbrink
d7f5c13db8 Add Span equality (== and !=) operators.
Exchange duplicate equality iteration implementations across `Vector` and `String` with the `Span` version, for a speed boost.
2025-11-15 14:21:54 +01:00
Thaddeus Crews
c6fe923e33 Merge pull request #108516 from KoBeWi/file_graveyard
Remove unnecessary cpp files after cleanup
2025-11-14 14:23:06 -06:00
Stuart Carnie
90c0e6acca 2D: Switch to VBOs for instance data
- Add support for vertex bindings and UMA vertex buffers in D3D12.
- Simplify 2D instance params and move more into per-batch data to save
  bandwidth

Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
Co-authored-by: A Thousand Ships <96648715+athousandships@users.noreply.github.com>
2025-11-15 06:25:49 +11:00
Nazarii
e6bc3fa164 Do not zeroed elements and fast clear in HashMap 2025-11-14 11:33:13 +02:00
Thaddeus Crews
df51b1480d Merge pull request #112660 from aaronfranke/list-find-const
Add a const version of `List::find`
2025-11-12 11:24:16 -06:00
Aaron Franke
6f207a4601 Add a const version of List::find 2025-11-12 00:36:09 -08:00
Stuart Carnie
bdfe8549b8 Core: Switch RID_alloc::owns to lock-free 2025-11-12 15:17:45 +11:00
aaronp64
afd59b36cf Avoid extra copy in Vector/CowData push_back/insert
Update push_back/insert methods to move new item into CowData instead of copying
2025-11-11 12:19:35 -05:00
David Snopek
bc9f3c7d92 Make Vector<T>::duplicate() const
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2025-11-04 17:13:11 -06:00
Thaddeus Crews
5c9333073a Merge pull request #111696 from StarryWorm/langtable-include
Fix missing includes in headers
2025-10-27 10:01:51 -05:00
StarryWorm
796281f62f Add missing includes
Add missing <winnt.h> include in windows/lang_table.h
Add missing typedefs.h and rid.h include in godot_constraint_3d.h
Add missing <type_traits> include in iterable.h
Add missing forward declarations in rendering_shader_library.h
2025-10-26 18:25:17 -04:00
Lukas Tenbrink
6733345f73 Fix false positive warning with FixedVector array bounds in gcc. 2025-10-17 13:11:33 +02:00
Thaddeus Crews
89ce203427 Merge pull request #106997 from Ivorforce/fixed-move-semantics
Fix `FixedVector` move and copy semantics.
2025-10-10 10:26:06 -05:00
Thaddeus Crews
7efb51c9d3 Merge pull request #111361 from Ivorforce/cleanup-hashfuncs
Clean up `hashfuncs.h`
2025-10-09 11:46:43 -05:00
Lukas Tenbrink
1fa332cad4 Add max() to Span.
Remove `<algorithm>` include from `rendering_device_commons.h`, using `Span` instead.
2025-10-07 22:26:32 +02:00
Lukas Tenbrink
f678729f89 Clean up hashfuncs.h: Move long functions to hashfuncs.cpp and replace static with inline. Remove hash_make_uint64_t and hash_make_uint32_t. 2025-10-07 13:50:18 +02:00
Lukas Tenbrink
d6036462b1 Remove hash_map.h include from a_hash_map.h, and remove cross conversion operators. 2025-10-06 17:20:31 +02:00
Lukas Tenbrink
ad600125df Rewrite HashMapHasherDefault based on type traits - it is now possible to declare a default hashing function for any type.
Remove cross-project includes from `hashfuncs.h`.
Improve hashing function for `Color` (based on values instead of `String`).
Move `Variant` comparison from `hash_map.h` to `dictionary.cpp` (`VariantComparatorDictionary`), where it's used.
Remove now unnecessary `HashableHasher`.
2025-10-05 01:49:11 +02:00
Lukas Tenbrink
c993db9688 Add reserve_exact to CowData and Vector.
Change growth factor to be an indeterministic 1.5x.
Use `reserve_exact` in `FileAccess` to reduce on binary file loading RAM usage.

# Conflicts:
#	core/templates/cowdata.h
2025-10-01 11:57:40 +02:00
Thaddeus Crews
55ac91b887 Merge pull request #111084 from Ivorforce/cowdata-reserve-verbose
Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods
2025-09-30 18:35:23 -05:00
Thaddeus Crews
e5bf31b170 Merge pull request #107369 from Ivorforce/node-iter-children
Core: Add `Node::iterate_children` as a fast way to iterate a node's children
2025-09-30 18:35:21 -05:00
Thaddeus Crews
4d13966c08 Merge pull request #108698 from Brogolem35/hashset_clear_optimize
Optimize and clean up HashSet::clear
2025-09-30 18:35:01 -05:00
Lukas Tenbrink
8f533897d8 Make CowData::reserve warn message when new capacity < size verbose, like other reserve methods. 2025-09-30 20:21:02 +02:00
Thaddeus Crews
21fd4faf1b Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
Lukas Tenbrink
1bf821c1e1 Store current capacity in CowData buffers, and rewrite most of it.
Add `reserve` to `CowData`, `Vector` and `Array`.

# Conflicts:
#	core/os/memory.h
#	core/templates/cowdata.h
2025-09-25 22:00:17 +02:00
Thaddeus Crews
5fda92451d Merge pull request #100145 from Ivorforce/memory-offset-func
Add `mem_aligned_address` to simplify data offset constants.
2025-09-25 14:57:09 -05:00
Lukas Tenbrink
3ac159094f Add memory_get_offset to simplify data offset constants. 2025-09-25 20:55:33 +02:00
Lukas Tenbrink
c6f57c7a55 Change "reserve called with a capacity smaller than the current size" error message to a verbose message. 2025-09-23 20:02:40 +02:00
Thaddeus Crews
9b7a723aac Merge pull request #107721 from YYF233333/ps_include
Remove dependency of `variant.h` in `print_string.h`
2025-09-22 08:50:04 -05:00
Brogolem35
7685cb6f48 Optimize clear 2025-09-21 10:19:12 +03:00
Thaddeus Crews
40bd86819b Merge pull request #104332 from ColinSORourke/FindSeq
Add 'Find Sequence' to `Span`s, and consolidate negative indexing behavior
2025-09-20 13:41:34 -05:00
Yufeng Ying
05dae23f18 Remove dependency of variant.h in print_string.h
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-09-19 14:57:36 +08:00
Lukas Tenbrink
46b88dcbda Rename internal fields and variables in AHashMap, HashMap and HashSet for consistency. 2025-09-17 19:10:02 +02:00
Lukas Tenbrink
abe3b481ae Make conversions from LocalVector to Vector explicit. 2025-09-16 21:41:28 +02:00
Colin O'Rourke
03d32c68a9 Added Find Sequence to Spans
Added FindSequence to Span.h

Refactored String find to use Span::Find_Seq in Ustring.cpp
2025-09-16 12:37:07 -07:00
kobewi
d591bcc09c Remove unnecessary cpp files 2025-07-15 15:19:23 +02:00
Mike Precup
25115609ff Fix issue with array comparison reference 2025-07-09 20:22:09 -07:00
Lukas Tenbrink
697e0bb077 Use reserve in LocalVector::resize, to restore expected growth behavior. 2025-06-21 11:23:05 +02:00
Thaddeus Crews
ac6252c9c8 Merge pull request #107486 from Ivorforce/rendering-no-alloc-api
Use raw buffer pointers in `RenderingDevice` allocation APIs to avoid intermediary arrays
2025-06-18 18:14:00 -05:00
Lukas Tenbrink
2b36c79f7b Use Span<uint8_t> in RenderingDevice allocation APIs to avoid intermediary arrays on calls. 2025-06-18 12:31:48 +02:00
Haoyu Qiu
296aba7dc5 Fix CSV translation not updating after reimport 2025-06-17 17:22:49 +08:00
Adrien Ufferte
a11a64fbf4 Comments spelling fixes 2025-06-15 01:36:10 +02:00