even though ASTC could encode other values of A, still clamp as if it was BC6H for consistency
now all compressed HDR formats should clamp the same way that Oodle Texture currently does
#preflight 6296556c452ffe576a816993
#rb fabian.giesen
[CL 20440882 by charles bloom in ue5-main branch]
Replaced nullptr_t with TYPE_OF_NULLPTR to prevent error reporting in IDE's utilizing clangd like QT Creator
#rb steve.robb
#jira UE-153483
#preflight 62962084d86c0bf739afa06c
[CL 20436963 by Steve Robb in ue5-main branch]
- Added FHierarchicalLogArchive proxy that can be used to output a structured log archive.
- Converted world partition streaming generation logging to use FHierarchicalLogArchive.
#rb richard.malo
#preflight 6294e2363f154a84f7fb492d
#rnx
[CL 20431659 by JeanFrancois Dube in ue5-main branch]
Actual usage of the property will get merged in from UE5, but adding the placeholder property here to reduce pain from data merges.
This change also remaps the original bEvaluateWorldPositionOffset on SMC into bEvaluateWorldPositionOffsetInRayTracing, because this var was only ever driven by ray tracing specific methods.
We expect to need to special case robomerging the remap of bEvaluateWorldPositionOffsetInRayTracing since it needs to be done from different branches with different branch specific versions.
#rnx
#preflight 62912113fe5e30102ab83d32
#ROBOMERGE-OWNER: jeremy.moore
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 20398059 via CL 20398673 via CL 20398786
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20401242 by jeremy moore in ue5-main branch]
As the memory tracing implementation grew and callstack tracing was extracted it became clear that alot of the code which was implemented as platform specific should really be platform independent. This changelist moves all MemoryTrace_* methods except the MemoryTrace_Initialize to a platform independent layer. This also allows for internalizing the "do-not-allocate-while-tracing-an-allocation" flag. Also took the oportunity to rename MemoryTrace.cpp in Microsoft folder to better reflect platform specific file.
#rb ionut.matasaru
#preflight 6290df2d3c05bea8bfd3ed82
#preflight 6290eb90b83292836e074fff
[CL 20394897 by Johan Berg in ue5-main branch]
From 119 Seconds to 269 ms when measuring the time redo a large marquee selection (30 384 static mesh instances).
#jira UE-148888
#preflight 627146b75e6ce673f443ccea
[CL 20393379 by Julien StJean in ue5-main branch]
- only one function used in one place, so easier to extern it directly.
#jira UE-149794
#rnx
#preflight 6290b15bf6668c14a3cc75d0
#rb pending
[CL 20392928 by David Harvey in ue5-main branch]
When worker threads are heavily utilized by slow tasks, ParallelFor may execute most of the work on the calling thread before most (or any) of its tasks have executed. Allowing these tasks to execute later is wasteful because each task executed on a background worker pays about 0.3us to lower and then raise thread priority. Canceling the tasks can avoid that cost when paired with an upcoming change to the scheduler, which saves about 40us for each call to ParallelFor in a heavily-utilized pool of 126 worker threads.
#preflight 62587f45010ebc5d4e89d347
#rb Andriy.Tylychko, Arne.Schober
[CL 20392225 by Devin Doucette in ue5-main branch]
#rb Paul.Chipchase, PJ.Kack, CarlMagnus.Nordin
#jira none
#preflight 629085d14f63120d8e170977
###
This change attempts to merge the editor and the runtime version of bulk data, i.e. bulk data one and two.
The major difference between the two is the fact that the editor version supported element vice
serialization via inheritance. This has been complelety removed in the runtime version. In order
to mitigate this divergance a non-virtual base class has been extracted that forms the base
for the untyped and typed versions of bulk data.
The untyped version is only used in editor and will be deprecated. However this is a breaking change,
previously it was possible to inherit from FByteBulkData in editor builds.
Other differences between the two includes:
* IsBulkDataLoaded - returns true for bulk data 1 if an allocation has been made even if the size is zero
* StartStreaming - was removed in bulk data 2 and has been removed
* FlushAsyncLoading - bulk data 2 was busy waiting, now an event is used
All I/O related functionality has been extracted into BulkDataStreaming.cpp and is using
a FBulkDataChunkId that is either a package path or a package ID.This could potentially
be extended to contain a cache key in development builds to support loading from DDC, i.e derived
data references.
[CL 20391050 by Per Larsson in ue5-main branch]
New ConstCastWeakPtr and StaticCastWeakPtr functions to match the SharedPtr/Ref equivalents.
Lots of sharedptr-related functions made [[nodiscard]].
#rb devin.doucette
#jira none
#preflight 628fad39e17a02240dd5bbe7
[CL 20381019 by Steve Robb in ue5-main branch]
Minor cleanup: remove undef for no-longer-used TVARIANT_STORAGE_USE_RECURSIVE_TEMPLATE
#review-20369685 @steve.robb
#rb @steve.robb
#preflight 628ecec4bb14235aa384ca74
[CL 20374785 by David Parton in ue5-main branch]