Commit Graph

64 Commits

Author SHA1 Message Date
joakim trossvik
441c87337c Fixing PSO deadlocked in Pre loading screen.
#rb Allan.Bentham
#preflight 63f86da09009dd70d788850a

[CL 24398403 by joakim trossvik in ue5-main branch]
2023-02-24 04:57:20 -05:00
Arciel Rekman
99c6af002e Fix PSO cache mismatch when packaging a local build using precompiled binaries.
- Reported on UDN: when using precompiled editor binaries to package a project, their version will lag behind the game's engine version - resulting in the bundled file being rejected due to GameVersion field mismatch.
   - Let's say PCBs (precompiled binaries) were compiled at CL X,  you have now synced to X + 100, and you're packaging a game locally.  Cooker will embed X as GameVersion of the bundled cache, but the game will check against its X+100 CL.

#rb Allan.Bentham
#jira none
#review @Allan.Bentham
#preflight none

[CL 24345564 by Arciel Rekman in ue5-main branch]
2023-02-21 14:02:21 -05:00
allan bentham
db11ab5517 Add some logging when precompile PSO cache batch rate changes.
#rb none
#preflight 63f3b31561378b7ea01d2746

[CL 24323130 by allan bentham in ue5-main branch]
2023-02-20 15:43:36 -05:00
christopher waters
1f21b73b25 Ran IWYU on RHI and RenderCore, private only.
#preflight 63d358c85c69f453c1f79c37

[CL 23889591 by christopher waters in ue5-main branch]
2023-01-27 14:54:10 -05:00
allan bentham
f933f61514 Add PSO cache name to the PSO precompile context.
Provides some useful tracking hints for PSO cache delegate users.
#rb Dmytro.Vovk
#preflight 63d275a1e55deff624ed0fb0

[CL 23867339 by allan bentham in ue5-main branch]
2023-01-26 09:41:14 -05:00
kenzo terelst
b5c2a1ee50 - Add cvar to to only precache global shaders from manual PSO cache when runtime PSO precaching is enabled
- Add cvar to only wait for high priority runtime precache PSOs during loading

both disabled by default

#rnx
#rb Benjamin.Rouveyrol

[CL 23728502 by kenzo terelst in ue5-main branch]
2023-01-16 08:09:19 -05:00
kenzo terelst
f62f0c0928 Also collect number of outstanding PSO Precache requests when collecting total number of PSO precache jobs (used during level loading)
#jira UE-171562
#rb Benjamin.Rouveyrol

[CL 23480063 by kenzo terelst in ue5-main branch]
2022-12-12 13:37:07 -05:00
christopher waters
615179b7f8 Adding includes and forward declarations for upcoming include changes.
#preflight 63891e309242c01326e955a5

[CL 23366615 by christopher waters in ue5-main branch]
2022-12-01 18:48:42 -05:00
arciel rekman
6880bfff22 Added facility to convert shader hashes back to their human-readable stable keys.
- A cooked game can be given an argument -shkfile=/path/to/file.shk (a "stable shader keys" file produced during the cook) and use it to provide information on compiled PSOs (and singular shaders if needed).

[FYI] Kenzo.TerElst
#preflight 63866f6c8b12eb83a7b5c1a1

[CL 23323655 by arciel rekman in ue5-main branch]
2022-11-29 22:39:31 -05:00
brandon johnson
d5b62f3c43 Fixing an issue with infinite load screen due to a flag in ShaderPipelineCache not being reset when the pending precompile queue gets flushed
#tests Had a reliable test case by launching a cooked build and then going into STW to matchmake. Applied this fix and verified I was able to load into a match correctly
[REVIEW] [at]James.Doverspike, [at]Arciel.Rekman, [at]Kenzo.Terelst
[FYI] Ian.Oleary, Jason.Attard, Stephan.Delmer

[CL 23191107 by brandon johnson in ue5-main branch]
2022-11-18 03:13:58 -05:00
kenzo terelst
64b75f7589 Skip pso with mesh shader from file cache from file cache when GRHISupportsMeshShadersTier0 is not available
[REVIEW] [at]arciel.rekman
#rb Arciel.Rekman

#localization none
#tests run local replays - needs to be tested on older GPUs which I don't have available here

[CL 23164748 by kenzo terelst in ue5-main branch]
2022-11-16 18:00:02 -05:00
florin pascu
d7080cb567 Fix a dangling shader precompilation task crash on exit. on behalf of Allan
#rb Dmitriy.Dyomin
#preflight 634d3cc96543aa1c1a6232d4
[FYI] Allan.Bentham

[CL 22573576 by florin pascu in ue5-main branch]
2022-10-17 15:26:30 -04:00
Yuriy ODonnell
1c6ba03593 Add comment directing users towards r.RayTracing.NonBlockingPipelineCreation to reduce RTPSO stalls during gameplay
#rb none (trivial)
#preflight skip

[CL 21714325 by Yuriy ODonnell in ue5-main branch]
2022-08-30 20:53:15 -04:00
allan bentham
9a5afd7255 Multiple PSO cache processing.
Splitt PSO cache code to separate out bundled game caches and a single PSO recording user cache.
Any additional PSO caches are enqueued when the shader library state change adds shader library components.
removed unused PSO SaveMode::SortedBoundPSOs.
#rb dmytro.vovk, peter.sauerbrei
#preflight 62d568481062f2e63007eafd
#preflight 62d5a99b2e3e5993c3bd473f

#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 21152209 via CL 21154820 via CL 21156073
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181749 by allan bentham in ue5-main branch]
2022-07-20 11:54:53 -04:00
arciel rekman
2c4fba02af Fix hitching while precompiling PSO cache.
- Add a new API to release preloaded shader to provide a way to manage preloaded data (which was previously statically allocated).

#rb James.Doverspike, Richard.Wallis
[REVIEW] [at]Allan.Bentham, [at]Richard.Wallis
#preflight 625e11c4db15ac92db7ee858

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 19832275 via CL 19833640 via CL 19837454 via CL 19854946 via CL 19855339
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19856713 by arciel rekman in ue5-main branch]
2022-04-21 17:47:12 -04:00
allan bentham
ed40d5a057 Background PSO compililation changes,
Add an option to use a thread pool instead of taskgraph for GFX PSO precompile tasks.
Disabled by default. Use r.pso.PrecompileThreadPoolSize=N to enable.
threadpool PSO precompile tasks are not added as dependencies of RHIcmd list and should not block RHIT.

#rb Andriy.Tylychko, Arne.Schober
[FYI] peter.sauerbrei, jack.porter, Arciel.Rekman

#ROBOMERGE-OWNER: allan.bentham
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 19571102 via CL 19571115 via CL 19571272 via CL 19571286
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19575811 by allan bentham in ue5-main branch]
2022-03-31 14:25:15 -04: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
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
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
arciel rekman
b81f760551 Disable auto-saving of the PSO cache file.
- We are already saving it on application exit (see FShaderPipelineCache::Close() and ~FShaderPipelineCache()) or on application deactivate (for platforms that don't exit, see PipelineStateCacheOnAppDeactivate).
- Auto-saving can lead to a deadlock: the scope of the FileCache lock is too broad, and save operation may itself need to execute async work (read a file from the pak), which will deadlock if all worker thread are blocked trying to take the same FileCache lock (happens when they try to add a PSO to the cache).
- There's no explicit disable toggle, but setting the autosave period to MAX_int32 seconds should do that.

#rb Chris.Genova
[REVIEW] [at]Chris.Genova
[FYI] Christina.Sturgill

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18288437 via CL 18288905 via CL 18288949 via CL 18290355 via CL 18290406
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18290429 by arciel rekman in ue5-release-engine-test branch]
2021-11-24 18:30:09 -05: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
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
charles bloom
494b3de14e allow SerializeCompressedNew to read less than requested
fix FArchiveLoadCompressedProxy reading past end on last partial chunk

#rb devin.doucette

#ROBOMERGE-SOURCE: CL 17038478 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v848-17036448)

[CL 17038565 by charles bloom in ue5-release-engine-test branch]
2021-08-03 16:55:49 -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