Commit graph

72118 commits

Author SHA1 Message Date
Max Piepenbrink
b28800e580 Include alpha in visual shader light function inputs
Lack of access to the alpha accumulator makes some effects that are sensitive to lighting impossible with the visual shader graph. This is an easy fix thankfully as it simply just wasn't exposed.
2025-03-11 20:57:03 -07:00
Thaddeus Crews
cae3d722a3
Merge pull request #99321 from AThousandShips/use_get_slicec
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-09 09:05:29 -05:00
Thaddeus Crews
3a0b8da168
Merge pull request #101304 from Ivorforce/string-parse-ascii
Add `String::ascii` creator functions, to parse a char buffer as ASCII.
2025-03-09 09:05:28 -05:00
Thaddeus Crews
2324805fdc
Merge pull request #103773 from Calinou/windows-low-processor-mode-sleep-cpu
Use more efficient sleep approach on Windows when low-processor mode is enabled
2025-03-09 09:05:27 -05:00
Thaddeus Crews
629b6767e6
Merge pull request #103778 from darksylinc/matias-xr-disabled-fix
Fix build errors when building with `disable_xr=yes`
2025-03-09 09:05:26 -05:00
Thaddeus Crews
bf6031890e
Merge pull request #103814 from darksylinc/matias-update_perf_report-speedup
RenderingDevice: Delay expensive operations to `get_perf_report`
2025-03-09 09:05:24 -05:00
Thaddeus Crews
dfdb5359ea
Merge pull request #103547 from clayjohn/forward-plus_instance_data_optimize
Optimize `_fill_instance_data` function in Forward+ renderer.
2025-03-09 09:05:19 -05:00
Thaddeus Crews
f42565cc13
Merge pull request #103794 from clayjohn/mobile-allocations
Significantly reduce per-frame memory allocations from the heap in the Mobile renderer
2025-03-09 09:05:08 -05:00
A Thousand Ships
466590d0ec
Use get_slicec instead of get_slice for single character splitters 2025-03-08 20:36:37 +01:00
Matias N. Goldberg
21133425cc Delay expensive operations to get_perf_report
The function update_perf_report() is expensive and is called every
frame.
Most of it is not necessary unless the user calls get_perf_report

Affects #102173
2025-03-08 11:25:46 -03:00
clayjohn
5efcd64b23 Reduce per-frame memory allocations from the heap in the Mobile renderer. 2025-03-07 22:01:24 -08:00
Matias N. Goldberg
860f1da3b8 Fix build errors when building with disable_xr=yes
Building with the following params (note: scu_build is enabled):

```
platform=linuxbsd builtin_embree=yes builtin_enet=no
builtin_freetype=yes builtin_graphite=yes builtin_harfbuzz=yes
builtin_libogg=no builtin_libpng=yes builtin_libtheora=no
builtin_libvorbis=no builtin_libwebp=no builtin_miniupnpc=no
builtin_pcre2=no builtin_zlib=yes builtin_zstd=no linker=mold
optimize=none debug_symbols=True tests=True dev_mode=True dev_build=True
use_llvm=yes use_lld=yes opengl3=no openxr=no disable_xr=yes -j 24
scu_build=yes scu_limit=256
```

Results in compiler errors:

```
In file included from servers/register_server_types.cpp:99:
servers/xr/xr_interface.h:52:7: error: redefinition of 'RefCounted'
   52 | class XRInterface : public RefCounted {
      |       ^
./servers/rendering/rendering_method.h:40:21: note: expanded from macro
'XRInterface'
   40 | #define XRInterface RefCounted
      |                     ^
./core/object/ref_counted.h:37:7: note: previous definition is here
   37 | class RefCounted : public Object {
      |       ^
```

This happens because of:

```
#ifdef XR_DISABLED
// RendererSceneCull::render_camera is empty when 3D is disabled, but
// it and RenderingMethod::render_camera have a parameter for
XRInterface.
#define XRInterface RefCounted
#else
#include "servers/xr/xr_interface.h"
#endif // XR_DISABLED
```

In rendering_method.h
2025-03-07 21:13:09 -03:00
clayjohn
574f5126a2 Optimize _fill_instance_data function in Forward+ and Mobile renderers.
This batches together a couple of micro-optimizations that were discovered in profiling and analyzing disassembly.

Importantly, this reduces the amount of instructions in a heavy loop. This has the biggest impact when there are lots of objects and lights in the scene as the function is called once per objects + once per light that touches the object
2025-03-07 15:44:53 -08:00
Thaddeus Crews
b5bdb88062
Merge pull request #102298 from Repiteo/style/pragma-once
Replace header guards style with `#pragma once`
2025-03-07 17:37:04 -06:00
Thaddeus Crews
1e22a194bd
Ignore #pragma once commit 2025-03-07 17:34:15 -06:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Thaddeus Crews
96fdaa616b
Style: Integrate #pragma once in builders/checks 2025-03-07 17:32:33 -06:00
Lukas Tenbrink
b6cfcdeab5 Add String::ascii creator functions, to parse a char buffer as ASCII.
The function will log errors if any characters above value 127 are found.
2025-03-08 00:01:27 +01:00
Thaddeus Crews
7459a0361d
Merge pull request #103177 from Murrent/shader_default_at_top
Allow `default` case at the top of a switch scope in shaders
2025-03-07 15:12:55 -06:00
Thaddeus Crews
67d4a245d8
Merge pull request #103267 from YeldhamDev/reality_got_too_extended
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Thaddeus Crews
a5dbf3bd49
Merge pull request #103199 from raulsntos/gdextension/version+status
GDExtension: Add `status` to `get_godot_version`
2025-03-07 15:12:53 -06:00
Thaddeus Crews
c8ce6e7b51
Merge pull request #101776 from Ratstail91/master
Specify `max_slides` must be greater than 0
2025-03-07 15:12:51 -06:00
Thaddeus Crews
850599c36d
Merge pull request #98153 from Delsin-Yu/dotnet-warn-missing-tool-preprocessor
[Editor] Prevent `TOOLS` .Net DefineConstants being overriden by the user
2025-03-07 15:12:49 -06:00
Thaddeus Crews
f8ca861e25
Merge pull request #103137 from dsnopek/extension-api-precision
GDExtension: Include precision in `extension_api.json`
2025-03-07 15:12:47 -06:00
Thaddeus Crews
3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews
77022096ef
Merge pull request #102451 from ryevdokimov/add-fail-cond-msg-reparent-self
Add `ERR_FAIL_COND_MSG` for reparenting to self
2025-03-07 15:12:35 -06:00
Thaddeus Crews
3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews
0c8f4f3d91
Merge pull request #97908 from atlasapplications/just-linux-bionic
Add `linux-bionic` RID export option
2025-03-07 15:12:32 -06:00
Thaddeus Crews
bb8ef4e052
Merge pull request #101878 from Chubercik/automate_char_range
Core: Automate generation of the `char_range.inc` file
2025-03-07 15:12:31 -06:00
Thaddeus Crews
0c6efe572e
Merge pull request #79599 from Calinou/add-license-notices-gui
Add built-in GUI to display license notices
2025-03-07 15:12:29 -06:00
Thaddeus Crews
1237536364
Merge pull request #102630 from KoBeWi/what_the_loop
Improve `_is_drop_valid()` code in EditorPropertyArray
2025-03-07 15:12:28 -06:00
Thaddeus Crews
47761b1bbe
Merge pull request #81503 from matorin57/font-tests
Add getter tests for dynamic fonts
2025-03-07 15:12:27 -06:00
Thaddeus Crews
c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews
30221571f2
Merge pull request #99094 from KoBeWi/preload_dct2slt82u81fo8dkxkak5o57
Drop preload Resources as UID
2025-03-07 15:12:24 -06:00
Thaddeus Crews
76952ba0a1
Merge pull request #90034 from KoBeWi/only_save_when_save
Don't save unnecessarily with `save_before_running`
2025-03-07 15:12:22 -06:00
Thaddeus Crews
c67951b84b
Merge pull request #103089 from Chubercik/ci/bump-ruff-mypy
Update CI `ruff` & `mypy` pre-commit hooks
2025-03-07 15:12:21 -06:00
Thaddeus Crews
d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
Thaddeus Crews
9e7fbdf52b
Merge pull request #103663 from pafuent/fixing_errors_warnings_output_on_tests
Fix `SCRIPT ERROR/ERROR/WARNING` on test output
2025-03-07 15:12:11 -06:00
Thaddeus Crews
dadfcd1ff2
Merge pull request #95776 from Calinou/crash-handler-linuxbsd-simplify-file-path
Simplify the printed file paths in the Linux/*BSD crash handler
2025-03-07 15:12:10 -06:00
kobewi
c1b08dda36 Don't save unnecessarily with save_before_running 2025-03-07 19:14:50 +01:00
Thaddeus Crews
6b4fda04c9
Merge pull request #89442 from KoBeWi/internal_duplicaten't
Don't duplicate internal nodes
2025-03-07 12:06:36 -06:00
Thaddeus Crews
9c07d31fbb
Merge pull request #101618 from aaronfranke/var-parser-neg-ident
VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf`
2025-03-07 12:06:35 -06:00
Thaddeus Crews
e0a040c0d3
Merge pull request #101319 from JulianHeuser/region_syntax_highlighting_fix
Improve consistency of code regions
2025-03-07 12:06:34 -06:00
Thaddeus Crews
5788e436d3
Merge pull request #95049 from Grublady/mac_system_color
Use windowBackgroundColor instead of controlColor for macOS system base color
2025-03-07 12:06:33 -06:00
Thaddeus Crews
5e48f26e7f
Merge pull request #103580 from yangyey/bugfixing
Add space for BBCode Ordered Lists
2025-03-07 12:06:32 -06:00
Thaddeus Crews
c2311a820c
Merge pull request #103270 from Giganzo/item-list-cursor
Fix invisible ItemList cursor in editor theme
2025-03-07 12:06:30 -06:00
Thaddeus Crews
cf68b5f6eb
Merge pull request #103670 from dugramen/inspector-section-hover
Redraw inspector section when cursor enters and exits header to update hover state
2025-03-07 12:06:29 -06:00
Thaddeus Crews
286c2287f7
Merge pull request #103733 from dsnopek/javaclasswrapper-dictionaries
JavaClassWrapper: Fix conversion to/from `org.godotengine.godot.Dictionary` that regressed
2025-03-07 12:06:28 -06:00
Thaddeus Crews
6ab1472fc7
Merge pull request #103730 from darksylinc/matias-vma-regression
Fix incorrect parameters passed to VMA
2025-03-07 12:06:27 -06:00
Thaddeus Crews
c159adb209
Merge pull request #103756 from timothyqiu/vs-translations
Fix some i18n issues in visual shader editor
2025-03-07 12:06:26 -06:00