Commit Graph

167 Commits

Author SHA1 Message Date
Wei Liu
355707489e Refactor of mobile custom depth/stencil to line up with pc on all mobile platform.
#jira none

#rb Dmitriy.Dyomin
#fyi Serge.Bernier
#preflight 627b87a65d003338d95018bf

[CL 20135905 by Wei Liu in ue5-main branch]
2022-05-11 06:10:52 -04:00
john huelin
95c1680b6e Fix DrawCallCount per pass not working when multithreaded RHI command recording is enabled.
[REVIEW]
#rnx

#ROBOMERGE-OWNER: john.huelin
#ROBOMERGE-AUTHOR: john.huelin
#ROBOMERGE-SOURCE: CL 20105654 via CL 20105671 via CL 20107113 via CL 20107146
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20110543 by john huelin in ue5-main branch]
2022-05-09 16:35:01 -04:00
Dmitriy Dyomin
f819c89c21 Support shading models in a mobile deferred shading path. Disabled by default
Requrements:
iOS: A8+
Android VK: more than 4 color attachements, more than 4 input attachments
Android GL: Unsuported - PLS seem to be limited to 128bits on most devices
#rb wei.liu
#preflight 625f866b9c09ef439db7612b

[CL 19861367 by Dmitriy Dyomin in ue5-main branch]
2022-04-22 01:15:27 -04:00
Dmitriy Dyomin
a591abf5a6 Added lighting channels support for mobile deferred shading
#rb wei.liu
#preflight 625506ac460d9cb610b9660b

[CL 19735357 by Dmitriy Dyomin in ue5-main branch]
2022-04-13 01:56:42 -04:00
wei liu
bf3e1f41af Fix the stencil write on mobile depth prepass for unlit materials.
#jira UE-143811
#preflight 621e2fe27f2803279b5a2e39
#rb Dmitriy.Dyomin
#lockdown Nick.Whiting

#ROBOMERGE-AUTHOR: wei.liu
#ROBOMERGE-SOURCE: CL 19217137 in //UE5/Release-5.0/... via CL 19217317
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19225520 by wei liu in ue5-main branch]
2022-03-02 14:09:34 -05:00
graham wihlidal
e2b8efb191 * Added bTwoSided and bUsesPixelDepthOffset on FMaterialRelevance
* Define USES_WORLD_POSITION_OFFSET in material shaders on all platforms (not just Metal)
* Deprecated UsesWorldPositionOffset_GameThread() and implemented MaterialUsesWorldPositionOffset_[Game/Render]Thread()
* Deprecated MaterialUsesPixelDepthOffset() and implemented MaterialUsesPixelDepthOffset_[Game/Render]Thread()
* Fixed a number of typos.

#preflight 621e71f8ad75a7f58fc9d6cf
#rb ben.ingram
#fyi brian.karis, rune.stubbe
#robomerge FNNC

[CL 19203782 by graham wihlidal in ue5-main branch]
2022-03-01 14:39:35 -05:00
jeremy moore
e9b8605b3b Add r.VelocityOutputPass render setting and deprecated r.BasePassOutputsVelocity and r.DepthPassMergedWithVelocity.
r.VelocityOutputPass supports the 3 valid settings: depth pass, base pass, after base pass.
#rb rob.krajcarski
#preflight 61f86031114ec25fe0b87dab

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18799499 in //UE5/Release-5.0/... via CL 18801888 via CL 18802482
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18808175 by jeremy moore in ue5-main branch]
2022-02-01 09:53:17 -05:00
Jules Blok
4e9b294e6f Refactor APIs that use EStereoscopicPass so they take a pass type flag and view index instead
This CL ensures we don't attempt to use this enum as both a view index and a pass type flag
It also adds EStereoscopicEye to give some pre-defined meaning to the view indices

#rb Jeff.Fisher
#rb peter.tarasenko
#rb steve.smith
#preflight 619ee54b801b361978d3fd11

#ROBOMERGE-OWNER: Jules.Blok
#ROBOMERGE-AUTHOR: jules.blok
#ROBOMERGE-SOURCE: CL 18291679 in //UE5/Release-5.0/... via CL 18291688
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE-CONFLICT from-shelf

[CL 18291805 by Jules Blok in ue5-release-engine-test branch]
2021-11-24 21:57:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
jeremy moore
57a33b6682 Fix condition for moving depth pre pass draw batches to velocity+depth pass.
Should match the logic for velocity mesh processor which is an AND of velocity conditions not an OR.
#rb none
#p4v-cherrypick 17452727

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17452903 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17452911 by jeremy moore in ue5-release-engine-test branch]
2021-09-07 22:07:23 -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
chris norden
8f489c0aa0 XR: Fixed changed rendering thread assumptions from recent RDG pass changes
Rename occlusion mesh functions accordingly

#rb jules.blok
#jira UE-121911

#ROBOMERGE-SOURCE: CL 17310649 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17315131 by chris norden in ue5-release-engine-test branch]
2021-08-26 06:59:45 -04:00
florin pascu
d4cbc4822e Fill StencilValue correctly in the DepthPass when enabled
Revert BasePass changes
#rb Dmitriy.Dyomin, Ben.Woodhouse
#jira UE-121532
#preflight 6115153c29ebef000137915b

#ROBOMERGE-SOURCE: CL 17151576 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17151608 by florin pascu in ue5-release-engine-test branch]
2021-08-12 09:49:16 -04:00
yuriy odonnell
fa14d532ba Merging pull requests to improve rendering determinism through more stable draw sorting.
* Use a shader code hash instead of sorting by shader pointer in CalculateBasePassMeshStaticSortKey()
* Added a serial number to UPrimitiveComponent, which is generated in OnRegister() and then used in FPrimitiveArraySortKey as an extra sort key.

Contributed by andrewtop-cruise.

#github 7934
#github 8273
#preflight 61128303afd67e0001e7a14b
#rb Arciel.Rekman

#ROBOMERGE-SOURCE: CL 17150851 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17150861 by yuriy odonnell in ue5-release-engine-test branch]
2021-08-12 08:35:25 -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
dmitriy dyomin
9d5dfa518c Fixed mobile specific issues when project has GPUScene enabled
#ROBOMERGE-SOURCE: CL 16638001 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16638004 by dmitriy dyomin in ue5-release-engine-test branch]
2021-06-11 03:34:19 -04:00
jeremy moore
a71ee30809 Back out changelist 16586428 which is breaking ISM
#ROBOMERGE-SOURCE: CL 16604141 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16604175 by jeremy moore in ue5-release-engine-test branch]
2021-06-09 09:38:37 -04:00
Jeremy Moore
628075d73a #jira UE-116517
Set the FMeshBatch::bUseAsOccluder hint correctly for static mesh.
The value is read in FDepthPassMeshProcessor::AddMeshBatch which then re-evaluates the condition if the hint has been set to false.
This fixes issue that static mesh with bUseAsOccluder false renders in depth pass.

[CL 16586428 by Jeremy Moore in ue5-main branch]
2021-06-08 09:39:58 -04:00
Sebastien Hillaire
ed4696500d Add debug probes pass to better debug lighting and reflections.
#rb charles.derousiers

[CL 16465629 by Sebastien Hillaire in ue5-main branch]
2021-05-26 04:46:16 -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
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Jeremy Moore
ab7c04717a Flip broken velocity test in depth pass.
When in DDM_AllOpaqueNoVelocity mode we _don't_ want to render primitives in the depth pass that contribute to velocity.
#jira none
#rb none

[CL 16114156 by Jeremy Moore in ue5-main branch]
2021-04-26 10:41:45 -04:00
dmitriy dyomin
8e508176a9 Fixed: auto-instancing on mobile
#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 15757659 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)
#ROBOMERGE-CONFLICT from-shelf

[CL 15772431 by dmitriy dyomin in ue5-main branch]
2021-03-22 22:21:46 -04:00
Florin Pascu
555d4d6875 Mobile Full DepthPrepass UE5
#rb Dmitriy.Dyomin
#jira none
#preflight 60586031c27ab80001a77914

[CL 15758057 by Florin Pascu in ue5-main branch]
2021-03-22 05:53:01 -04:00
Wei Liu
1711d3aece 1.Convert mobile base passes to single pass to avoid leveraging on the RDG pass merge which could let the resource transitions occurred inside a pass.
2.Make pixel projected reflection using last frame scenecolor and scenedepth to avoid to split mobile base pass and translucency pass.
3.Support GTAO and PPR for mobile deferred renderer.

#jira none

#rb Dmitriy.Dyomin, Jack.Porter, Mi.Wang

[CL 15651055 by Wei Liu in ue5-main branch]
2021-03-09 00:23:43 -04:00