Commit Graph

60 Commits

Author SHA1 Message Date
guillaume abadie
0e8d8a4792 Uses a Texture2DArray for TSR history to saves on number of UAVs
#rb none
#preflight 62711d64e16e280be60a0286

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20024040 via CL 20024043 via CL 20024050
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20024826 by guillaume abadie in ue5-main branch]
2022-05-03 09:58:40 -04:00
jason hoerner
af48ea5a98 UE5_MAIN: Multi-view-family scene renderer refactor, part 2. Move FSceneTextures singleton out of RDG blackboard and FSceneTexturesConfig global variable singleton, into FViewFamilyInfo. This is necessary to allow multiple view families to render in a single render graph and a single scene renderer call.
* Existing calls to CreateSceneTextureShaderParameters and similar functions use "GetSceneTexturesChecked", which allows for the possibility that they are reached in a code path where scene textures haven't been initialized, and nullptr is returned instead of asserting.  The shader parameter setup functions then fill in dummy defaults for that case.  The goal was to precisely match the original behavior, which queried the RDG blackboard, and gracefully handled null if scene textures weren't there.  This definitely appears to occur in FNiagaraGpuComputeDispatch::ProcessPendingTicksFlush, which can be called with a dummy scene with no scene textures.  In the future, I may change this so dummy defaults are filled in for FSceneTextures at construction time, so the structure is never in an uninitialized state, but I would like to set up a test case for the Niagara code path before doing that, and the checks aren't harmful in the meantime.
* I marked as deprecated global functions which query values from FSceneTexturesConfig, but they'll still work with the caveat that if you use multi-view-family rendering, the results will be indeterminate (whatever view family rendered last).  There was only one case outside the scene renderer that accessed the globals (depth clear value), which I removed, noting that there is nowhere in the code where we modify the depth clear value from its global default.  I would like to permanently deprecate or remove these at some point.  Display Cluster is the only code that's currently using the multi-view-family code path, and as a new (still incomplete) feature, third party code can't be using it, and won't be affected.

#jira NONE
#rb chris.kulla zach.bethel mihnea.balta
#preflight 6261aca76119a1a496bd2644

[CL 19873983 by jason hoerner in ue5-main branch]
2022-04-22 17:33:02 -04:00
Sebastien Hillaire
d7d3588b76 Updated confusing name of SLW/SSR/DFShadow tiling data.
#rb none
#preflight none

[CL 19646786 by Sebastien Hillaire in ue5-main branch]
2022-04-06 09:58:52 -04:00
Charles deRousiers
61cf50b66f Change Strata binding buffer function args to take view instead of the explicit scene data.
#rb none
#jira none
#preflight 6246ee2a292f228e0914eed2
#fyi sebastien.hillaire

[CL 19586823 by Charles deRousiers in ue5-main branch]
2022-04-01 08:35:55 -04:00
daniel wright
c2ed9a0160 Lumen Reflections on Single Layer Water
* Reflections are forced to mirror, with no denoising to reduce overhead when no water is onscreen.  Downsampling is also not allowed, as the denoiser is disabled.
 * Reuse tile classification from Single Layer Water for reflections
 * HZB screen traces output a LastVisibleHitUVz, which must be rewinded to if the caller discards the hit for some reason (vignette, or history depth test).  This fixes leaking where the next tracing method starts inside the geometry.

#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 19325710 via CL 19325716
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348260 by daniel wright in ue5-main branch]
2022-03-10 22:02:02 -05:00
Charles deRousiers
a02d41c4ee Renamed PROJECT_STRATA into STRATA_ENABLED.
This avoids to define STRATA_ENABLED as 'env. define' for all global shaders needing a Strata specific path.

#rb none
#jira none
#fyi sebastien.hillaire
#preflight 62151b25797dbbeb472ae2eb

[CL 19074999 by Charles deRousiers in ue5-main branch]
2022-02-22 12:35:58 -05:00
andrew davidson
cac76b118e Fix FVector2D variant casts - Renderer
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8700e41414fb013dd4002

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801433 in //UE5/Release-5.0/... via CL 18802090 via CL 18821511
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821594 by andrew davidson in ue5-main branch]
2022-02-02 01:43:41 -05:00
daniel wright
d4edb77771 Support Reflection Captures in projects with r.AllowStaticLighting=0. This allows them to be used on Medium scalability, when Lumen GI is disabled.
* ReflectionEnvironmentAndSky is now run on Reflection Captures to apply Movable skylight
 * Movable meshes and lights are now rendered into Reflection Captures when r.AllowStaticLighting=0
#preflight 61f313bc75432e9e8e64840f

#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 18767566 in //UE5/Release-5.0/... via CL 18767582 via CL 18767664
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18767678 by daniel wright in ue5-main branch]
2022-01-27 21:25:37 -05:00
andrew firth
db039e310c [Renderer] - HACK HACK HACK - hacks to avoid blocking sequencer issues - these should be backed out asap and replaced with real fixes
#rb stu.McKenna
[FYI] Matthias.Worch
[FYI] Jeff.Farris
#preflight skip due to blocking status

#ROBOMERGE-AUTHOR: andrew.firth
#ROBOMERGE-SOURCE: CL 17486518 via CL 17929421 via CL 18363017 via CL 18363069
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18363097 by andrew firth in ue5-release-engine-test branch]
2021-12-02 20:48:34 -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
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
christopher waters
6c4b4a91a4 Adding a required StencilRef argument to SetGraphicsPipelineState.
#jira none
#rb zach.bethel, mihnea.balta, florin.pascu
#preflight 61312f4a79ce170001d4a79e

#ROBOMERGE-SOURCE: CL 17422777 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
#ROBOMERGE[bot1]: emt

[CL 17422941 by christopher waters in ue5-release-engine-test branch]
2021-09-03 12:04:52 -04:00
guillaume abadie
7070709495 Fixes SSR alignment issues
#rb none
#preflight 6102e64403d30300016e972e

#ROBOMERGE-SOURCE: CL 16998371 via CL 16998380
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16998388 by guillaume abadie in ue5-release-engine-test branch]
2021-07-29 13:49:02 -04:00
guillaume abadie
f3d3f2d2f6 Fixes SSR when reading from TSR history
#rb none

#ROBOMERGE-SOURCE: CL 16870926 via CL 16870934
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16870935 by guillaume abadie in ue5-release-engine-test branch]
2021-07-16 02:39:37 -04:00
guillaume abadie
d5f64bf59d Implements FTSRHistory
#rb none

#ROBOMERGE-SOURCE: CL 16838608 via CL 16840126
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16840246 by guillaume abadie in ue5-release-engine-test branch]
2021-07-13 14:26:09 -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
guillaume abadie
1b502fd981 Implements r.AntiAliasingMethod
#rb none
#preflight 60d33c8cd9586b000132acac

#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 16758022 via CL 16758023
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
#ROBOMERGE-CONFLICT from-shelf

[CL 16758219 by guillaume abadie in ue5-release-engine-test branch]
2021-06-23 11:54:40 -04:00
Jian Ru
6a5f669d74 Do not extract HZBFurthest when nanite is disabled. This allows it to be allocated as a transient resource. Also reinstate the option to use half-res scene color as input to SSR. The option was accidentally lost during merge
#jira UE-117189
#rb zach.bethel

[CL 16550098 by Jian Ru in ue5-main branch]
2021-06-03 14:09:51 -04:00
chris kulla
e52939fe3d Fix crash when path tracer is active
Post processing was trying to handle screen space reflection post processing passes even though the actual passes were skipped

#rb Patrick.Kelly

[CL 16406009 by chris kulla in ue5-main branch]
2021-05-20 13:19:36 -04:00
zach bethel
a207e99808 Avoid creating debug SSR pass in test and shipping builds.
#rb trivial

[CL 16194274 by zach bethel in ue5-main branch]
2021-05-04 11:25:16 -04:00
Sebastien Hillaire
60d8f6fe85 Strata constant&UB binding functions now take the scene strata structure as input instead of view because the data is shared between view and sometimes it comes from scene when we do not have any views available.
#fyi charles.derousiers
#rb none

[CL 15862932 by Sebastien Hillaire in ue5-main branch]
2021-03-30 11:27:24 -04:00
Sebastien Hillaire
a48e812176 Strata on RDG. That has fixed some transition issues.
Next will be to have buffers also be RDG transient buffers (and that should fix the last transition issue).
Tested strata enabled and disabled with rhivalidation.

#rb none
#fyi charles.derousiers

[CL 15858691 by Sebastien Hillaire in ue5-main branch]
2021-03-30 02:33:35 -04:00
Guillaume Abadie
83e611fb99 Replaces SHADER_PARAMETER_RDG_BUFFER() with RDG_BUFFER_ACCESS() in remaining files
#rb none
#robomerge Release-5.0-EarlyAccess

[CL 15718983 by Guillaume Abadie in ue5-main branch]
2021-03-17 06:03:08 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00