Thaddeus Crews
822fd083c4
Merge pull request #108114 from lawnjelly/fti_multimesh_reset_all
...
`FTI` - Add `multimesh_instances_reset_physics_interpolation()`
2025-10-24 11:23:15 -05:00
Thaddeus Crews
edbfb7a6ec
Merge pull request #111183 from stuartcarnie/matias-uma-pc-pr
...
Add Persistent Buffers utilizing UMA
2025-10-24 11:23:11 -05:00
Stuart Carnie
230adb7511
Add Persistent Buffers
...
This work is a heavily refactored and rewritten from TheForge's initial
code.
TheForge's original code had too many race conditions and was
fundamentally flawed as it was too easy to incur into those data races
by accident.
However they identified the proper places that needed changes, and the
idea was sound. I used their work as a blueprint to design this work.
This PR implements:
- Introduction of UMA buffers used by a few buffers
(most notably the ones filled by _fill_instance_data).
Ironically this change seems to positively affect PC more than it does
on Mobile.
Updates D3D12 Memory Allocator to get GPU_UPLOAD heap support.
Metal implementation by Stuart Carnie.
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com >
Co-authored-by: TheForge team
2025-10-24 08:16:19 +11:00
Thaddeus Crews
beac359f87
Merge pull request #111957 from clayjohn/RD-timeout
...
Sync final frame after finalizing RD to ensure that nothing is in use on the GPU when we free the RD
2025-10-23 15:34:00 -05:00
Thaddeus Crews
da593d0c16
Merge pull request #111897 from allenwp/environment-adj-prioritize-old-behaviour
...
Improve `Environment` adjustments (favor old behavior and quality).
2025-10-23 11:03:56 -05:00
Clay John
bad8f531a8
Sync final frame after finalizing RD to ensure that nothing is in use on the GPU when we free the RD
2025-10-23 08:20:54 -07:00
Allen Pestaluky
0c7f013c55
Improve Environment color adjustments; specifically brightness and HDR 2D contrast.
...
This commit changes adjustments to behave as follows for all rendering configurations:
- Apply brightness to linear-encoded values, preventing contrast, saturation, and hue from being affected.
- Apply contrast to perceptually uniform (nonlinear sRGB-encoded) values, matching existing behavior when HDR 2D is disabled and producing optimal visual quality.
- Apply saturation with even color channel weights. This causes brightness of certain colors to change, but matches existing behavior when HDR 2D is disabled.
Adjustments are applied after glow and tonemapping to match existing behavior.
2025-10-23 11:08:49 -04:00
Thaddeus Crews
3f34e38703
Merge pull request #109596 from atlasapplications/splash-screen-stretch-mode
...
Add Stretch Modes for Splash Screen
2025-10-21 19:09:33 -05:00
Justin Sasso
b6b3e1ef9e
Add Stretch Modes for Splash Screen
...
Co-authored-by: Samuel Pedrajas <samuelpedrajaspz@gmail.com >
2025-10-21 18:20:44 -04:00
clayjohn
f61ee7bdf6
Use half float precision buffer for 3D when HDR2D is enabled
...
This is necessary for Environment effects like Glow to work correctly.
2025-10-21 13:44:46 -07:00
Thaddeus Crews
da3bdacf64
Merge pull request #111210 from blueskythlikesclouds/ssr-overhaul
...
Overhaul screen space reflections.
2025-10-21 15:11:08 -05:00
Skyth
c128886c63
Overhaul screen space reflections.
2025-10-21 19:23:38 +03:00
Erik Ritschl
44451e6988
Fix incorrect failure code in screen_get_framebuffer_format
...
RenderingDevice::screen_get_framebuffer_format should return a value of
type RenderingDevice::FramebufferFormatID which is an alias of int64_t
but it returns Error::FAILED with a value of 1. The compiler does not
complain because both types are integers but 1 corresponds to a valid
FramebufferFormatID, meaning a certain failure condition is missed.
This commit changes it to the correct value, INVALID_ID.
2025-10-21 15:26:26 +02:00
Ben Botwin
7613123048
fixes the lods array returned by mesh_get_surface
2025-10-16 17:26:48 -04:00
Dario
af584b1ba8
Do not begin a new frame during RenderingDevice's shutdown.
2025-10-16 13:47:18 -03:00
Thaddeus Crews
71031e4adb
Merge pull request #108422 from stuartcarnie/108115_metal_cpu_read_bit
...
Metal: Fix `texture_get_data` other linear formats
2025-10-15 16:31:02 -05:00
Stuart Carnie
a281e91c5a
Metal: Fix texture_get_data other linear formats
...
Introduce a specialised `texture_get_data` for `RenderDeviceDriver`,
which can retrieve the texture data from the GPU driver for shared
textures (`TEXTURE_USAGE_CPU_READ_BIT`).
Closes #108115
2025-10-16 06:46:51 +11:00
Dario
b49aea89d0
Organize render surface sorting key for optimizing API performance.
2025-10-15 11:35:02 -03:00
Clay John
36b92128b1
Merge pull request #110671 from allenwp/environment-glow-consistent
...
Blend glow before tonemapping and change default to screen.
2025-10-14 21:29:43 -07:00
Thaddeus Crews
1e9d0ff925
Merge pull request #111578 from Kaleb-Reid/fix-shadow-cull-material
...
Use correct shadow material in some cases in Mobile
2025-10-14 17:13:42 -05:00
Kaleb Reid
8a8bd02860
Use correct shadow material in some cases in Mobile
2025-10-14 13:44:09 -07:00
Thaddeus Crews
0400b703e4
Merge pull request #111577 from Kaleb-Reid/fix-lightmap-luminance
...
Apply luminance multiplier in copy_cubemap_to_panorama
2025-10-14 10:31:34 -05:00
Kaleb Reid
8173f43770
Apply luminance multiplier in copy_cubemap_to_panorama
2025-10-13 21:41:03 -07:00
Thaddeus Crews
c0c75561d2
Merge pull request #111129 from DarioSamo/particle-pipeline-deferral
...
Push pipeline compilation of various effects to the worker thread pool.
2025-10-13 19:29:00 -05:00
Thaddeus Crews
d3285f5468
Merge pull request #111185 from WhalesState/vp-disable-xr
...
More XR disable for Viewport and export.
2025-10-13 19:28:56 -05:00
Karl Office
7a49918c89
fix: set visible layers in multiview camera
2025-10-13 17:31:01 +02:00
Dario
ba268416d5
Push pipeline compilation of various effects to the worker thread pool.
2025-10-13 12:00:23 -03:00
Allen Pestaluky
cafc012b05
Blend Environment glow before tonemapping and change default blend mode to screen.
...
Additionally, change the minimum `tonemap_white` parameter to `1.0`; users can increase `tonemap_exposure` for a similar effect to decreasing `tonemap_white` below `1.0`.
Co-authored-by: Hei <40064911+Lielay9@users.noreply.github.com >
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
2025-10-10 12:08:08 -04:00
Thaddeus Crews
8150cb9200
Merge pull request #111403 from AeioMuch/fix_double_precision_wrong_indexes
...
Fix wrong indices used for transform & UBO matrix for double precision build
2025-10-10 10:25:59 -05:00
AeioMuch
dae2122388
Fix wrong indexes for double precision
2025-10-09 22:01:41 +02:00
Allen Pestaluky
bd9d1bf070
Add material debanding for use in Mobile rendering method.
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
2025-10-08 16:22:41 -04:00
lawnjelly
1c8ef479b4
FTI - Add multimesh_instances_reset_physics_interpolation()
2025-10-08 16:17:18 +01:00
Kaleb Reid
f2d0ea6d40
Ensure reflection atlas is valid before rendering
2025-10-07 22:05:22 -07:00
Thaddeus Crews
f457855148
Merge pull request #111227 from clayjohn/RD-scene-shader-crash
...
Fix scene shader crash due to rename of view matrix and inverse view matrix
2025-10-07 17:15:11 -05:00
Thaddeus Crews
ef853bbc06
Merge pull request #111347 from Ivorforce/no-algorithm
...
Add `max()` to `Span`, replacing `<algorithm>` include from `rendering_device_commons.h`
2025-10-07 17:15:09 -05:00
clayjohn
c7276273d8
Fix scene shader crash due to rename of view matrix and inverse view matrix
2025-10-07 13:36:23 -07:00
Lukas Tenbrink
1fa332cad4
Add max() to Span.
...
Remove `<algorithm>` include from `rendering_device_commons.h`, using `Span` instead.
2025-10-07 22:26:32 +02:00
Rémi Verschelde
9052d31c68
Merge pull request #111331 from Repiteo/scons/revert-cppextpath
...
Revert "SCons: Add `CPPEXTPATH` for external includes"
2025-10-07 13:07:19 +02:00
Thaddeus Crews
fdc235f496
Merge pull request #110884 from Kaleb-Reid/fix-spotlight-aabb
...
Use correct AABB for SpotLight3Ds when `spot_angle > 90`
2025-10-06 14:34:05 -05:00
Thaddeus Crews
b17aa3343a
Revert "SCons: Add CPPEXTPATH for external includes"
2025-10-06 13:09:22 -05:00
Mounir Tohami
9894256e3a
More XR disable for Viewport and export.
2025-10-06 20:15:07 +03:00
Thaddeus Crews
d1d28c0bcf
Merge pull request #111223 from Ivorforce/remove-iterator-include
...
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
Thaddeus Crews
9f4f16c588
Merge pull request #110672 from Kaleb-Reid/fallback-scaling-type
...
Use correct scaling type when falling back to bilinear
2025-10-06 09:06:39 -05:00
Thaddeus Crews
f85dc0720d
Merge pull request #111303 from Kaleb-Reid/fix-dof-msaa-mobile
...
Use resolved depth texture for DOF with MSAA in Mobile
2025-10-06 09:06:38 -05:00
Thaddeus Crews
686b56fae9
Merge pull request #106434 from Ivorforce/invert-hashfuncs
...
Reduce cross project includes by rewriting `HashMapHasherDefault`.
2025-10-06 09:06:37 -05:00
Thaddeus Crews
d364dacac1
Merge pull request #110004 from Kaleb-Reid/divide-luminance
...
Divide screen texture by luminance multiplier in compatibility
2025-10-06 09:06:33 -05:00
Thaddeus Crews
30a0a41982
Merge pull request #111274 from chocola-mint/include-optimization-logger
...
Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`.
2025-10-06 09:06:32 -05:00
Rémi Verschelde
900bd07d10
Merge pull request #111125 from BlueCube3310/lightmap-sort-bitshift
...
Fix LightmapGI not being correctly applied to objects
2025-10-06 14:08:07 +02:00
Kaleb Reid
ac8491ae72
Use resolved depth texture for DOF with MSAA in Mobile
2025-10-05 13:51:42 -07:00
chocola-mint
ead282ff13
Remove file_access.h and script_backtrace.h includes from logger.h.
2025-10-05 17:49:23 +09:00