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
Thaddeus Crews
326b22124a
Merge pull request #108794 from bruvzg/macos_actool_export
...
[macOS] Add support for exporting macOS 26 Liquid Glass icons.
2025-09-20 13:41:38 -05:00
Pāvels Nadtočajevs
838cb0eefc
[macOS] Add support for exporting macOS 26 Liquid Glass icons.
2025-07-28 14:35:48 +03:00
Silver1063
00f5b230be
Fix modifier order in keycode string generation
...
Fix the order in which modifier keys are appended in as_text() and keycode_get_string() to ensure consistent and logical ordering (Ctrl, Alt, Shift, Meta). Refactored keycode_get_string() to use a vector for building the key string, improving readability and maintainability.
2025-07-06 14:23:50 -07:00
Adam Scott
f411c5b2f1
[Web] Add Web-build specific stdout header
2025-06-12 13:00:36 -04:00
Rémi Verschelde
bb9d6d0d02
Merge pull request #107113 from mihe/macos-open-in-program
...
Add `OS::open_with_program` for opening files/directories with a specific program on macOS
2025-06-05 13:13:49 +02:00
Mikael Hermansson
f610c81943
Add OS::open_with_program for opening files/directories with a specific program on macOS
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com >
2025-06-05 10:12:01 +02:00
Pāvels Nadtočajevs
98f377d9d0
Use system timer/wait functions for frame delay when screen reader is active.
2025-06-04 13:44:02 +03:00
bruvzg
ee181951b6
[macOS] Add support for loading shell environment from UI apps.
2025-06-03 18:27:29 +03:00
Thaddeus Crews
bb47f01481
Merge pull request #106390 from akien-mga/linux-drop-ppc32
...
Linux: Drop `ppc32` (32-bit PowerPC) architecture support
2025-05-28 09:47:34 -05:00
Thaddeus Crews
8bcec7afa9
Merge pull request #106730 from Ivorforce/simplify-memnew-arr-placement
...
Simplify `Memory::memnew_arr_placement` to always initialize memory
2025-05-26 11:24:43 -05:00
aaronp64
ba68e2a1e8
Update time.cpp year/unix time conversions to be constant time
...
Added functions to convert between year and day from unix timestamps in constant time, to avoid having to iterate one year at a time.
2025-05-23 14:02:14 -04:00
Lukas Tenbrink
4371aa864d
Simplify Memory::memnew_arr_placement to always initialize memory, to force callers to make the decision of whether to initialize.
2025-05-22 22:25:12 +02:00
Rémi Verschelde
25a3c27c41
Merge pull request #105628 from rsanchezsaez/apple/ios-visionos-4.5
...
Native visionOS platform support
2025-05-20 23:09:07 +02:00
Ricardo Sanchez-Saez
47971c0a27
Introduce 'visionos' platform derived from 'apple_embedded'
2025-05-19 15:47:01 -07:00
Thaddeus Crews
2d42b889d1
Merge pull request #104124 from Ivorforce/alloc-static-calloc
...
Add `Memory::alloc_static_zeroed` to allocate memory that's filled with zeroes.
2025-05-19 08:01:33 -05:00
Thaddeus Crews
5538850d87
Core: Convert Pair/KeyValue to constexpr
2025-05-15 10:37:41 -05:00
Pedro J. Estébanez
820380817a
Exclude RD creation test functions from templates
2025-05-15 10:12:38 +02:00
Rémi Verschelde
1de9789806
Linux: Drop ppc32 (32-bit PowerPC) architecture support
...
This was added together with `ppc64le` in #54490 , but seemingly only for the
purpose of getting it to compile on a Linux distro that aims at maximizing
support for all CPU architectures.
I don't think anyone has ever _run_ Godot on a `ppc32` system (do those even
support OpenGL ES 3.0?) and so I don't think we should aim to support it.
Debian dropped support for its PowerPC (`ppc32`) arch in Debian 9, released
in 2017.
2025-05-14 10:22:12 +02:00
Lukas Tenbrink
3207066e19
Add Memory::alloc_static_zeroed to allocate memory that's filled with zeroes.
...
This is generally faster than `malloc` followed by `memset` / loop-set to 0.
2025-05-13 01:57:05 +02:00
Thaddeus Crews
01fc9aee6c
Core: Modernize C headers with C++ equivalents
2025-05-02 08:23:01 -05:00
Lukas Tenbrink
af7610576a
Remove unused Memory::alloc_count.
2025-04-25 21:44:26 +02:00
Thaddeus Crews
28089c40c1
Merge pull request #91006 from reduz/live-backtrace
...
Ability to print and log script backtraces
2025-04-24 17:18:52 -05:00
reduz
d1dcb40d56
Ability to print and log script backtraces
...
Co-authored-by: Mikael Hermansson <mikael@hermansson.io >
2025-04-24 18:54:41 +02:00
Rob Blanckaert
88a43b7039
Supress unused paramater warning conflicting with if constexpr
2025-04-12 13:18:12 -07:00
Thaddeus Crews
cade15a163
Merge pull request #92475 from AThousandShips/string_replace_char
...
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 10:18:16 -05:00
Thaddeus Crews
fc1dbda769
Merge pull request #105164 from stuartcarnie/apple_pthread
...
Apple: Add pthread implementation of `Thread` class
2025-04-10 10:18:12 -05:00
A Thousand Ships
889410dcda
Add String::replace_char(s) methods for performance and convenience
2025-04-10 13:08:45 +02:00
Stuart Carnie
8c8d6de3e7
Apple: Add pthread implementation of Thread class
...
This allows Apple platforms to override the default stack size of
a thread in the WorkerThreadPool, which is 512KiB by default.
This must be increased, as SPIRV-Cross, used by the Metal driver, can
use deeply nested stacks, as can debug builds.
2025-04-10 09:35:40 +10:00
Adam Scott
b7402b7597
Move THREADS_ENABLED check after common imports
2025-04-08 14:24:13 -04:00
runzh-crypto
9977abd697
Validate custom directory when project is started
2025-04-04 21:21:42 +08:00
Thaddeus Crews
207a2b6472
Core: Integrate warning suppression macro helpers
2025-04-03 10:13:46 -05:00
Yufeng Ying
7a1a970c25
size() <= 0 and size() < 1.
2025-04-02 19:18:44 +08:00
bruvzg
48bfe13e4f
Add methods to decode/encode multibyte encodings.
2025-03-28 17:32:34 +02:00
Thaddeus Crews
f09ee0171a
Style: Begin integrating simple .clangd fixes
2025-03-22 13:24:35 -05:00
Lukas Tenbrink
6759d3b812
Fix "Unicode parsing error" spam when opening editor.
2025-03-14 08:32:26 +01:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
Thaddeus Crews
74907876d3
Merge pull request #103759 from Ivorforce/zero-constructible
...
Optimize `Array.resize` by using `memset` (through new `is_zero_constructible` type trait)
2025-03-12 10:31:55 -05:00
Lukas Tenbrink
75bc471965
Add is_zero_constructible to denote if a type can be semi-trivially constructed with all 0 bytes.
...
Optimize `CowData` and `LocalVector` resize for zero constructible types.
Mark several compatible types as `is_zero_constructible`.
2025-03-12 09:49:24 +01:00
aaronp64
a7d0724b1a
Remove outdated vformat comments/workarounds in Time.cpp
...
Time methods returning Strings with both date and time values included were calling vformat twice, as older vformat implementation limited how many arguments could be passed in. Updated these methods to just call vformat once.
2025-03-11 06:57:30 -04:00
A Thousand Ships
331a43a9d8
Add String::remove_char(s) methods for performance and convenience
2025-03-10 13:19:28 +01:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
Pāvels Nadtočajevs
6ed12bfc5d
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-04 13:18:26 +02:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload RenderingDevice creation test to subprocess.
2025-02-24 19:40:10 +02:00
Jānis Kiršteins
0e266b0099
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 17:41:18 +01:00
Marc Gilleron
c7a9d64eaf
Add color channel filter to editor texture previews
2025-01-11 23:27:48 +00:00
Rémi Verschelde
da4f9339ea
Merge pull request #101072 from hpvb/thread-id-optimization
...
Optimize `Thread::get_caller_id()`
2025-01-05 14:52:18 +01:00
HP van Braam
873eb21ce8
Optimize Thread::get_caller_id()
...
By making sure that Thread always has a valid caller_id we can remove the
check making the function a straightforward getter instead.
In some quick tests we see a repeatable performance improvement of
somewhere around 0.32 mspf in TPS demo.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com >
2025-01-03 17:33:10 +01:00