to expose GPU texture formats for R32F and RGBA32F
PF_A32B32G32R32F
PF_R32_FLOAT
OpenGL ES platforms do not support F32 with filtering so must convert to F16 unless the mip filter is set to nearest
#preflight 627a822810766ef8c1fa0b07
#rb Dmitriy.Dyomin,fabian.giesen
[CL 20125675 by charles bloom in ue5-main branch]
- Session Browser: Improved metadata update by prioritizing the newer trace sessions. Also enabled parallel update for metadata (~10x faster to update metadata for large number of traces).
- Added a critical section for synchronizing the use of FStoreClient exposed by Insights Manager (as FStoreClient API is not thread safe).
- Session Browser: Added F5 key shortcut to refresh the list of trace sessions (debug functionality).
#rb Johan.Berg
#preflight 627a5bce937a047d622c1a6e
[CL 20122453 by ionut matasaru in ue5-main branch]
GetAllTextureFormats is only used by COTF for version checking
could deprecate then remove it entirely
#rb none
#preflight 62797695e02e157f3e6a021b
[CL 20110473 by charles bloom in ue5-main branch]
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 20082848 via CL 20083225 via CL 20083623
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20106592 by krzysztof narkowicz in ue5-main branch]
#rb header and class name replacement
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20078276 via CL 20078825
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20106316 by lauren barnes in ue5-main branch]
Can now provide reference iostore containers to reuse compressed chunks from. If a match is found on *the decompressed data*, instead of recompressing the blocks, they are read off of disk. This allows tweaks of the compressor algorithm without introducing changes as the runtime still sees the exact same data. Additionally this allows for fairly dramatic staging speedups as nvme speeds are significantly faster than high effort compressions. This is distinct from the DDC compression because:
1) DDC compression ties in the compressor version/method
2) We are explicitly interested in chunks that are deployed to end users, not merely cached for speed.
To facilitate this, several changes were made to IoStore:
FIoStoreReader now directly reads from IFileHandles* instead of routing through the GenericPlatformFile async read system, as that system is sensitive to build #defines and can result in constant file opens under load (indeed, for anything not a .pak file, every read is an open/close).
Cold file cache read speed improvements from ~140MB/s to ~1 GB/s. Hot is more.
Additionally:
FIoStoreReader switched to UE::Tasks from taskgraph for tasks in order to facilitate task retraction during waits as the previous ReadAsync call was trivial to deadlock when called from worker threads due to its use of TFuture<>.
FIoStoreReader::ReadCompressed now returns the compressed blocks as they were on disk - padded to AES encryption block size.
#rb fabian.giesen
#rb jeff.roberts
#preflight 627586dcf77c9c2b543d4d8b
[CL 20086673 by Dan Thompson in ue5-main branch]
Instead make the output VelocityPrevScreenPosition interpolant INVARIANT which is a better match for the other approaches to INVARIANT in the shader code.
Initially the USE_WPO_PRECISE code was added for DXBC only, to prevent mismatch between depth and base pass. This type of error was later more widely fixed by 19392831.
This fix led to another need for USE_WPO_PRECISE. That came from the output position now being (correctly) INVARIANT but the output VelocityPrevScreenPosition didn't have INVARIANT. This could lead to very different calculations between current and previous position and therefore incorrect velocity vectors.
#preflight 62755e8be31cfc52d5c5d21d
[CL 20080347 by Jeremy Moore in ue5-main branch]