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
Lukas Tenbrink
175c38d0dc
Core: Add Node::iterate_children as a fast way to iterate a node's children, without needing allocations or get_child.
...
Adds `Iterable` class to templates.
2025-06-13 17:01:51 +02:00
Lukas Tenbrink
2d0ff9774d
Add a smoke test to Span in debug builds to recover from non-empty nullptr Span.
2025-06-12 12:19:21 +02:00
Lukas Tenbrink
d2f9d31270
Make more types (Callable, Signal) conversion to String explicit.
2025-06-10 23:55:35 +02:00
dementive
d2814ebbf3
Add missing Color hash function
2025-06-08 14:49:50 -04:00
Rémi Verschelde
61639d9574
Merge pull request #106996 from Ivorforce/no-oa-hashmap
...
Core: Remove `OAHashMap`, in favour of `AHashMap`
2025-06-05 13:12:34 +02:00