Commit Graph

20 Commits

Author SHA1 Message Date
rolando caloca
e521bb5ed4 Delete Library file handle on close (Non native ShaderCodeLibrary implementation only), unfortunatly this also means we have to wait on any outstanding read tasks.
Plus - Fix rare shutdown check() failure when async file reads are still wainting in the FShaderPipelineCache.

Plus - Put back correct order of shutdown for FShaderCodeLibrary and FShaderPipelineCache as they can have outstanding aync file handles and we'll get a crash if they are closed after the module shutdown has deleted the FPakPrecacher singleton.

#jira UE-79315
#rb Dmitriy.Dyomin, Michael.Trepka
[FYI] Michael.Trepka
#fyi Richard.Wallis

#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: richard.wallis
#ROBOMERGE-SOURCE: CL 9743659 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v542-9736015)

[CL 9744080 by rolando caloca in Main branch]
2019-10-22 08:30:35 -04:00
peter sauerbrei
dd67148543 fix for not properly deleting the OS cache on the first run
#rb thomas.ross


#ROBOMERGE-SOURCE: CL 9244146 via CL 9244213 via CL 9244250 via CL 9244284
#ROBOMERGE-BOT: (v443-9013191)

[CL 9244320 by peter sauerbrei in Main branch]
2019-09-27 17:48:57 -04:00
peter sauerbrei
836694910f make it so we don't optimize if the functions.data file is a legit size and we have previously optimized. At that point, just load the shaders requested by the scalability
#rb chris.bunner
[FYI] michael.trepka, richard.wallis, matt.collins


#ROBOMERGE-SOURCE: CL 9163202 via CL 9163547 via CL 9163603
#ROBOMERGE-BOT: (v443-9013191)

[CL 9163661 by peter sauerbrei in Main branch]
2019-09-26 17:43:37 -04:00
peter sauerbrei
950ff1fa48 make it so IOS can now pre-compile the PSOs during ESP and pre-compiles all PSOs for a set of scalabilities
#rb thomas.ross


#ROBOMERGE-SOURCE: CL 8068523 via CL 8068528 via CL 8068894 via CL 8094505
#ROBOMERGE-BOT: (v401-8057353)

[CL 8094643 by peter sauerbrei in Main branch]
2019-08-16 13:25:19 -04:00
richard wallis
750b7d563c Change check() to return success/failure in CheckPSOStringInveribility(). Use this and a new FPipelineCacheFileFormatPSO::Verify() function to decide if we should actually use this PSO in the ShaderPipelineCacheToolsCommandlet expand operation. In non shipping builds also use the verfy function during FPipelineCacheFileFormatPSO::Init() to catch bad PSOs during PSO record runs. E.g use the current check() assert in FPipelineFileCache::CacheGraphicsPSO().
#rb Michael.Trepka, Chris.Bunner


#ROBOMERGE-SOURCE: CL 7062282 via CL 7062284 via CL 7070288
#ROBOMERGE-BOT: (v367-6836689)

[CL 7070515 by richard wallis in Main branch]
2019-06-18 16:20:13 -04:00
chris bunner
c0c5c3e82e Update PSO validity check to compare against valid data, was comparing against a default out of bounds value.
[FYI] Michael.Trepka, Leslie.Nivison
[REVIEW]


#ROBOMERGE-SOURCE: CL 6988159 via CL 6988160 via CL 6988161 via CL 6988162 via CL 6988425
#ROBOMERGE-BOT: (v367-6836689)

[CL 6988447 by chris bunner in Main branch]
2019-06-14 09:25:47 -04:00
chris babcock
83dd01f4ee Fix precompiles of Android shaders
#ue4
#android
[FYI] Michael.Trepka,Jack.Porter,Thomas.Ross
[REVIEW]
#rb Thomas.Ross



#ROBOMERGE-SOURCE: CL 6987482 via CL 6987486 via CL 6987487 via CL 6987489 via CL 6987540
#ROBOMERGE-BOT: (v367-6836689)

[CL 6987544 by chris babcock in Main branch]
2019-06-14 00:15:30 -04:00
michael trepka
225de6eef2 Workaround for corrupt PSO data causing crash at startup on Mac
[FYI] Matt.Collins, Richard.Wallis, Chris.Bunner
#rb none


#ROBOMERGE-SOURCE: CL 6957169 via CL 6957172 via CL 6960095 via CL 6960462 via CL 6967082
#ROBOMERGE-BOT: (v367-6836689)

[CL 6981839 by michael trepka in Main branch]
2019-06-13 18:21:46 -04:00
michael trepka
e329bd08a5 Richard's change to skip PSO cache entries with invalid render target or samples count
#ROBOMERGE-SOURCE: CL 6490987 via CL 6491017 via CL 6491030 via CL 6491043 via CL 6500704

[CL 6500968 by michael trepka in Main branch]
2019-05-15 14:43:00 -04:00
dmitriy dyomin
03d7c24400 Added support for vulkan sub-passes. Used only by mobile renderer for fetching scene depth during translucency
This invalidates all collected PSO
[FYI] rolando.caloca


#ROBOMERGE-SOURCE: CL 6009976 via CL 6009978 via CL 6010093

[CL 6010125 by dmitriy dyomin in Main branch]
2019-04-19 04:07:27 -04:00
michael trepka
139afcf9b7 Changed the thread priority for FCompilePipelineStateTask on Mac to AnyBackgroundThreadNormalTask and reverted the default batch size for the fast mode to 50. Thanks to this we don't starve the game thread as much as before without sacrificing the load times.
#rb Richard.Wallis


#ROBOMERGE-SOURCE: CL 5669899 via CL 5669900 via CL 5669901 via CL 5669902 via CL 5671912

[CL 5671998 by michael trepka in Main branch]
2019-04-01 14:25:28 -04:00
richard wallis
0b8a816ad1 Speculative fix for macOS client builds crashing on launch due to bad PSO cache file. Don't write to PSO cache file while the Engine is shutting down - auto saves should have kept the file upto date.
#rb michael.trepka


#ROBOMERGE-SOURCE: CL 5661773 via CL 5661774 via CL 5661775 via CL 5661776 via CL 5661904

[CL 5661908 by richard wallis in Main branch]
2019-04-01 07:02:58 -04:00
Rolando Caloca
8e16044464 UE4 - Fix clang compile errors
#jira UE-71335
#rnx
#rb none

[CL 5359571 by Rolando Caloca in Main branch]
2019-03-11 11:09:10 -04:00
rolando caloca
ab0f16c6f9 UE4.22 - Use Vertex declaration cache
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5012779 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5012784 by rolando caloca in Main branch]
2019-02-15 18:52:44 -05:00
rolando caloca
3249f9268e F - Compile out geometry and tessellation stages on mobile platforms. Platforms can disable either or both for some memory savings.
#rb Marcus.Wassmer
#rnx
#jira


#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 4977338 via CL 4977347 via CL 4979031

[CL 4981812 by rolando caloca in Main branch]
2019-02-13 08:48:07 -05:00
Marcus Wassmer
a8d6cc952b Merging //UE4/Dev-Main@4700769 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4729861 by Marcus Wassmer in Dev-Rendering branch]
2019-01-15 18:04:38 -05:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Mark Satterthwaite
fae5fe9fbe Add a CVar, r.ShaderPipelineCache.StartupMode to control what mode the PipelineCache starts in so we can control whether it starts paused (0), in 'fast' mode (1 - default), or in 'background' mode (2).
#rb none

[CL 4653129 by Mark Satterthwaite in Dev-Rendering branch]
2018-12-12 11:27:43 -05:00
Marcus Wassmer
c56a69a8c0 Merging //UE4/Dev-Main@4567547 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4568017 by Marcus Wassmer in Dev-Rendering branch]
2018-11-14 21:37:16 -05:00
Guillaume Abadie
c72b7a33d8 Merging //UE4/Dev-Rendering-Graph@4492585 to Dev-Rendering (//UE4/Dev-Rendering)
This implements the framework to write the high level rendering code into passes organized in direct acyclic graph. It is also unifying the uniform buffer, shader parameters, and pass parameters to same single API: structures with run time meta data. This allow high level user code be extremely seamless, user code debugging, and render graph ease of implementation and debugging.

Issue of collaborative work of Arne Schnober, Brian Karis, Daniel Wright, Marcus Wassmer and Guillaume Abadie.

Names of the graph managed resources are not final.

#rb Arne.Schnober, Brian.Karis, Daniel.Wright, Marcus.Wassmer

[CL 4492694 by Guillaume Abadie in Dev-Rendering branch]
2018-10-19 17:36:35 -04:00