Commit Graph

59 Commits

Author SHA1 Message Date
zach bethel
9996233f7a Removed unused legacy MSAA multi-texture support from IPooledRenderTarget.
- Deprecated legacy members from FPooledRenderTargetDesc.
 - Deprecated ETextureRenderTarget and removed from RDG.
 - TargetableTexture always equals ShaderResourceTexture.
 - Simplified render target pool FindFreeElement.
 - Create pooled buffers and textures with a known state.

#rb graham.wihlidal
#preflight 61f8488568795b2f45852274

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 18796880 in //UE5/Release-5.0/... via CL 18797840 via CL 18799070
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18799188 by zach bethel in ue5-main branch]
2022-01-31 17:22:31 -05:00
zach bethel
46dc28d1bd Fix for loop variable being copied warning.
#jira UE-138723
#rb trivial
#preflight trivial

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 18621743 in //UE5/Release-5.0/... via CL 18621768 via CL 18621809
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18621834 by zach bethel in ue5-main branch]
2022-01-14 14:33:23 -05:00
jonathan bard
79f32ed47c Misc render-related changes:
* Added single-callback version of CreateStructuredBuffer to automatically infer element size, total size, element count and data pointer (e.g. CreateStructuredBuffer(GraphBuilder, TEXT("MyBuffer"), [&]() -> auto& { return BufferSource; });, where BufferSource is a TArray)
* Added support for uint2 shader parameters
* Added ForceTracking flag to ERDGBufferFlags/ERDGTextureFlags : force the RDG to track a resource even if it can be considered as readonly (no UAV, no RTV, etc.) This allows the graph to copy from and to external textures, and handling the corresponding transitions, for example.

#rb zach.bethel, sebastien.lussier
#tests editor
#preflight 61d8bc681f62d3ad4d728095

#ROBOMERGE-OWNER: jonathan.bard
#ROBOMERGE-AUTHOR: jonathan.bard
#ROBOMERGE-SOURCE: CL 18595021 via CL 18595031 via CL 18595035 via CL 18595668 via CL 18595682 via CL 18595700
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596726 by jonathan bard in ue5-main branch]
2022-01-13 10:11:22 -05:00
guillaume abadie
2ac6433b4c Implements FRHITextureCreateInfo::Validate() to also validate maximum dimension sizes
#rb zach.bethel
#preflight 61d30944df783d9d868ce26d

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18506609 in //UE5/Release-5.0/... via CL 18506610 via CL 18506611
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18506612 by guillaume abadie in ue5-main branch]
2022-01-04 04:44:06 -05:00
guillaume abadie
cbe1cadf94 Implements FRHITextureCreateInfo::Validate() to also validate maximum dimension sizes
#rb zach.bethel
#preflight 61d30944df783d9d868ce26d

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18506609 in //UE5/Release-5.0/... via CL 18506610
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18506611 by guillaume abadie in ue5-release-engine-test branch]
2022-01-04 04:43:28 -05:00
zach bethel
a23f0c81d4 Major refactor of transient allocator to support page table mapping implementation and extracted transient resources.
- Implemented common transient page allocator in RHICore.
 - Implemented XBox specific GPU page table mapping allocator.
 - Extended RDG insights to support viewing heap visualization or page pool visualization.

#preflight 61d356682e0e436c725818bf

[CL 18504626 by zach bethel in ue5-main branch]
2022-01-03 18:28:16 -05:00
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
charles derousiers
810cb7dac2 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
#ROBOMERGE-BOT: (v865-17346139)

[CL 17383415 by charles derousiers in ue5-main branch]
2021-09-01 03:08:48 -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
49f0d28560 Fixed RDG debug crash.
#rb trivial
#jira UE-118756

[CL 17322944 by zach bethel in ue5-main branch]
2021-08-26 14:04:36 -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
zach bethel
ad2a2a8cdb 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

[CL 16997303 by zach bethel in ue5-main branch]
2021-07-29 13:00:55 -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
kenzo terelst
aa2fbd1b71 Don't allow creation of presentable textures through RDG
#jira UE-120376
#rb Zach.Bethel
#preflight 61001fce1450a600013ee0a5


#ROBOMERGE-SOURCE: CL 16969211
#ROBOMERGE-BOT: (v838-16927207)

[CL 16972156 by kenzo terelst in ue5-main branch]
2021-07-27 15:27:05 -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
zach bethel
f311bbc7a1 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

[CL 16838717 by zach bethel in ue5-main branch]
2021-07-13 12:38:27 -04:00
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -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