clayjohn
699695e5ff
Preallocate more resources when screen textures are detected in the Mobile renderer
...
This further reduces stutter when the screen texture suddenly becomes visible
2025-04-11 12:31:17 -07:00
Thaddeus Crews
addab4f001
Merge pull request #95916 from Repiteo/core/bit-field
...
Core: Add dedicated `BitField` template
2025-04-11 13:29:13 -05:00
Thaddeus Crews
c7e9dc96a4
Rendering: Fix Math constant conversion
2025-04-11 12:33:57 -05:00
Thaddeus Crews
0d267e7b1e
Core: Add dedicated BitField template
2025-04-11 11:53:26 -05:00
Thaddeus Crews
717df3ee88
Merge pull request #105249 from Repiteo/core/math-defs-namespace
...
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
Rob Blanckaert
8c54290b4a
Add color_conversion_disabled shader hint.
...
Sometimes shaders want to accept a color as input that is always
in the srgb color space. This adds a hint to vec3/vec4 to enable
the color picker popup for those vectors but disable color space
conversion.
2025-04-10 21:31:15 -07:00
Thaddeus Crews
cad0cd94ef
Merge pull request #105225 from bruvzg/ds_gdsoft
...
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 16:53:42 -05:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
Thaddeus Crews
06c71fbf40
Merge pull request #105175 from clayjohn/RD-pipeline-sss-roughness
...
Detect more pipeline settings at load time to avoid pipeline stutters
2025-04-10 11:10:22 -05:00
Thaddeus Crews
d534107926
Revert early version of PR #105175
...
This reverts commit 6225e25f4a .
2025-04-10 11:09:50 -05:00
Thaddeus Crews
665bdf4fe2
Merge pull request #105175 from clayjohn/RD-pipeline-sss-roughness
...
Detect more pipeline settings at load time to avoid pipeline stutters
2025-04-10 10:18:18 -05:00
Thaddeus Crews
1be843f77a
Merge pull request #103798 from Rudolph-B/new-97712
...
Switch occlusion culling to be based on depth instead of Euclidean distance
2025-04-10 10:18:17 -05:00
A Thousand Ships
889410dcda
Add String::replace_char(s) methods for performance and convenience
2025-04-10 13:08:45 +02:00
Pāvels Nadtočajevs
0497522933
Change DisplayServerMacOS from GDCLASS to GDSOFTCLASS. Add GDSOFTCLASS to other display servers.
2025-04-10 09:18:58 +03:00
Thaddeus Crews
171187d1aa
Merge pull request #101011 from aaronfranke/limit-max-contacts-reported
...
Place a hard limit on the `max_contacts_reported` property in 2D/3D physics
2025-04-09 18:11:53 -05:00
Thaddeus Crews
ae80141a54
Merge pull request #103306 from Calinou/macos-intel-vulkan-disable-texture-array-reflections
...
Disable texture array reflections on Intel GPUs on macOS due to driver bugs
2025-04-09 18:11:52 -05:00
clayjohn
bf47c42b21
Detect possible usage of SSS and screen textures at load time to allocate needed resources at load time.
...
This allows us to avoid a class of pipeline compilation stutters and
stutters from allocating screen textures.
2025-04-09 13:31:03 -07:00
clayjohn
6225e25f4a
Detect possible usage of SSS and screen textures at load time to allocate needed resources at load time.
...
This allows us to avoid a class of pipeline compilation stutters and
stutters from allocating screen textures.
2025-04-09 13:15:40 -07:00
Yufeng Ying
f7e4987d0e
Dictionary::get_key_list use LocalVector instead of List.
2025-04-09 02:46:24 +08:00
Thaddeus Crews
e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
...
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Pāvels Nadtočajevs
b106dfd4f9
Base accessibility API.
2025-04-08 20:14:28 +03:00
Pāvels Nadtočajevs
f37fb49739
Add separate minimize_disabled and maximize_disabled window flags.
2025-04-07 18:58:11 +03:00
Thaddeus Crews
4d5f455cf7
Merge pull request #105037 from clayjohn/RD-instance-index-crash
...
Avoid using a global variable to store instance index in canvas items shader in RD renderer
2025-04-07 08:43:27 -05:00
Thaddeus Crews
45a64319e1
Merge pull request #104771 from Repiteo/ci/pre-commit-bump
...
CI: Bump various pre-commit hooks
2025-04-07 08:43:27 -05:00
Thaddeus Crews
1b9f269700
Merge pull request #105015 from syntaxerror247/improve-touchActionsPanel
...
Android Editor: Add an editor setting to enable/disable `TouchActionsPanel`
2025-04-07 08:43:24 -05:00
Thaddeus Crews
5edb235018
CI: Bump various pre-commit hooks
2025-04-07 08:23:35 -05:00
BlueCube3310
a861394e13
Renderer: Warn when images need to be converted due to their formats being unsupported by hardware
2025-04-06 19:27:02 +02:00
Anish Mishra
b462db5adb
Android: Hardware keyboard connection status callback
...
Adds a DisplayServer method to register hardware keyboard connection change callback.
2025-04-05 08:14:29 +05:30
clayjohn
bef26b8861
Avoid using a global variable to store instance index in canvas items shader in RD renderer
2025-04-04 16:32:15 -07:00
Riteo
84d3adcf2f
Wayland: Implement native sub-windows
...
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:
- `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;
- `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;
- `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.
Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:
- Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;
- A proper implementation of `window_can_draw`;
- Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.
- Better handling of pointer leaving and pointer enter/exit event
sending;
- Keyboard focus tracking;
- More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;
- More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +02:00
Thaddeus Crews
6bd249a4c2
Merge pull request #104850 from Repiteo/core/warning-macros
...
Core: Integrate warning suppression macro helpers
2025-04-03 16:50:22 -05:00
Thaddeus Crews
207a2b6472
Core: Integrate warning suppression macro helpers
2025-04-03 10:13:46 -05:00
Aaron Franke
2800948d61
Organize ifdefs for disabling navigation, physics, and XR
2025-04-02 08:24:24 -07:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
c9c8556a47
Merge pull request #104862 from smix8/navserver_process
...
Prepare NavigationServer for `process()` and `physics_process()` split
2025-04-02 07:37:32 -05:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
smix8
16fd7b6ae1
Prepare NavigationServer for process() and physics_process() split
...
Prepares the NavigationServer API for a split of its functionality between frame process() and stepped physics_process().
2025-04-02 11:01:08 +02:00
Thaddeus Crews
b69e92cbd3
Merge pull request #104880 from beicause/shader-fix-bvec-to-variant
...
Shader: Fix `bvec` to variant conversion
2025-04-01 19:53:30 -05:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
LuoZhihao
9e0798ed36
Shader: Fix bvec to variant conversion
2025-04-01 19:03:15 +08:00
Pāvels Nadtočajevs
19f360d65a
Add font import flag to toggle modulation of colored glyphs.
2025-04-01 13:36:10 +03:00
Hugo Locurcio
5cdd612c54
Fix time display in MovieWriter window title and console output
...
Following the change to `String::num()`, decimals were added even when
numbers were being rounded to whole integers beforehand. Additionally,
the frame remainder is displayed as a timecode to the window title and
console output.
This also fixes a floating-point division by zero that occurred when
the movie was recorded in less than 1 second of real time.
2025-03-31 20:38:18 +02:00
David Snopek
79f5a4d9fe
OpenXR: Use the XR_FB_foveation_vulkan extension to get the density map for VRS
2025-03-31 07:21:58 -05:00
Thaddeus Crews
8b2952a71c
Merge pull request #101504 from AThousandShips/nav_split_new
...
[Navigation] Create a dedicated 2D navigation server
2025-03-30 09:05:43 -05:00
Thaddeus Crews
780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
...
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
A Thousand Ships
5cc0539961
[Navigation] Create a dedicated 2D navigation server
...
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +01:00
Aaron Franke
a5de242a2f
Place a hard limit on the max_contacts_reported property
2025-03-29 01:17:55 -07:00
Rémi Verschelde
e8bc75f056
Merge pull request #103373 from YeldhamDev/build_remove_physics
...
Allow to compile templates without physics servers
2025-03-28 17:30:03 +01:00
Rémi Verschelde
3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
...
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00