Commit Graph

5999 Commits

Author SHA1 Message Date
01fc9aee6c Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
f4f1471b57 Merge pull request #105910 from lawnjelly/global_get_fast4
Add `GLOBAL_GET` cached macros.
2025-04-30 09:18:44 -05:00
f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
4e68f277c6 add REGION_RECT
fix formatting

fix shader compile (region_rect after draw_data)

fix formatting

fix formatting

Review fix (move region_rect in main + remove useless visual shader options)

fix formatting

fix alphabetic order (+ remove useless action for spatial shaders)

typo + remove TYPE_LIGHT option for  region_rect
2025-04-30 11:07:22 +02:00
e3dbf74634 Fix reflection probe dark borders 2025-04-29 17:18:52 +02:00
b7d4426fff Merge pull request #104269 from lawnjelly/fti_scene_tree4
Physics Interpolation - Move 3D FTI to `SceneTree`
2025-04-28 10:01:34 -05:00
dedc072840 Merge pull request #105837 from clayjohn/sky-acos-bugfix
Fix float/int comparison in acos_approx in sky template shader
2025-04-28 10:01:34 -05:00
bfdb0f0ecf Fix various sanitizer issues. 2025-04-28 15:23:35 +02:00
1a2a1b07df Merge pull request #105799 from Repiteo/scons/enum-conversion-warnings
SCons: Add enum conversion warning
2025-04-27 19:21:23 -05:00
3947cbe3b2 Merge pull request #104386 from Repiteo/core/cpp-math
Core: Replace C math headers with C++ equivalents
2025-04-27 19:21:22 -05:00
d2dce41681 Fix float/int comparison in acos_approx in sky template shader
Strict GLSL implementations will not automatically convert `0` to a float
2025-04-27 17:06:34 -07:00
dc9c34f0c6 SCons: Add enum conversion warning 2025-04-26 12:06:20 -05:00
ae04a3a5dd Physics Interpolation - Move 3D FTI to SceneTree
Moves 3D interpolation from server to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-04-26 14:13:30 +01:00
8954125990 Merge pull request #105437 from Ansraer/teleport_spatial_nodes
Allow moving meshes without motion vectors
2025-04-25 11:36:08 -05:00
bfa43726c1 Merge pull request #104971 from Ivorforce/camera-texture-editor-lazy
Automatically activate camera monitoring when using `CameraTexture`
2025-04-25 11:36:02 -05:00
33065d8323 Merge pull request #103238 from Ryan-000/mesh_support_vram_profiler
Add Meshes to the Video RAM Profiler
2025-04-25 11:36:01 -05:00
a4a5f4ed01 allow moving meshes without motion vectors 2025-04-25 14:25:06 +02:00
80359d3577 AudioEffectPitchShift: 3rd attempt at fixing -Wstringop-overflow warning 2025-04-25 14:10:41 +02:00
4497e2a0d3 Add Meshes to the Video RAM Profiler
Apply suggestions from code review

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-04-23 18:26:56 -04:00
e9e455823e Automatically activate camera monitoring when using CameraTexture. 2025-04-24 00:22:44 +02:00
bc746f2962 Implement FXAA 3.11 2025-04-22 22:19:06 -07:00
1f7a8eac9d Merge pull request #101973 from clayjohn/sky-material-opt
Optimize ProceduralSkyMaterial by removing uses of acos and simplifying logic
2025-04-22 18:25:51 -05:00
2ffd5a3913 Merge pull request #104738 from YYF233333/cleanup_rid_owner
Use `LocalVector` in `RID_Owner::get_owned_list`
2025-04-22 10:44:25 -05:00
c0e695d5e8 Merge pull request #100944 from Nazarwadim/LocalVector_use_1.5x_growth_factor
Use 1.5x growth factor for LocalVector
2025-04-21 08:24:22 -05:00
93c13f8399 Merge pull request #105424 from bruvzg/intel_mac_rd_crash
Fix RendererRD crash on start on Intel Macs.
2025-04-21 08:24:22 -05:00
2a96e895e6 Merge pull request #105525 from BlueCube3310/light-probe-sh-impr
Scene shader: Improve and document SH diffuse evaluation for light probes
2025-04-21 08:24:20 -05:00
1a70a06a43 Change RID_Owner::get_owned_list. 2025-04-21 01:04:27 +08:00
e3c215fc13 Add support for Direct3D 12 OpenXR backend.
This change adds support for running XR projects built with the `d3d12`
rendering backend. The XR backend hooks into the setup for the D3D12
render context in order to use the desired device and command queue for
submission to OpenXR. The XR backend takes care of importing the D3D12
swapchain images into the render context.

As part of this process, three issues are addressed:
- Ensuring that resource state transitions are only done on textures
  that require them.
- Enabling view instancing in the PSOs for multiview render passes.
- Addressing a bug in the D3D12 runtime where PSO creation may fail
  when front face detection is used.

Please refer to #86283 for additional discussions on the implementation
details.
2025-04-19 20:39:33 -07:00
5640ddd0a5 Scene shader: Improve and document SH evaluation for light probes 2025-04-19 15:08:02 +02:00
2d3bdcac35 Merge pull request #105470 from clayjohn/RID-owner-limit
Increase chunk limit for known problematic RID_Owners.
2025-04-18 12:21:30 -05:00
1bf9d8e628 Merge pull request #105501 from darksylinc/graph-align-ubsan
Fix UBSAN alignment issues in the render graph
2025-04-18 12:21:29 -05:00
7e7c5244c2 Merge pull request #102289 from Chaosus/shader_fix_constants_in_hint_range
[Shaders] Allow constants and expressions in `hint_range`
2025-04-18 12:21:28 -05:00
b743eb96e3 Merge pull request #98760 from ze2j/optimize_texture_create_shared_from_slice
Optimize shared texture creations
2025-04-18 12:21:25 -05:00
6fede0b951 Optimize SkyMaterials by removing uses of acos and simplifying logic
The results looks almost the same and run much faster.
2025-04-17 22:50:11 -07:00
96bad4ad04 Fix UBSAN alignment issues in the render graph
Follow up to PR #100325
2025-04-17 14:40:06 -03:00
5a14ab7c39 [Shaders] Allow constants and expressions in hint_range 2025-04-17 17:43:01 +03:00
98aced4e65 Merge pull request #99768 from dsnopek/openxr-vulkan-foveated-rendering
OpenXR: Use the `XR_FB_foveation_vulkan` extension to get the density map for VRS
2025-04-17 09:14:23 -05:00
941ad15724 Increase chunk limit for known problematic RID_Owners.
The default limit is fine for most RID_Owners but 3d instances, CanvasItems, and physics bodies need a higher limit.

There is a small memory cost to increasing the limit, so it should only be done where needed.
2025-04-16 17:03:47 -07:00
ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
0110048d46 Merge pull request #104826 from smix8/navregion_iteration_id
Add function to get navigation region iteration id from NavigationServer
2025-04-16 10:45:13 -05:00
6a9f46931a Merge pull request #104480 from BlueCube3310/image-unsuported-format
Renderer: Warn when images need to be converted due to their formats being unsupported by hardware
2025-04-16 10:44:52 -05:00
472090dd88 Fix RendererRD crash on start on Intel Macs. 2025-04-15 20:35:56 +03:00
2b8531d944 Add function to get navigation region iteration id from NavigationServer
Adds function to get navigation region iteration id from NavigationServer.
2025-04-15 19:17:45 +02:00
d0aa95a6d4 Fix typo ovrsampling → oversampling 2025-04-15 11:21:51 +02:00
448f159c69 Merge pull request #105267 from clayjohn/rd-mobile-pipelines
Pre-allocate more resources when screen textures are detected in the Mobile renderer
2025-04-14 19:39:48 -05:00
f56a4d4fe4 Merge pull request #105138 from stuartcarnie/fix_hangs
Renderer: Reduce scope of mutex locks to prevent common deadlocks
2025-04-14 19:39:47 -05:00
72fbbb49cd Merge pull request #105384 from bruvzg/no_auto
Remove `auto` misuse cases.
2025-04-14 19:39:44 -05:00
9b6d92723d Merge pull request #104872 from bruvzg/per_vp_os
Replace global oversampling with overrideable per-viewport oversampling.
2025-04-14 19:39:43 -05:00
a6979ef664 Merge pull request #97801 from basicer/srgb-color-hint
Add `color_conversion_disabled` shader hint.
2025-04-14 19:39:42 -05:00
501c64a12f Remove auto misuse cases. 2025-04-14 16:54:57 +03:00