Commit Graph

32 Commits

Author SHA1 Message Date
wei liu
fd8ea2fa94 Support a pass with the ability to explicitly skip pass merging.
#jira 113084

#rb Zach.Bethel, Dmitriy.Dyomin, Jack.Porter, Mi.Wang

#lockdown ben.marsh

#ROBOMERGE-SOURCE: CL 15966669 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15981946 by wei liu in ue5-main branch]
2021-04-12 15:36:14 -04:00
zach bethel
d66076eacf Added RDG validation to check for dangling pointers and assert at AddPass time. Tracks resources actively used in the graph and will emit an assert if an incoming resource isn't part of the set. This would catch, for example, if the user kept around a resource from a previous builder and tried to reuse it in a new builder.
#rb charles.derousiers
#jira none

[CL 15931804 by zach bethel in ue5-main branch]
2021-04-06 12:38:10 -04:00
zach bethel
9fc8b1722d Refactored RDG ConvertToUntrackedX functionality into the RDG builder; renamed the operation to 'FinalizeAccess' for clarity, as the resource is considered finalized in the graph and will not transition to any other state. This operation now supports multiple resources, improving performance in cases where multiple resources are finalized back-to-back. Added validation to check that the user don't attempt to use it outside of its finalized state. Fixed up a few places where this assumption was being violated. Minor refactors in various places to use new API.
#rb arne.schober, christopher.waters
#jira none

[CL 15931331 by zach bethel in ue5-main branch]
2021-04-06 11:45:09 -04:00
marc audy
bf2e06bca2 Added initial support for RDG_{TEXTURE, BUFFER}_ACCESS_ARRAY, which enables a dynamic number of inputs into an RDG pass. Removed unused / deprecated SHADER_PARAMETER_RDG_BUFFER.
#rb none

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 15905815 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15907353 by marc audy in ue5-main branch]
2021-04-02 20:35:50 -04:00
zach bethel
8c1793ad5a Integration of RHI transient allocator into RDG.
- Replaced legacy transient support from RDG and replaced with new API.
 - Reworked acquire / discard operations a bit and added RHI validation to track correctness.
 - Reworked RDG barrier batching to include acquire / discard operations.
 - Hardened render pass merging logic and expanded to support lifetime extension of transient resources.
 - Added transient tag to RDG insights to track which resources are transient.

#rb luke.thatcher, kenzo.terelst

[CL 15726534 by zach bethel in ue5-main branch]
2021-03-17 12:44:59 -04:00
steve smith
461f10df8e Fix CIS break (with rename of FoveationTexture to ShadingRateTexture).
#rb trivial
#jira none

[CL 15630421 by steve smith in ue5-main branch]
2021-03-05 18:33:15 -04:00
steve smith
f6669c1638 Fix assert on RHI access for foveation texture.
#jira UE-104918
#rb zach.bethel

#ROBOMERGE-SOURCE: CL 15628768 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15628769 by steve smith in ue5-main branch]
2021-03-05 16:16:14 -04:00
zach bethel
d72f0bfee0 Reimplemented optimization to reuse existing shadow mask texture in lighting phase.
#rnx

[CL 15473950 by zach bethel in ue5-main branch]
2021-02-19 14:26:41 -04:00
zach bethel
1829d51d80 Fixed build break.
#rb none

[CL 15465960 by zach bethel in ue5-main branch]
2021-02-18 20:06:45 -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
44e2bf09de Miscellaneous render graph changes in preparation for the scene textures refactor.
- Added GetLoadActionIfProduced helper function.
 - Made GetPooledFreeBuffer attempt to reuse the existing allocation.
 - Disable load action validation when SkipRenderPass is specified.

#rb none
#rnx

[CL 14957259 by zach bethel in ue5-main branch]
2020-12-18 16:33:44 -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
281d042714 Fixed erroneous assert in RDG debug mode.
#rb none

[CL 14821365 by zach bethel in ue5-main branch]
2020-11-30 13:16:32 -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
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
40f8c36086 Fix for RDG pass flags validation and ERHIAccess::IndirectArgs.
#rb none

[CL 14665150 by zach bethel in ue5-main branch]
2020-11-05 11:20:37 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
zach bethel
e6aed42888 Added missing validation case for RDG debug logging.
#rb trivial
#jira none
#rnx

[CL 14577470 by zach bethel in ue5-main branch]
2020-10-26 12:05:19 -04:00
zach bethel
929433e6b6 Various fixes needed for next round of RDG conversions.
#rb christopher.waters
#jira none
#rnx

[CL 14562670 by zach bethel in ue5-main branch]
2020-10-23 16:26:52 -04:00
zach bethel
1be4df8f48 Removed deprecated resource transition API from the engine.
#rb kenzo.terelst, christopher.waters, mihnea.balta
#fyi will.damon, brian.white, rolando.caloca
#jira none

[CL 14495239 by zach bethel in ue5-main branch]
2020-10-14 14:20:26 -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
Lukas Hermanns
f5a2de0686 Use const-ref to iterate over TMap entries to fix compiler error with clang 10 (Merged from CL 14359172).
#rb Brandon.Schaefer
#fyi Michael.Sartain
#jira none
#rnx

[CL 14359227 by Lukas Hermanns in ue5-main branch]
2020-09-21 16:17:38 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00