Commit Graph

58 Commits

Author SHA1 Message Date
Yuriy ODonnell
c686312648 Fix crash on startup in packaged builds when Nanite mesh shader code path is used.
FPipelineCacheFileFormatPSO::Init() used to assume that a vertex declaration is present in the pipeline initializer. However, this may not be the case when mesh shaders are used.

#rb Jason.Nadro
#preflight 6262b821d558dfdec38ee839

[CL 19865181 by Yuriy ODonnell in ue5-main branch]
2022-04-22 10:44:25 -04:00
arciel rekman
e83fd138bd Fix PSO cache not being picked up.
- PSO cache was not being picked up due to a "race condition" when mounting pak files. What seems to have been happening is that we would open the shader library at the time when one of the chunks (other than chunk 0, which holds the PSO cache) got mounted, then proceed to open the PSO cache, and failed to do so (because chunk 0 isn't yet available).  However, since we have the user cache on PC, we didn't completely fail to open it. Instead, the call treated it as if we didn't have a bundled one, and created only the user part to write to.  That made the call to open the PSO cache non-reenterable, as subsequent attempts to open the bundled cache (when chunk0 was finally mounted) were ignored.

- Also set name to stable.upipelinecache by default as this is the name produced during the cook by default.

#rb Chris.Genova, James.Doverspike
[REVIEW] [at]Chris.Genova, [at]James.Doverspike

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 19316228 via CL 19316237 via CL 19316241 via CL 19316874 via CL 19317194 via CL 19317199
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347783 by arciel rekman in ue5-main branch]
2022-03-10 21:40:58 -05:00
christopher waters
112a73b5c6 Adding depth clip control to the rasterizer state.
#jira UE-85381
#rb mihnea.balta, will.damon, jeannoe.morissette, arciel.rekman, luke.thatcher, eric.mcdaniel, florin.pascu, dmitriy.dyomin
#preflight 61f8545c114ec25fe0b4d12c

[CL 18799473 by christopher waters in ue5-main branch]
2022-01-31 17:28:38 -05:00
chris genova
bc08b28872 Re-enable the incremental user PSO cache by having it save at shutdown.
Enable PSO cache CVars by default on Windows. This has no effect on D3D11 since the cache is disabled if GRHISupportsPipelineFileCache is false.


#ROBOMERGE-AUTHOR: chris.genova
#ROBOMERGE-SOURCE: CL 18785319 via CL 18785326 via CL 18785329 via CL 18785330 via CL 18785331 via CL 18785353 via CL 18785366
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18785369 by chris genova in ue5-main branch]
2022-01-30 08:19:37 -05:00
arciel rekman
399a95ba4d Reverting D3D12 and Vulkan to again preload shaders normally (undoing 18449827) (UE-138111).
- Better memory savings are on the way, whereas this approach seems to invite deadlocks, due to CreateShader() kicking off async tasks while holding a lock that may be contended by the worker threads (needed to execute the said tasks).

#rb Chris.Waters
[REVIEW] [at]Christopher.Waters
#jira UE-138111

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18647719 via CL 18647754 via CL 18647843 via CL 18653893 via CL 18653944 via CL 18653970
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18654002 by arciel rekman in ue5-main branch]
2022-01-18 20:59:50 -05:00
arciel rekman
c91840b4f3 Allow D3D12 and Vulkan to preload only shaders needed by PSOs.
- Reduces Shaders LLM greatly, at the expense of possible hitches if the cache isn't complete.

#rb Chris.Genova
[REVIEW] [at]Dmitriy.Dyomin, [at]Chris.Genova, [at]James.Doverspike
#jira UE-136845

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18449827 via CL 18449868 via CL 18449870 via CL 18450176 via CL 18450187
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18450199 by arciel rekman in ue5-release-engine-test branch]
2021-12-13 18:33:07 -05:00
dmitriy dyomin
7f45c365e4 Add multiview and FDM/FSR attachments to the PSO caching system (Contributed by: Remi Palandri)
#jira UE-135687
#8656
#rb arciel.rekman

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18336352 in //UE5/Release-5.0/... via CL 18336361
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18336365 by dmitriy dyomin in ue5-release-engine-test branch]
2021-12-01 00:26:38 -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
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -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
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
lukas hermanns
d8bb718841 Replace Warning with Display for "Clearing the OS Cache" message.
#rb Peter.Sauerbrei
[FYI] Arciel.Rekman
#jira none
#rnx

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

[CL 16745745 by lukas hermanns in ue5-release-engine-test branch]
2021-06-22 13:47:33 -04:00
dmitriy dyomin
56d1ed271a Fixed PSO cache parsing to account for tesselation shaders removal and changing MaxVertexElementCount from 16 to 17
[FYI] arciel.rekman

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

[CL 16739474 by dmitriy dyomin in ue5-release-engine-test branch]
2021-06-22 02:08:53 -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
wei liu
bb6aff0259 Fix a bug of alpha to coverage on mobile
#jira UE-118183

#rb Dmitriy.Dyomin
#preflight 60cd6eb12ab2180001e29dc1

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

[CL 16721792 by wei liu in ue5-release-engine-test branch]
2021-06-19 02:05:27 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -04:00
christopher waters
70b8ffbc84 ETextureCreateFlags enum class.
#jira none
#rb luke.thatcher
#preflight 60abd0c758f02e00017a2196

#ROBOMERGE-OWNER: christopher.waters
#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 16438084 in //UE5/Main/... via CL 16438098
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Release-Engine-Staging) (v814-16434418)
#ROBOMERGE-CONFLICT from-shelf

[CL 16438152 by christopher waters in ue5-release-engine-staging branch]
2021-05-24 14:28:41 -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
chris genova
90e7eafb73 Enable the user pipeline cache on D3D12 and evict elements out of it that haven't been used for a set period
#ROBOMERGE-OWNER: chris.genova
#ROBOMERGE-AUTHOR: chris.genova
#ROBOMERGE-SOURCE: CL 16396552 via CL 16396558 via CL 16397503 via CL 16397588 via CL 16399227
#ROBOMERGE-BOT: (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf

[CL 16405290 by chris genova in ue5-release-engine-staging branch]
2021-05-20 12:24:56 -04:00
christopher waters
83f70197d3 Tessellation Removal: Removing RHI Hull/Domain shader types and enums.
#rb lukas.hermanns
#jira UE-94564
#preflight 607f2e11eb4f050001d4655e

[CL 16066223 by christopher waters in ue5-main branch]
2021-04-20 17:00:25 -04:00
christopher waters
874ec853a4 Filling a few gaps in Mesh shader support. Adding ShouldCompilePermutation support to shader pipeline types to guard against unsupported shader types.
#jira none
#rb arciel.rekman
#preflight 60773f1c3f280e0001331ab8

[CL 16012256 by christopher waters in ue5-main branch]
2021-04-14 17:05:02 -04:00
christopher waters
1d0b1d44eb Initial support for Mesh and Amplification Shaders. These new shader types are an optional feature of the RHIs and are only enabled on PC D3D12 with Feature Level SM6.
#jira none
#rb emil.persson, graham.wihlidal, lukas.hermanns

[CL 15742432 by christopher waters in ue5-main branch]
2021-03-18 18:42:49 -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
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00