Commit Graph

133 Commits

Author SHA1 Message Date
zach bethel
50d368cbf4 Improved sorting and coloration of resources in RDG insights.
#rb none
#rnx

[CL 15338594 by zach bethel in ue5-main branch]
2021-02-05 12:11:16 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
zach bethel
274c3b2ba7 RDG Insights Plugin
#jira none
#rb catalin.dragoiupruna

[CL 15296346 by zach bethel in ue5-main branch]
2021-02-03 13:17:04 -04:00
zach bethel
2f4d0bf263 Renamed SetGlobalUniformBuffers to SetStaticUniformBuffers for consistency.
#rb christopher.waters
#jira none

[CL 15071806 by zach bethel in ue5-main branch]
2021-01-13 16:51:48 -04:00
zach bethel
782e2b8c79 Fixed crash in DrawTileMesh due to SkipBarriers flag.
#rb none

[CL 15052129 by zach bethel in ue5-main branch]
2021-01-12 13:56:48 -04:00
zach bethel
20c1e430de Fixed RDG 'Clear' stat timings.
#rb none
#rnx

[CL 14914490 by zach bethel in ue5-main branch]
2020-12-14 13:29:53 -04:00
zach bethel
bbca7d57e6 Fixed build break.
#rb none

[CL 14876404 by zach bethel in ue5-main branch]
2020-12-07 23:41:36 -04:00
zach bethel
0a145b23fe Improved RDG state merging to better handle subresources. Subresource tracking is used for the rest of the graph if subresource states are encountered. Improved error reporting for edge case where transitions are inserted out of order. Added explicit merge check for depth read / write to make sure that it doesn't merge with anything else.
#rb none

[CL 14874576 by zach bethel in ue5-main branch]
2020-12-07 18:45:31 -04:00
zach bethel
0d7dc4d4ed Refactor of uniform buffer binding to allow for runtime selection of static or per-shader binding. This is a necessary precursor to moving the View uniform buffer to use static bindings on mesh passes; it is used in so many places that both binding models are required to preserve compatibility. Added validation to catch when a uniform buffer is bound using both methods at the same time. Added CVar to RHI transition validation to control whether to break in the debugger on a transition failure.
#rb christopher.waters

[CL 14873973 by zach bethel in ue5-main branch]
2020-12-07 17:42:32 -04:00
zach bethel
8b370a9a97 Fix for non-unity builds.
#rb none

[CL 14821718 by zach bethel in ue5-main branch]
2020-11-30 13:41:01 -04:00
zach bethel
7ae3cdb31f Implemented support for multi-pipe UAV access. Implemented command list stats on RDG builder to avoid helper passes. Added {Begin, End}UAVOverlap to RDG UAVs.
#rb none

[CL 14821597 by zach bethel in ue5-main branch]
2020-11-30 13:27:08 -04:00
zach bethel
b6408b9615 Fix for RDG crash due to early release of allocations.
#rb none

[CL 14783470 by zach bethel in ue5-main branch]
2020-11-18 18:54:41 -04:00
zach bethel
4e959189a6 Reworking RDG allocator to include container memory. This removes the dependency on the thread local memstack, and MemMark can no longer release RDG memory. All RDG memory is now released after execution.
#rb christopher.waters

[CL 14783232 by zach bethel in ue5-main branch]
2020-11-18 18:25:03 -04:00
Marc Audy
af0cbf82a1 Fix warning V670: The uninitialized class member 'Allocator' is used to initialize the 'Blackboard' member. Remember that members are initialized in the order of their declarations inside a class.
#codereview Zach.Bethel

[CL 14770445 by Marc Audy in ue5-main branch]
2020-11-17 23:33:02 -04:00
zach bethel
07f39208c9 Added RDG system textures struct tied to the RDG blackboard. Pre-registers all resources with a ReadOnly flag which will disallow writes. Also allows us to avoid re-registering dummy textures dozens of times. Removed unused GTAO randomization texture.
#rb christopher.waters

[CL 14766647 by zach bethel in ue5-main branch]
2020-11-17 18:21:53 -04:00
zach bethel
7c55500b43 RDG refactors in preparation for scene render targets refactor.
- Added simple blackboard container.
 - Added support for checking if a resource has been produced within the graph.
 - Moved all RHI validation into user validation cpp file.
 - Fixed bug in graph producer compilation logic when switching to subresources.

#rb none

[CL 14766062 by zach bethel in ue5-main branch]
2020-11-17 17:04:48 -04:00
zach bethel
5630bcfd89 Added Multi-pipeline Transition Support to platforms and RDG. Fixed uniform buffer hack in composition lighting.
#rb luke.thatcher, kenzo.terelst
#jira none

[CL 14727873 by zach bethel in ue5-main branch]
2020-11-11 19:22:36 -04:00
zach bethel
5ed68b3510 Fixed build break.
#rb none
#rnx

[CL 14714023 by zach bethel in ue5-main branch]
2020-11-10 17:33:32 -04:00
zach bethel
28444033f1 Workaround to remove transitions within a render pass for DrawTileMesh.
#rb none
#rnx

[CL 14712291 by zach bethel in ue5-main branch]
2020-11-10 17:03:20 -04:00
zach bethel
a43386cdcf Moved RDG uniform buffer creation to CollectPassResources.
#fyi wei.liu
#rnx

[CL 14692144 by zach bethel in ue5-main branch]
2020-11-09 13:43:23 -04:00
Daniel Wright
cc1f6caa09 Better assert message when RDG encounters an SRV during AddPass that hasn't been encountered as a UAV or RTV yet.
#fyi Zach.Bethel

[CL 14637185 by Daniel Wright in ue5-main branch]
2020-11-02 18:07:00 -04:00
zach bethel
55454613b7 Merged CL to fix UAV crash: Refactored RDG pooled buffer UAV/SRV creation into public helper functions to aid with hair conversion.
#rnx
#jira UESP-3926
#rb charles.derousiers
#ushell-cherrypick of 14480968 by zach.bethel

[CL 14540380 by zach bethel in ue5-main branch]
2020-10-21 18:38:31 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
zach bethel
cf37aaf0bc Fix for ConvertToExternalX causing passes to be culled in RDG.
- This function calls FRDGBuilder::PreallocateX, which sets bExternal to true.
 - Culling relies on bUntrackedOutputs to mark passes with external resources as root nodes in the culling traversal.
 - bUntrackedOutputs was being assigned during AddPass instead of during Compile.

#rb krzysztof.narkowicz
#jira none

[CL 14412855 by zach bethel in ue5-main branch]
2020-09-30 14:23:56 -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