charles derousiers
e17a01e51a
Add RDG Upload variant which take a lambda function for freeing the CPU memory once the data are uploaded.
...
#rb zach.bethel
#preflight 612f0d3779d62b0001b43362
#ROBOMERGE-SOURCE: CL 17383153 via CL 17383415
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17383421 by charles derousiers in ue5-release-engine-test branch]
2021-09-01 03:09:25 -04:00
zach bethel
5238135bde
Fixed RDG debug crash.
...
#rb trivial
#jira UE-118756
#ROBOMERGE-SOURCE: CL 17322944 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)
[CL 17322985 by zach bethel in ue5-release-engine-test branch]
2021-08-26 14:06:40 -04:00
zach bethel
447ab7a28a
Fixed bug with RDG drain and async compute. Fixed transition bug with UAV workaround in upload buffers. Added some command line arguments. Optimiized checks to disable RDG validation if parallel.
...
#rb none
#ROBOMERGE-SOURCE: CL 16997303 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16997322 by zach bethel in ue5-release-engine-test branch]
2021-07-29 13:02:16 -04:00
kenzo terelst
b02561aa19
Don't allow creation of presentable textures through RDG
...
#jira UE-120376
#rb Zach.Bethel
#preflight 61001fce1450a600013ee0a5
#ROBOMERGE-SOURCE: CL 16969211 via CL 16972156
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16972370 by kenzo terelst in ue5-release-engine-test branch]
2021-07-27 15:35:11 -04: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
aurel cordonnier
02c0f425e8
Copy up from Release-Engine-Staging @ 16738359
...
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719
[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
Jian Ru
13d2d6e79e
Batch BuildRenderingCommands from major mesh passes inside the main render function
...
#jira UE-117281
#rb ola.olsson, zach.bethel
[CL 16572282 by Jian Ru in ue5-main branch]
2021-06-07 12:19:06 -04:00
zach bethel
0658cc1c17
Removed ensure for RDG finalized resources being accessed on async compute. Needs to handle read-only resources.
...
#rb none
[CL 16517080 by zach bethel in ue5-main branch]
2021-06-01 13:22:44 -04:00
zach bethel
2ab8c34577
Replaced FRDGBufferUploader with internal RDG upload. Removes several transitions and passes and removes immediate command list passes from the graph.
...
#rb jian.ru
[CL 16459303 by zach bethel in ue5-main branch]
2021-05-25 20:46:17 -04:00
zach bethel
b843dabf06
Minor RDG fixes and support for read-only system textures.
...
[CL 16456650 by zach bethel in ue5-main branch]
2021-05-25 17:11:34 -04:00
christopher waters
02fe0df0fd
ETextureCreateFlags enum class.
...
#jira none
#rb luke.thatcher
#preflight 60abd0c758f02e00017a2196
[CL 16438084 by christopher waters in ue5-main branch]
2021-05-24 14:25:19 -04:00
zach bethel
90bc2efada
RDG refactor to enable draining of work after issuing occlusion queries.
...
- New Drain() method on FRDGBuilder; will flush all pending work.
- Drained passes are not culled; resource lifetimes are extended; async compute fences are optimized as best as possible but fence joining may occur after the drain.
- Batch up and pre-build all resource transitions. This is a prerequisite for parallel command lists.
- Removed ServiceLocalQueue passes with built-in RDG AddDispatchHint().
#jira UE-114622
[CL 16393495 by zach bethel in ue5-main branch]
2021-05-19 17:54:58 -04:00
zach bethel
a6c304ffb5
RDG validation fix for RDG_{TEXTURE, BUFFER}_ACCESS_ARRAY.
...
#rb trivial
[CL 16194686 by zach bethel in ue5-main branch]
2021-05-04 11:53:08 -04:00
Krzysztof Narkowicz
e14668b6f9
Lumen - create BC surfaces with TexCreate_UAV if UAVAliasing is supported
...
#fyi Luke Thatcher
[CL 16170274 by Krzysztof Narkowicz in ue5-main branch]
2021-04-30 13:21:16 -04:00
Krzysztof Narkowicz
e005f9cfca
RenderGraph - allow to create an aliased UAV into a BC surface
...
#rb Zachary.Bethel
[CL 16168670 by Krzysztof Narkowicz in ue5-main branch]
2021-04-30 11:28:17 -04:00
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