This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
- Refactored RDG to support free-threaded execution of passes.
- Refactored renderer to use specific RHI command list variants in pass lambda. Immediate command list passes are forced to stay on the render thread, while other variants can be parallelized.
#rb christopher.waters
#ROBOMERGE-SOURCE: CL 16838717 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16838724 by zach bethel in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16748765 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16749194 by martin ridgers in ue5-release-engine-test branch]
* Added game thread-only version of draw events in order to avoid the mistake of pushing a draw event on the main thread using an immediate command list, and popping it on the main thread later on, while the original command list may have been destroyed already.
* FDrawEvent is now able to be started/stopped on the game thread (no command list provided : a render command using the current immediate command list will be issued on both start and end) or the rendering/RHI threads (same as now : the command list passed in the start function will be the one used in the end function)
* Fixed potential similar issue with Begin/EndDrawCanvasToRenderTarget and DrawMaterialToRenderTarget BP functions
* Fixed potential similar issue with FGPUSkinCache end of frame updates (+ fixed FGPUSkinCache::BeginBatchDispatch being ifdefed-out by #if WANTS_DRAW_MESH_EVENTS)
#rb mihnea.balta, chris.waters, josie.yang
#jira none
#tests editor, PF
#p4v-cherrypick 16311819
#ROBOMERGE-OWNER: jonathan.bard
#ROBOMERGE-AUTHOR: jonathan.bard
#ROBOMERGE-COMMAND: _robomerge UE5-Main
#ROBOMERGE-SOURCE: CL 16311809 in //Fortnite/Main/... via CL 16311812 via CL 16314912
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v804-16311228)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 16314932 by jonathan bard in ue5-release-engine-test branch]
* Added CVar (r.GpuProfilerMaxEventBufferSizeKB) to control the GPU profiler scratch buffer's size (dynamically tweakable)
#rb ionut.mataseru
#jira none
#p4v-cherrypick 16221270
#ROBOMERGE-SOURCE: CL 16221260 in //Fortnite/Main/... via CL 16221263 via CL 16222503
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Main) (v796-16191650)
[CL 16222533 by jonathan bard in ue5-main branch]
Static analyzer always evaluates expressions in check(), despite DO_CHECK=0 due to implementation of check():
#define check(expr) { CA_ASSUME(expr); }
If checked expression depends on something that's wrapped in `#if DO_CHECK`, it will produce a compile error. The fix is to add USING_CODE_ANALYSIS condition where applicable.
#robomerge Release-5.0-EarlyAccess
#rb Steve.Robb
[CL 15527660 by Yuriy ODonnell in ue5-main branch]
#jira UE-89825
#ryi Yujiang.Wang, Arciel.Rekman
#rb none
#ROBOMERGE-SOURCE: CL 12167281 in //UE4/Release-4.25/... via CL 12167285
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)
[CL 12167294 by michael sartain in Main branch]
SanitizeEventTree was not clamping start times to be >= to previous root start times, so
we were hitting asserts in TraverseEventTree() for:
lastStartTime >= GpuProfilerEvents[Root].GetStartResultMicroseconds()
This CL should sanitize all start/end time values
#jira UE-89825
#rb Yujiang.Wang, Arciel.Rekman
[FYI] Brandon.Schaefer
#ROBOMERGE-SOURCE: CL 12142863 in //UE4/Release-4.25/... via CL 12142872
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)
[CL 12142890 by michael sartain in Main branch]
#rb trivial
#rnx
#ROBOMERGE-SOURCE: CL 11969245 via CL 11969250 via CL 11969256 via CL 11969258
#ROBOMERGE-BOT: (v656-11643781)
[CL 11969260 by mickael gilabert in Main branch]
Use DEFINE_GPU_DRAWCALL_STAT macro instead of DEFINE_GPU_STAT to also get drawcall count in CSV for a specific pass.
SCOPED_GPU_STAT will then output CSV time for GPU pass and number of drawcalls of this GPU pass in CSV Drawcall category
#rb jian.ru, rolando.olivares
#ROBOMERGE-OWNER: mickael.gilabert
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 11966987 via CL 11967000 via CL 11967012 via CL 11967030
#ROBOMERGE-BOT: (v656-11643781)
[CL 11967730 by mickael gilabert in Main branch]
[at]Dmitriy.Dyomin
#rb Dmitriy.Dyomin
#jira none
#ROBOMERGE-SOURCE: CL 11575404 in //UE4/Release-4.25/... via CL 11575408
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11585249 by carl lloyd in Main branch]
* Take Dev-Rendering if any conflict happens
#rb none
#jira none
#ROBOMERGE-SOURCE: CL 11556366 in //UE4/Release-4.25/... via CL 11556370
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11579520 by yujiang wang in Main branch]
#rb none
#jira UE-89171
#ROBOMERGE-SOURCE: CL 11555948 in //UE4/Release-4.25/... via CL 11555950
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11579504 by yujiang wang in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]