Rémi Verschelde
92fb04c6cc
Merge pull request #103941 from stuartcarnie/metal_fx_features
...
Renderer: Expose and document `Features` enum for MetalFX
2025-03-21 13:03:19 +01:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
Stuart Carnie
e2066298d9
Renderer: Fix Metal handling of cube textures; assert equal dimensions
2025-03-19 11:52:59 +11:00
Thaddeus Crews
70d37274aa
Merge pull request #60178 from Calinou/directional-shadow-normal-bias-split
...
Use lower shadow normal bias for distant directional shadow splits
2025-03-17 10:52:13 -05:00
clayjohn
16b9667c62
Error when draw list is not active in draw_list_switch_to_next_pass
...
This fixes a mistake made when refactoring the draw list
2025-03-14 18:04:47 -07:00
Lukas Tenbrink
f4de2cd22a
Use resize_zeroed instead of resize then fill(0) in several places.
2025-03-14 12:09:39 +01:00
Thaddeus Crews
701505eb4f
Merge pull request #104044 from bruvzg/rd_pipeline_err_spam
...
Fix `Invalid Task ID` error spam in `PipelineHashMapRD`.
2025-03-13 08:57:45 -05:00
Thaddeus Crews
c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
...
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -05:00
Thaddeus Crews
e2c6d860d8
Merge pull request #102302 from stuartcarnie/render_opt
...
Rendering compositor identifies `is_opengl` API; minor optimisation
2025-03-13 08:57:28 -05:00
Stuart Carnie
5e1fe8040a
rendering: compositor has is_opengl API; minor optimisations
2025-03-13 15:41:44 +11:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
Pāvels Nadtočajevs
047afb1b1d
Fix Invalid Task ID error spam in PipelineHashMapRD.
2025-03-12 19:59:13 +02:00
Yufeng Ying
bebe037abf
Add ConstIterator to Dictionary.
2025-03-13 01:28:46 +08:00
Thaddeus Crews
2f5f3c9a5a
Merge pull request #103617 from stuartcarnie/fix_texture_pixel_size
...
2D: Fix light shader accessing `TEXTURE_PIXEL_SIZE`
2025-03-12 10:31:50 -05:00
Thaddeus Crews
15a5a2f309
Merge pull request #103766 from BlueCube3310/basisu-hdr-astc
...
BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding
2025-03-12 10:31:49 -05:00
Thaddeus Crews
3b66cb5f8d
Merge pull request #103792 from stuartcarnie/metal_fx_fallback
...
MetalFX: Change fallback behavior
2025-03-12 10:31:46 -05:00
Thaddeus Crews
a03ec29ac5
Merge pull request #103434 from Chaosus/shader_fix_unused_varying_warning
...
Fix "unused varying" incorrect warning in shaders
2025-03-12 10:31:42 -05:00
Thaddeus Crews
d7d85db701
Merge pull request #103889 from clayjohn/rd-allocations-cleanup
...
Clean up more dynamic allocations in the RD renderers with a focus on 2D
2025-03-11 14:00:38 -05:00
Thaddeus Crews
a77a28c029
Merge pull request #101971 from clayjohn/sky-light-size-fix
...
Pass angular diameter into light size constants for sky shaders.
2025-03-11 09:35:09 -05:00
Thaddeus Crews
0fb0804546
Merge pull request #103641 from darksylinc/matias-mobile-shadows-update
...
Fix inefficient upload in Mobile Shadows
2025-03-11 09:35:05 -05:00
Thaddeus Crews
85f9c46713
Merge pull request #103880 from 100gold/fix_deadlock_on_pipelinehashmaprd
...
Fix deadlock between `PipelineHashMapRD::local_mutex` and `GDScriptCache::mutex`
2025-03-11 09:35:02 -05:00
Stuart Carnie
052fe9158d
Renderer: Expose and document Features enum for METAL_FX
2025-03-11 12:35:58 +11:00
clayjohn
4cf9d58dce
Clean up more dynamic allocations in the RD renderers with a focus on 2D.
2025-03-10 13:16:12 -07:00
Thaddeus Crews
8d1c1c5867
Merge pull request #92476 from AThousandShips/string_remove_char
...
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 10:01:04 -05:00
100gold
477b6451a0
fix deadlock between PilelineHashMapRD::local_mutex and GDScriptCache::mutex
2025-03-10 17:48:28 +03:00
A Thousand Ships
331a43a9d8
Add String::remove_char(s) methods for performance and convenience
2025-03-10 13:19:28 +01:00
Lukas Tenbrink
605b62cd29
Add Span struct (replacing StrRange). Spans represent read-only access to a contiguous array, resembling std::span.
2025-03-09 18:19:51 +01: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
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
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
Stuart Carnie
f31ddce6d1
MetalFX: change fallback behaviour
...
Closes #103782
2025-03-08 15:35:45 +11: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
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06: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
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
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
BlueCube3310
4d46ef8e8e
BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding
2025-03-07 15:26:03 +01:00
A Thousand Ships
5113022dfe
Clean up some uses of String::substr
...
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Thaddeus Crews
b6ece17de1
Merge pull request #103529 from clayjohn/RD-trivial-instance-data
...
Validate triviality of InstanceData struct in Mobile and Forward+ renderers
2025-03-06 16:36:14 -06:00
Thaddeus Crews
4bafafaeb3
Merge pull request #102777 from darksylinc/matias-astc-hdr
...
Add ASTC HDR format variants
2025-03-06 16:36:06 -06:00
Stuart Carnie
b3694662a2
2D: Fix light shader accessing TEXTURE_PIXEL_SIZE
2025-03-06 05:30:20 +11:00
Matias N. Goldberg
e605ad93c7
Fix inefficient upload in Mobile Shadows
...
Clustered performs the following shadow rendering steps
1. Process objects [0; 10) for cascade 0.
2. Process objects [10; 30) for cascade 1.
3. Process objects [30; 100) for cascade 2.
4. Upload objects [0; 100) to GPU.
5. Draw all cascades.
Mobile was supposed to be doing the same, but instead was doing:
1. Process objects [0; 10) for cascade 0.
2. Upload objects [0; 10) to GPU.
3. Process objects [10; 30) for cascade 1.
4. Upload objects [0; 30) to GPU.
5. Process objects [30; 100) for cascade 2.
6. Upload objects [0; 100) to GPU.
7. Draw all cascades.
That is, always reuploaded everything from scratch.
Therefore it pointlessly (and with geometric growth) wasted BW.
2025-03-05 15:21:25 -03:00
Thaddeus Crews
729c4e9e88
Merge pull request #102905 from kleonc/render_info_fix_primitive_count_per_triangle_strip
...
Fix render info primitive count per `TRIANGLE_STRIP`
2025-03-05 12:07:47 -06:00
Thaddeus Crews
9911baec70
Merge pull request #103531 from darksylinc/matias-mobile-shadows-update
...
Fix inefficient upload in Mobile Shadows
2025-03-05 12:07:42 -06:00
Thaddeus Crews
8777f088cc
Merge pull request #103348 from huwpascoe/render_params_fix
...
Fix 2D instance params crashing using outside of `main()`
2025-03-05 12:07:39 -06:00
Thaddeus Crews
5c3e7280f4
Merge pull request #103506 from bruvzg/shader_pool
...
Use separate WorkThreadPool for shader compiler.
2025-03-05 12:07:34 -06:00