Commit Graph

46 Commits

Author SHA1 Message Date
Ola Olsson
a7127725ee Add simple functionality to wrap 1D dispatches into 2D or 3D as needed with minimal overhead, and add utility shader function to retrieve the linear index.
- Makes the assumption (checked) that dimensions are at least 128 in both X and Y.

#rb Krzysztof.Narkowicz,Sebastien.Hillaire,Rune.Stubbe
#preflight 60d059002ab2180001122cef

[CL 16725805 by Ola Olsson in ue5-main branch]
2021-06-21 06:07:27 -04:00
christopher waters
17e4707703 Adding CreateUploadBuffer helpers.
Adding FRDGUploadData to create upload data directly from the GraphBuilder persistent memory.

#jira none
#rb Zach.Bethel
#preflight 60c0de551264df00015e307a

[CL 16613071 by christopher waters in ue5-main branch]
2021-06-09 17:17:23 -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
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
7c28e71d9e Batch RDG upload passes together to reduce transitions and RDG compilation work.
#rb charles.derousisers, andrew.lauritzen
#jira UE-114621

[CL 16209728 by zach bethel in ue5-main branch]
2021-05-05 13:20:09 -04:00
Charles deRousiers
535d1d95c1 Add render graph support for default textures and default buffers with custom format and custom default value.
#rb zach.bethel, sebastien.hillaire
#jira none

[CL 16183014 by Charles deRousiers in ue5-main branch]
2021-05-03 06:44:33 -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
andrew lauritzen
9b0a6fab9d Remove complete shadow maps and replace with direct VSM sampling
- Move VSM parameters into a single uniform buffer; required for base pass rendering.
  - SRVs are initialized to dummy data until they are computed during the frame and subsequently updated before any VSM sampling.
  - Make names and usage more consistent with other UB bindings in mesh passes
- Direct injection of VSM into translucent volume and fog
- Support VSM sampling in forward lighting shaders
  - Enabled and bound currently for translucent forward and single pass water meshes
- Support VSM sampling in sky atmosphere and cloud rendering
  - NOTE: Sky atmosphere LUT pass currently executes before BasePass and ShadowDepths so it will not sample proper data and throw a warning. Moving passes around to address this will come in a future commit.

#rb Brian.Karis, Ola.Olsson, Sebastien.Hillaire, Zachary.Bethel

#ROBOMERGE-OWNER: andrew.lauritzen
#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 15649858 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)
#ROBOMERGE-CONFLICT from-shelf

[CL 15650486 by andrew lauritzen in ue5-main branch]
2021-03-08 23:14:54 -04:00
zach bethel
1219c611c8 Removed FRDGTexture::GetPooledRenderTarget() usage and deprecated in prepration for transient allocator support.
#rb kenzo.terelst

[CL 15628262 by zach bethel in ue5-main branch]
2021-03-05 15:28:03 -04:00
zach bethel
cfcbdd1d90 Removed dead code from render target pool; removed 'passthrough' RDG hacks used during conversion.
#rb none
#rnx

[CL 15584180 by zach bethel in ue5-main branch]
2021-03-03 12:56:07 -04:00
zach bethel
7874505724 Removed untracked access from RDG and other conversion-related stuff.
#rnx
#rb none

[CL 15465786 by zach bethel in ue5-main branch]
2021-02-18 19:54:54 -04:00
zach bethel
81d46bc35e Fixed cloud RHI validation failures.
#rb sebastien.hillaire
#jira UE-105065
#rnx

[CL 15155170 by zach bethel in ue5-main branch]
2021-01-21 12:46:39 -04:00
Emil Persson
9d7f102824 Replace FRHIVertexBuffer, FRHIIndexBuffer and FRHIStructuredBuffer with FRHIBuffer, and some additional cleanup.
#rb kenzo.terelst

[CL 15143850 by Emil Persson in ue5-main branch]
2021-01-20 06:49:41 -04:00
graham wihlidal
1eb46b205d Modified RenderGraph CreateStructuredBuffer helper to support 0 element allocations by returning a dummy buffer with 1 element
#rb trivial
#fyi zach.bethel

[CL 15080185 by graham wihlidal in ue5-main branch]
2021-01-14 00:23:29 -04:00
zach bethel
c6cb1e82be Deprecated and gutted FSceneRenderTargets. Moved all textures over to FSceneTextures. Refactored the renderer to use RDG textures from FSceneTextures instead.
#rb arne.schober, luke.thatcher, christopher.waters, kenzo.terelst

[CL 15040082 by zach bethel in ue5-main branch]
2021-01-11 14:49:16 -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
102420ff59 Expanded RDG builder outside of scene renderer.
#rb christopher.waters
#jira none

[CL 14914671 by zach bethel in ue5-main branch]
2020-12-14 13:56:15 -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
f8f5091f45 Moved velocity out of FSceneRenderTargets. Registered GBuffers into FSceneTextures as prep for removal. Rewrote GetGBufferRenderTargets.
#rb christopher.waters, john.hable

[CL 14798492 by zach bethel in ue5-main branch]
2020-11-20 14:48:45 -04:00
zach bethel
ba31d9b2f5 Added FMinimalSceneTextures and FSceneTextures to deferred shading renderer and marshaled it through the render pipeline.
#rb christopher.waters
#rnx

[CL 14780920 by zach bethel in ue5-main branch]
2020-11-18 15:16:23 -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
graham wihlidal
076d131ceb Changed group dimension checks in ValidateGroupCount to ensures so that dispatches exceeding these limits hopefully don't take down the editor (but still prompt engineers that a technique is doing something bad and needs to be broken up into batches).
#rb zach.bethel
#fyi brian.karis, daniel.wright

[CL 14657244 by graham wihlidal in ue5-main branch]
2020-11-04 18:10:00 -04:00
Zabir Hoque
ad7cd632a5 Copied shader pipeline and changes to RDG/Shader system to support dynamic param binding struct creation. Actual dynmaic param binding generation is stubbed. Parsing SRVs UAVs and Params from shaders.
#codereview: Juan.Canada; Carlos.Gonzalez; Halfdan.Ingvarsson; Zach.Bethel; Ben.Ingram; Arciel.Rekman

[CL 14639123 by Zabir Hoque in ue5-main branch]
2020-11-02 21:40:25 -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
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