Commit Graph

6589 Commits

Author SHA1 Message Date
andrew ladenberger
d4242cdbf8 Removed a few high-frequency/low-value RHI stats to improve profiler readability and stability
#rb mickael.gilabert, andriy.tylychko
[FYI] ue-rendering-rhi

#ROBOMERGE-AUTHOR: andrew.ladenberger
#ROBOMERGE-SOURCE: CL 19375773 via CL 19375783 via CL 19377324 via CL 19392623 via CL 19393069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19402299 by andrew ladenberger in ue5-main branch]
2022-03-16 03:04:16 -04:00
charles bloom
04ffabc485 ImageWrapper and import/export refactor
FImage is now the standard preferred type for a bag of pixels
FImageView can point at pixels without owning an allocation
ERawImageFormat (FImage) converts to ETextureSourceFormat
FImageUtils provides generic load/save and get/set from FImage
major cleanup in the ImageWrappers
new preferred API is through ImageWrapperModule Compress/Decompress
SetRaw/GetRaw functions cleaned up to not have undefined behavior on unexpected formats
ImageWrapper output added for HDR,BMP,TGA
RGBA32F format added and supported throughout import/export
EditorFactories import/export made more generic, most image types handled the same way using FImage now
Deprecate old TSF RGBA order pixel formats
Fix many crashes or bad handling of unusual pixel formats
Pixel access functions should be used instead of switches on pixel type

#preflight 6230ade7e65a7e65d68a187c
#rb julien.stjean,martins.mozeiko,dan.thompson,fabian.giesen

[CL 19397199 by charles bloom in ue5-main branch]
2022-03-15 18:29:37 -04:00
Arne Schober
3eb5affed9 M - LowLevel Task extension for Expediting, and Revival of previously cancelled Tasks.
Where Revival tries to revert any Cancellation as if it never happened. If the canceled Task was already executed by the Scheduler the revival will fail
(the Task will not be relaunched if revival fails). And where Expediting tries to fast track a task if the result is needed immediately on the current Context.
#preflight 6230cb60f41c515c3704cf08
#RB Francis.Hurteau

[CL 19388819 by Arne Schober in ue5-main branch]
2022-03-15 13:43:06 -04:00
Devin Doucette
01274b17c8 Logging: Added a dedicated master thread for logging
#preflight 622fb0eca709bd110fea0da5
#rb Zousar.Shaker

[CL 19387540 by Devin Doucette in ue5-main branch]
2022-03-15 12:31:55 -04:00
Johan Torp
c98b32e33e Silence static analys warning
#jira UE-144965
#rb trivial
#rnx
#preflight 6230a502306f46da14877a0c

[CL 19386054 by Johan Torp in ue5-main branch]
2022-03-15 11:00:57 -04:00
Dan Thompson
c88187f01d Overlap IoStore reads with decrypt/decompress.
#rb carl-magnus.nordin
#rb fabian.giesen
#rb charles.bloom
#preflight 622baa6032749f363c91bec7

[CL 19376611 by Dan Thompson in ue5-main branch]
2022-03-14 15:13:04 -04:00
Devin Doucette
7d0ea0c0f8 StringBuilder: Migrated tests to Catch
#preflight 622f8a0080715dc6dad9dd90
#rb Zousar.Shaker
#rnx

[CL 19376039 by Devin Doucette in ue5-main branch]
2022-03-14 14:44:11 -04:00
ilya loshchinin
d9d64098f7 Fixed ThreadSingleton returning a stale pointer if using TryGet() after its destructor has been run.
This fixes FramePro malloc profiler using an invalid FrameProProfilerContext TLS object when profiling memory deallocation of another ThreadSingleton.

#tests Squads games on WSL, manually starting/stopping FramePro profiling.
#rb brandon.schaefer
#preflight 622ea396e652f92f31152268

#ROBOMERGE-AUTHOR: ilya.loshchinin
#ROBOMERGE-SOURCE: CL 19370380 via CL 19370384 via CL 19370497 via CL 19370636 via CL 19370637
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19374482 by ilya loshchinin in ue5-main branch]
2022-03-14 13:12:48 -04:00
ionut matasaru
c971027564 Fixed TraceStats crashing when the stat name is a wide char FName.
#jira UE-145293
#rb Catalin.Dragoiu
#preflight 622f3641344901ad191c3a08

[CL 19372250 by ionut matasaru in ue5-main branch]
2022-03-14 09:55:16 -04:00
danny couture
5afa88ede2 Add command-line option to disable debug output device which is often useful to avoid significant slowdown due to long stalls in OutputDebugString when VS is attached
#rnx
#rb Robert.Millar, Francis.Hurteau
#preflight 622b388346679d56c310b2f3

[CL 19371543 by danny couture in ue5-main branch]
2022-03-14 07:37:07 -04:00
rex hill
55842d3e94 Crashfix inis at startup
#preflight 622b9e000a614dcb0c02ce51

#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 19359429 via CL 19360744 via CL 19363804 via CL 19368121 via CL 19368191
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19368995 by rex hill in ue5-main branch]
2022-03-12 20:49:32 -04:00
Josh Adams
c564febc2f - Added FDDPIRegistry::GetAllSortedPlaformInfos which returns fake and disabled platforms, while GetSortedPlatformInfos will now only return "concrete/usable" platforms (independent of SDK status, etc)
- Changed the SupportedPlatforms dialog to show all DDPI platforms, not just the ones that are compiled in currently
#rb chris.waters
#preflight 622bc87546679d56c32545cd

[CL 19361979 by Josh Adams in ue5-main branch]
2022-03-11 17:28:48 -05:00
Devin Doucette
006e85ab44 CompressedBuffer: Changed RawHash to FIoHash
- Only the first 20 bytes of the RawHash field in the header will be consumed.
- In a subsequent change, the last 12 bytes of the RawHash field will be set to zero for new compressed buffers.

- Leveraged composite buffers to avoid performing an extra copy of compressed blocks.
- Updated FBlockEncoder::Compress to always use ParallelFor.
- Added ParallelForWithPreWorkWithTaskContext.

#preflight 622ba3869b7ce6ea5d44b7ab
#rb Zousar.Shaker
#rnx

[CL 19360767 by Devin Doucette in ue5-main branch]
2022-03-11 16:21:11 -05:00
marc audy
a3275e4513 Move SystemGUIDs in to a cpp to avoid massive recompiles when changing
Convert landscape mobile cook version to system guid system
#jira
#rnx

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19346370 via CL 19352300 via CL 19352991 via CL 19355735
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19357735 by marc audy in ue5-main branch]
2022-03-11 13:08:58 -05:00
steve robb
0e1e8c13fb Removal of unused CopyFormatted*() and *_TextOnly() functions.
#rb graeme.thornton
#preflight 6229fae77341dd1ecf70f0a0

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19335163 via CL 19339363 via CL 19345711 via CL 19350978 via CL 19351029
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351730 by steve robb in ue5-main branch]
2022-03-11 04:01:36 -05:00
marc audy
abffec6e31 StructuredArchive namespace fixes.
#rb none
#preflight 6228bfd231133a23da83376d


#ushell-cherrypick of 19339219 by steve.robb

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19320363 via CL 19345602 via CL 19350976 via CL 19351027
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351729 by marc audy in ue5-main branch]
2022-03-11 04:01:29 -05:00
jeannoe morissette
6d083e9aaf Fix driver version check for Windows on NVIDIA.
#jira UE-145362
#preflight 6228f4e41357c5e91307fa84
#lockdown Michal.Valient
#rnx

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 19337685 in //UE5/Release-5.0/... via CL 19348971
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19349177 by jeannoe morissette in ue5-main branch]
2022-03-10 23:55:58 -05:00
josh adams
be5d044fb3 Platform set changes
Improved UX For Device Tree and CVar Conditions
- Clean up Niagara Device Tree
   - new bIsVisibleForAsssets value in device profiles to have them indicate which device profiles should be visible in other assets.
- Improved tooltips and colouring on device tree to better show what is enabled/disabled and why.
- Added tooltips for CVar conditions to text entry and suggestion boxes showing the CVar help text.

PlatformSet Redirect feature =
- Can redirect usage of device profiles to other device profiles or CVar conditions.
- Allows fixup of content referncing legacy device profiles.
- Adding CVar fx.Niagara.LegacyDeviceProfiles to facilitate some legacy DP fixup.

Platforms now specifiy a min & max Niagara Quality Level they support which reduces need for trawling ini files and allows fragments to set quality level.

CVar Conditions now have more control over what occurs when the condition is passed or failed. Previously they could only disable the set when the condition is failed which is now the default.

Misc Fixes
- Preview DP is cleared before restoring CVar states so CVar callbacks have the correct preview DP value.
- Data Driven CVars are now updated correctly when default is modified in project settings.
- Console Manager now has a callback when CVars are unregistered.
- Utility function for calling a functor on all platform sets in a Niagara system.
- Tweaked callbacks for CVar changes so updates are defered and also limited to only refresh things that references changed CVars.


#rb Stu.Mckenna, Josh.Adams
#preflight 6228bc3a1f1ec97d4e89a3c4

#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: simon.tovey
#ROBOMERGE-SOURCE: CL 19321301 via CL 19321315 via CL 19325452 via CL 19327333 via CL 19327341
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348289 by josh adams in ue5-main branch]
2022-03-10 22:03:54 -05:00
steve robb
20f70c7c9a Fix for UTF-8 decoding wrongly emitting multiple bogus chars for a correctly parsed codepoint but invalid value.
#rb devin.doucette
#preflight 62227cf4335298c3146c7f9b

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19288970 via CL 19297833 via CL 19306453 via CL 19306774
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347213 by steve robb in ue5-main branch]
2022-03-10 21:07:19 -05:00
helen yang
b21f45cd91 Add LLM tracking for audio spatialization plugins
#jira UE-133094
#rb aaron.mcleran
#preflight 622937921f1ec97d4e9aaa02

#robomerge FNNC

[CL 19340143 by helen yang in ue5-main branch]
2022-03-10 14:35:59 -05:00
Devin Doucette
3c6bf2a867 Core: Migrated a few tests to Catch
#preflight 6228b6d4cc09078bab546443
#rb Zousar.Shaker
#rnx

[CL 19324283 by Devin Doucette in ue5-main branch]
2022-03-09 14:26:04 -05:00
Devin Doucette
0f132402bc PlatformFile: Eliminated the lock in IterateDirectoryRecursively
There was contention on the lock when 60+ worker threads execute the ParallelFor.

#preflight 6228caf331133a23da85eda2
#rb Danny.Couture
#rnx

[CL 19320744 by Devin Doucette in ue5-main branch]
2022-03-09 11:05:33 -05:00
Devin Doucette
2948a8a3ed String: Added string escaping functions under UE::String
#preflight 62283bef31133a23da6704e7
#rb Zousar.Shaker
#rnx

[CL 19319326 by Devin Doucette in ue5-main branch]
2022-03-09 08:48:44 -05:00
danny couture
7a28251a42 Fix non-unity build
#rb trivial
#preflight 6228acd7d773d6497bfcd625

[CL 19319287 by danny couture in ue5-main branch]
2022-03-09 08:45:10 -05:00
danny couture
4114b4b372 Add support for dynamic thread prioritization
- This restore proper prioritization support that was lost with the new task backend while keeping a sane number of threads
  - This helps to prevent latency sensitive tasks from going to efficient cores for Alder Lake
  - This fixes performance problems caused by high prio task getting picked up by background threads and being preempted under high-load, causing FPS hiccups.
  - SetThreadPriority takes ~20us on average on Windows System and is only paid for background work
  - Longer SetThreadPriority can be expected when lowering the priority of a task under heavy load, which might cause the caller to be preempted right away, this is expected.
  - Can be A/B tested from command-line with -TaskGraphUseDynamicPrioritization=1/0

#rb Andriy.Tylychko, Arne.Schober, Stefan.Boberg
#preflight 622786a7e83598518f3745a1

[CL 19314282 by danny couture in ue5-main branch]
2022-03-08 19:24:40 -05:00