Commit Graph

80 Commits

Author SHA1 Message Date
guillaume abadie
3b4b5dfa77 Adds an Editor Primitives stat gpu bucket
#rb none
#preflight 62716a75e16e280be615c60e

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20028907 via CL 20029052 via CL 20029067
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20035006 by guillaume abadie in ue5-main branch]
2022-05-03 19:46:54 -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
charles derousiers
5ae9ec2668 Fix hair outline selection when upscaler is active.
#rb none
#jira none
#preflight 61e6f4617a4131bf358d4d5b

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18641832 in //UE5/Release-5.0/... via CL 18641852 via CL 18641859
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18641866 by charles derousiers in ue5-main branch]
2022-01-18 12:21:30 -05:00
guillaume abadie
f3530bdb56 Fixes vector precision in selection outline
#rb trivial
#preflight trivial

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18395588 in //UE5/Release-5.0/... via CL 18395601
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18395615 by guillaume abadie in ue5-release-engine-test branch]
2021-12-07 11:24:12 -05:00
charles derousiers
13b7992198 Fix hair strands hit proxy and hair strands outline selection.
Hair strands now use the hair visibility output for injecting hitproxy & outline rendering, rather than rendering the hair strands geometry with a default material.

#rb none
#jira UE-130785
#preflight 616ff2c67f15cb000104e48c

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 17871477 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17871504 by charles derousiers in ue5-release-engine-test branch]
2021-10-20 07:48:33 -04:00
zach bethel
35a73c3200 Constrain selection outline pass to run on the render thread.
#jira UE-120209
#rb trivial

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

[CL 16979148 by zach bethel in ue5-release-engine-test branch]
2021-07-28 01:52:25 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Guillaume Abadie
07bc47754f Implements FScreenTransform with operator overload to construct custom viewport transformations easily
#rb zach.bethel

[CL 16114603 by Guillaume Abadie in ue5-main branch]
2021-04-26 11:28:05 -04:00
Guillaume Abadie
f81f3d601f Fixes nanite selection outline with temporal upsampling
Note that nanite selection outline is still jittering

#rb rune.stubbe
#jira UE-107595
#robomerge Release-5.0-EarlyAccess

[CL 15638827 by Guillaume Abadie in ue5-main branch]
2021-03-08 10:30:31 -04:00
Guillaume Abadie
edd1ea7052 Fixes composite editor primitives when using temporal upsampling
#rb none
#jira none

[CL 15334446 by Guillaume Abadie in ue5-main branch]
2021-02-05 03:40:03 -04:00
graham wihlidal
61244769d1 Decoupled more of the GPU scene instance culling work
==
* Added instance offset and count to primitive data, along with GetPrimitiveUniformShaderParameters() diffs
* Remaining FInstanceCullingManager& hooks through functions
* Various todo comments to address later
* Calls to (disabled for now) BuildRenderCommands()
* Mutability of FViewInfo in some spots
* Additional instance culling draw params in a few places
* EVertexInputStreamType cleanup
* UseVirtualShadowMaps() feature capability helper function

#authors ola.olsson, graham.wihlidal
#rb graham.wihlidal
#fyi brian.karis, rune.stubbe

[CL 15092149 by graham wihlidal in ue5-main branch]
2021-01-14 15:46:32 -04:00
graham wihlidal
862e861803 Added instance culling manager and context (disabled, and without shader files), and tons of hooks all over the renderer in preparation for upcoming GPU culling work.
#author ola.olsson
#rb graham.wihlidal
#fyi brian.karis, rune.stubbe

[CL 15082481 by graham wihlidal in ue5-main branch]
2021-01-14 05:23:34 -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
924417b66f Moved more Nanite resources over to RDG.
#fyi graham.wihlidal
#jira none

[CL 14917602 by zach bethel in ue5-main branch]
2020-12-14 15:13:06 -04:00
zach bethel
056a26cddd Refactored uniform buffers to use static bindings as opposed to FPersistentUniformBuffers across the deferred renderer. This removes the view uniform buffer and reflection capture uniform buffers from mesh draw commands and reduces the use of RHIUpdateUniformBuffers.
- View / InstancedView uniform buffers are now bound through RDG directly from the FViewInfo, or created on-demand for cases like jitter-free custom depth.
 - Removed most of the custom persistent view uniform buffers. Left one in Lumen to be done in a later CL.
 - ReflectionCapture uniform buffer is now bound at the RDG pass level.

#rb christopher.waters

[CL 14873982 by zach bethel in ue5-main branch]
2020-12-07 17:43:21 -04:00
zach bethel
e4f467569d Removed scene render target context snapshot system.
#rb arne.schober

[CL 14615156 by zach bethel in ue5-main branch]
2020-10-29 16:32:16 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Ola Olsson
76ff513fc4 Fix missing shader parameter assert in outline rendering due to inconsistent nanite usage checks
#rb rune.stubbe

[CL 14307686 by Ola Olsson in ue5-main branch]
2020-09-14 05:29:33 -04:00
graham wihlidal
e7baff4df8 Guarded Nanite shader compilation, RHI init, and runtime passes with a data driven platform info bSupportsNanite / DoesPlatformSupportNanite() path, so unsupported platforms don't crash trying to run Nanite. Removed pre-existing Metal hacks in favor of new solution, and also fixed a number of issues around HZB dependencies and some other cases.
#rb rune.stubbe, brian.karis
#fyi marcus.wassmer, michal.valient, josh.adams

[CL 14117046 by graham wihlidal in ue5-main branch]
2020-08-14 16:09:16 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00
steve smith
c325c8f58d <saved by Perforce>
#ROBOMERGE-SOURCE: CL 11968587 in //UE4/Release-4.25/... via CL 11968598
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11968616 by steve smith in Main branch]
2020-03-05 18:15:45 -05:00
steve smith
c5673d9a34 Fix out-of-date view uniform buffer for selection rendering post-process (broken selection highlights in VRMode).
#rb zach.bethel
#jira UE-73460

#ROBOMERGE-SOURCE: CL 11461955 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11461959 by steve smith in 4.25-Plus branch]
2020-02-17 14:03:01 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Rolando Caloca
f83ae4807a Copying //UE4/Dev-Rendering@9317594 to Dev-RenderPlat-Staging
#rb none
#rnx

[CL 9317904 by Rolando Caloca in Dev-RenderPlat-Staging branch]
2019-10-01 13:03:04 -04:00