Commit Graph

24 Commits

Author SHA1 Message Date
john huelin
95c1680b6e Fix DrawCallCount per pass not working when multithreaded RHI command recording is enabled.
[REVIEW]
#rnx

#ROBOMERGE-OWNER: john.huelin
#ROBOMERGE-AUTHOR: john.huelin
#ROBOMERGE-SOURCE: CL 20105654 via CL 20105671 via CL 20107113 via CL 20107146
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20110543 by john huelin in ue5-main branch]
2022-05-09 16:35:01 -04:00
jason hoerner
294c5dd557 UE5_RELEASE: Virtual Production, improved profiling for multiple view family scenarios.
* Increased limit for GPU profiler events on D3D12.  A typical frame with 4 view families would easily exhaust the old limit of 1K events resulting in many events not showing up in the profile -- limit increased to 8K, and confirmed negligible difference in memory.  Fixed bug where we were only using half the queries allocated as well (unnecessary multiplication by 2 when calling RHICreateRenderQueryPool).
* Added optional "ProfileDescription" to FSceneViewFamily, which is appended to the Unreal Insights profile event names for both CPU and GPU, so you can differentiate view families.
* Infrastructure added to CPU profiler to allow a verbose name to be added to a Stat timing block.
* Infrastructure added to GPU profiler to allow verbose names to be added to timing blocks in general, both Event and Stat timing blocks.
* Added stats display for Display Cluster listing the CPU and GPU cost, and GPU assignment per view family by name, with the goal of allowing clients to tune features enabled per view family to adjust performance, without needing to gather performance information from Unreal Insights.
* FSceneRenderer::DoCrossGPUTransfers uses push transfer without lockstep (logic copied from 4.27), which significantly improves perf.

#rb zach.bethel marc.audy mihnea.balta
#jira none
#rnx
#preflight 61df4d23484d866ec01f17cf

#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 18591295 in //UE5/Release-5.0/... via CL 18591308 via CL 18591324
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18591346 by jason hoerner in ue5-main branch]
2022-01-12 18:25:48 -05:00
jeremy moore
d51269ce92 Fix GPU stat scope race condition.
Start or stop trace GPU channel could lead to mismatched scope begin/end.
[FYI] zach.bethel
#preflight 61bc0e61b12f441ed9e0e118

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18483144 in //UE5/Release-5.0/... via CL 18483148
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18483149 by jeremy moore in ue5-release-engine-test branch]
2021-12-16 23:41:00 -05:00
zach bethel
5ec769f91e RDG Parallel Execution (disabled by default)
- 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]
2021-07-13 12:38:37 -04:00
christopher waters
13e7df6bcf Adding ability to format breadcrumbs if you want to use them manually.
Using manual breadcrumbs to track mesh draw command sources.
Fixing issues caused by recursive Command List execution where the newer Command Lists would end up hiding the higher command lists in the breadcrumb dumps.
Cleaned up a few aspects of breadcrumbs, including moving some functionality to the proper classes.

#jira UE-115087
#rb zach.bethel, kenzo.terelst, mihnea.balta
#preflight 60a68bd57d6b06000180ca18

[CL 16407874 by christopher waters in ue5-main branch]
2021-05-20 15:18:40 -04:00
jonathan bard
2b0d389910 Fixed crash when drawing landscape BP brushes :
* 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-SOURCE: CL 16311809 in //Fortnite/Main/... via CL 16311812 via CL 16314912 via CL 16314932
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v804-16311228)

[CL 16314939 by jonathan bard in ue5-main branch]
2021-05-13 13:12:56 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
michael sartain
24658e3f19 Clamp GpuProfilerEvent times to valid values plus remove unused variables
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]
2020-03-11 18:08:11 -04:00
mickael gilabert
d26c6ac118 Added DEFINE_GPU_DRAWCALL_STAT to get drawcall count per specific category
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]
2020-03-05 17:55:22 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#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]
2019-12-26 14:45:42 -05:00
Rolando Caloca
1a30325d6f Copying //UE4/Dev-RenderPlat-Staging@9551419 to //UE4/Main
#rb none
#rnx

[CL 9551447 by Rolando Caloca in Main branch]
2019-10-11 15:33:31 -04:00
Marcus Wassmer
b89a1e5351 Copying //UE4/Dev-Mobile@9319092 to Dev-RenderPlat-Staging (//UE4/Dev-RenderPlat-Staging)
#rb none

[CL 9319120 by Marcus Wassmer in Dev-RenderPlat-Staging branch]
2019-10-01 14:51:40 -04:00
Nick Shin
3526d16d5e merge/copyup to parent stream - HTML5 platform extension
#jira UEMOB-482  HTML5 platform as a plug in
#rb josh.adams
#rn

[CL 9306021 by Nick Shin in Dev-Build branch]
2019-09-30 15:13:56 -04:00
jian ru
ced7e8883a Redo CL 8374078 to resolve merge conflict - Reduce FRealtimeGPUProfiler overhead
#rb Ben.Woodhouse,Jonas.Meyer,Rolando.Caloca


#ROBOMERGE-SOURCE: CL 8375899 via CL 8380119
#ROBOMERGE-BOT: (v402-8361577)

[CL 8380167 by jian ru in Main branch]
2019-08-29 19:40:50 -04:00
michal valient
bfdcead4ed Fixed dereferencing null ptr in FRealtimeGPUProfiler at exit
#jira UE-76546
#rb marcus.wassmer

#ROBOMERGE-SOURCE: CL 7277248 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v369-7254125)

[CL 7277251 by michal valient in Main branch]
2019-07-11 12:57:57 -04:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00