Commit Graph

103 Commits

Author SHA1 Message Date
zach bethel
fba0d17713 Removed GetUAV from IPooledRenderTarget.
#preflight 628e8986af7a2e956bd802bc

[CL 20379501 by zach bethel in ue5-main branch]
2022-05-26 11:00:52 -04:00
jason hoerner
b19bb6be2f UE5_MAIN: Multi-view-family scene renderer refactor, part 1. Major structural change to allow scene renderer to accept multiple view families, with otherwise negligible changes in internal behavior.
* Added "BeginRenderingViewFamilies" render interface call that accepts multiple view families.  Original "BeginRenderingViewFamily" falls through to this.
* FSceneRenderer modified to include an array of view families, plus an active view family and the Views for that family.
* Swap ViewFamily to ActiveViewFamily.
* Swap Views array from TArray<FViewInfo> to TArrayView<FViewInfo>, including where the Views array is passed to functions.
* FSceneRenderer iterates over the view families, rendering each one at a time, as separate render graph executions.
* Some frame setup and cleanup logic outside the render graph runs once.
* Moved stateful FSceneRenderer members to FViewFamilyInfo, to preserve existing one-at-a-time view family rendering behavior.
* Display Cluster (Virtual Production) uses new API.

Next step will push everything into one render graph, which requires handling per-family external resources and cleaning up singletons (like FSceneTextures and FSceneTexturesConfig).  Once that's done, we'll be in a position to further interleave rendering, properly handle once per frame work, and solve artifacts in various systems.

#jira none
#rnx
#rb zach.bethel
#preflight 625df821b21bb49791d377c9

[CL 19813996 by jason hoerner in ue5-main branch]
2022-04-19 14:45:26 -04:00
zach bethel
a00b40ad3b Deprecated GetRenderTargetItem() from IPooledRenderTarget.
#preflight 624ddb30090236773a1a83e0
#rb luke.thatcher

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 19655641 via CL 19655653 via CL 19655661
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19657582 by zach bethel in ue5-main branch]
2022-04-06 18:24:24 -04:00
juan canada
19391cbec9 Fixed crash in GPU Lightmass when debug mode was enabled
#rb mihnea.balta
#preflight 620bcc494353dc61c7f70142
#jira UE-133621


#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 19092810 via CL 19093421 via CL 19094484 via CL 19095987 via CL 19105292
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146560 by juan canada in ue5-main branch]
2022-02-25 09:39:31 -05:00
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
2f790c0cc8 Removed r.RenderTargetPool.Events visualizer. It has been replaced by RDG insights.
#rb none
#preflight 61e6f8bb837b79f7cced82ee

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 18642485 in //UE5/Release-5.0/... via CL 18644124 via CL 18644421
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18644664 by zach bethel in ue5-main branch]
2022-01-18 14:18:07 -05:00
zach bethel
0143cb41fa Deprecated defunct legacy transient resource API and removed vestiges.
#preflight 61e0a87c250b9537f7837e74
#rb christopher.waters

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

[CL 18607982 by zach bethel in ue5-main branch]
2022-01-13 17:56:22 -05:00
andrew davidson
b134ef04a2 Type truncation fixes - Renderer
#rb arne.schober
#preflight 61d85ab0932a02483ce13e7d

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18544411 in //UE5/Release-5.0/... via CL 18544434 via CL 18544466
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18544487 by andrew davidson in ue5-main branch]
2022-01-07 10:40:12 -05:00
andrew davidson
0715ebc996 Type truncation fixes - Renderer
#rb arne.schober
#preflight 61d85ab0932a02483ce13e7d

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18544411 in //UE5/Release-5.0/... via CL 18544434
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18544466 by andrew davidson in ue5-release-engine-test branch]
2022-01-07 10:39:08 -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
christopher waters
b7fdf2d5c1 Create FSceneViewState with correct FeatureLevel
#jira UE-136004
#rb mihnea.balta
#preflight 61a53e6cf70a9e92dbd7514b

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18433855 in //UE5/Release-5.0/... via CL 18435445
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435922 by christopher waters in ue5-release-engine-test branch]
2021-12-10 18:10:16 -05:00
rune stubbe
6a330850ba Implemented Nanite support for HLOD warmup hints
#rb sebastien.lussier
#lockdown michal.valient
#preflight 61682a911ae4f30001b1b52b

#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 17815695 via CL 18002078 via CL 18368480 via CL 18368565
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368614 by rune stubbe in ue5-release-engine-test branch]
2021-12-03 10:24:20 -05:00
sebastien lussier
cbdda393e1 Prefetch render resources for HLODs before unloading a WP cell
* Warmup will trigger resource prefetching and delay unloading of cells for a number of frames
* Enable HLOD assets warmup: wp.Runtime.HLOD.WarmupEnabled 0|1
* Number of warmup frames:    wp.Runtime.HLOD.WarmupNumFrames n
* Currently only prefetching VT, Nanite prefetching to be added in another CL

Currently disabled (see "wp.Runtime.HLOD.WarmupNumFrames=0" in the device profiles ini)

#rb jeanfrancois.dube, jeremy.moore, andrew.firth
[FYI] chance.ivey, rune.stubbe
#lockdown andrew.firth
#preflight 6165d2b3e296ed0001f9a53e

#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 17789214 via CL 17986920 via CL 18368433 via CL 18368532
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368579 by sebastien lussier in ue5-release-engine-test branch]
2021-12-03 10:22:29 -05:00
rune stubbe
2b49ee823d Nanite changes to support prestreaming
#rb jeremy.moore, matt.hoffman
#lockdown michal.valient
#preflight 61583fa15631d9000132f55d

#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 17701503 via CL 17969695 via CL 18366584 via CL 18366678
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18366745 by rune stubbe in ue5-release-engine-test branch]
2021-12-03 02:41:20 -05:00
jeremy moore
877e51c5cc Add hash for allocated virtual textures that can persist across runs.
Use this as id for recording and playback of virtual texture feedback.
Flesh out API for recording and playback of collected ids.
#preflight 61530aa080eba00001a511b6
#rb ben.ingram
#lockdown michal.valient

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17653384 via CL 17965453 via CL 18365635 via CL 18365739
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365816 by jeremy moore in ue5-release-engine-test branch]
2021-12-03 01:10:59 -05:00
jeremy moore
06a42a25b9 Add stub functions for virtual texture page id recording and playback.
Will flesh these out very shortly, but this allows us to submit things that will depend on the API.
#rb Matt.Hoffman
#preflight 60a4250ef94e3c000150855f?step=db6b
#lockdown Michal.Valient

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17614513 via CL 17963304 via CL 18365248 via CL 18365288
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365314 by jeremy moore in ue5-release-engine-test branch]
2021-12-03 00:32:58 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
chris kulla
6b77b70746 Invalidate path tracer accumulation when a material instance parameter changes
This is similar to the previous implementation, but loops over the active scenes from the game thread to avoid thread safety issues with the AllocatedScenes member of the render module.

#jira UE-96753

#rb Sebastien.Lussier, Jason.Nadro, Ben.Ingram

#preflight 615b1e8b2554620001fcf126

#ROBOMERGE-AUTHOR: chris.kulla
#ROBOMERGE-SOURCE: CL 17709628 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17709652 by chris kulla in ue5-release-engine-test branch]
2021-10-04 12:44:47 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
michael noland
f469871b17 Type truncation warning fixes for some RenderCore and RHI headers
[CODEREVIEW] Rolando.Caloca
#jira UE-116218

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 17578876 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17578886 by michael noland in ue5-release-engine-test branch]
2021-09-20 22:59:26 -04:00
wei liu
21eba7aeb1 1. Porting the shading model "Subsurface" and "PreIntegrated Skin" to mobile.
2. Support "Subsurface Profile" shading mobile by preintegral burley diffusion on ring, just like the PreIntegrated Skin, but could be generated at runtime based on the Burley inputs.

#jira UE-101323

#rb Dmitriy.Dyomin, Tiantian.Xie
#p4v-preflight-copy 16327658
#preflight 61013bb05938f900010c8402

#ROBOMERGE-SOURCE: CL 16982577 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16982582 by wei liu in ue5-release-engine-test branch]
2021-07-28 11:09:42 -04:00
chris kulla
59462d35d3 Material Instance changes should cause path tracer to restart accumulation
FMaterialRenderProxy doesn't appear to know which FScene it belongs to, so I had to go through the global render module and flag all scenes instead

#rb Ben.Ingram, Jason.Nadro

#ROBOMERGE-SOURCE: CL 16704202 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16704210 by chris kulla in ue5-release-engine-test branch]
2021-06-17 10:01:30 -04:00
Ola Olsson
df492855e0 Removed GPUCULL_TODO define (fixed in on-state)
#preflight 60acc49b58f02e0001a0a996
#rb graham.wihlidal,Arciel.Rekman,Brandon.Schaefer,will.damon

[CL 16446355 by Ola Olsson in ue5-main branch]
2021-05-25 08:15:14 -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
Luke Thatcher
d9728437c1 Add UAVFormat field to FPooledRenderTargetDesc to allow selection of an aliasing format when retrieving surfaces from the pool
- Used by the VT system to alias DXT surfaces with integer formats.

#rb Zach.Bethel
#fyi Christopher.Waters
#jira UE-114726
#preflight 60a3aca422cce000018d88ad

[CL 16369514 by Luke Thatcher in ue5-main branch]
2021-05-18 12:34:02 -04:00