Commit Graph

2377 Commits

Author SHA1 Message Date
arciel rekman
4e7252e2a7 SCL: downgrade a common warning to display.
#rb none
#preflgiht none

[CL 29369021 by arciel rekman in ue5-main branch]
2023-11-02 12:16:42 -04:00
arciel rekman
c944658667 Reduce shader library startup times.
- Plugins that we have cooked with the build will not get their own libraries due to the way the cooker works (all content is cooked at once).
- Do not open any plugins as chunked. Rationale: DLC plugins have chunking turned off (extra code added to validate this), whereas baked-in plugins will not have a separate shader library and will not go through that route.
- Also, do not attempt to load iterative shader library or discover libraries on disk in Test - this is a development feature, whereas Test is used for perf metrics.

#rb Dan.Elksnitis, Eric.Knapik, Justin.Marcus, Daniel.Lamb
[REVIEW] [at]Dan.Elksnitis, [at]Eric.Knapik

[CL 29366205 by arciel rekman in ue5-main branch]
2023-11-02 11:20:07 -04:00
arciel rekman
5ab6d6485e Propagate asset name all the way to base shadermap serialization for a better error message.
#rb Dan.Elksnitis
[REVIEW] [at]Dan.Elsknitis

[CL 29321297 by arciel rekman in ue5-main branch]
2023-11-01 12:25:06 -04:00
jian ru
fa957c9c0f Only disable DCC on gbuffers when nanite fast tile clear is enabled
#rb graham.wihlidal

[CL 29294244 by jian ru in ue5-main branch]
2023-10-31 18:08:58 -04:00
arciel rekman
df6d9fcfac Fix not being able to run with loose files.
#rb Henry.Falconer, Paul.Chipchase
[REVIEW] [at]Henry.Falconer, [at]Paul.Chipchase, [at]PJ.Kack

[CL 29246775 by arciel rekman in ue5-main branch]
2023-10-30 16:05:20 -04:00
christopher waters
1de2db743a RootParametersStructure needs to be part of the preprocessed shader cache key.
- Shaders can share generated code but generate different Root Parameters. See: UnifiedBuffer.cpp
- Including the hash of the root parameters structure will make sure these shaders compile seperately.

#rb jason.nadro

[CL 29240422 by christopher waters in ue5-main branch]
2023-10-30 13:54:29 -04:00
john huelin
85009994d2 Disable warnings caused by fastgen PGO
#rb mickael.gilabert

[CL 29217110 by john huelin in ue5-main branch]
2023-10-28 09:50:56 -04:00
arciel rekman
ababa69488 Fix checkerboard materials happening in games that were cooked multi-process.
- New asset associations for already-encountered shadermaps were not being sent to the cook director from the workers,
  since the shadermap wasn't new.
- Now the workers will send all encountered shadermaps after the last send (but not their shader code), so new assets that share the same shadermap are known to the director.


#rb Matt.Peters, Dan.Elksnitis
[REVIEW] [at]Matt.Peters, [at]Dan.Elksnitis

[CL 29202154 by arciel rekman in ue5-main branch]
2023-10-27 18:47:08 -04:00
christopher waters
5c304ed095 Removing FShaderParameterParser from FShaderPreprocessOutput.
#jira UE-197328
#rb dan.elksnitis

[CL 29168356 by christopher waters in ue5-main branch]
2023-10-26 23:07:19 -04:00
arciel rekman
97adb314f8 Fix Nanite splitscreen issues.
- Make sure ViewRect.Min is at least 8x8-aligned when Nanite is enabled.

#rb Graham.Wihlidal

[CL 29164199 by arciel rekman in ue5-main branch]
2023-10-26 21:43:17 -04:00
dan elksnitis
54fb5cf56d [shaders] further deprecation (SupportsIndependentPreprocessing/OptionalFinalShaderSource/bIndependentPreprocessed are no longer needed since all backends are migrated)
#rb Laura.Hermanns

[CL 29117027 by dan elksnitis in ue5-main branch]
2023-10-25 22:21:30 -04:00
jason nadro
ffa731dbed Fix unitialized variable warning for static analysis.
- ShaderParameterStructureIndex

#jira UE-198964
#rb dan.elksnitis

[CL 29099785 by jason nadro in ue5-main branch]
2023-10-25 15:53:11 -04:00
jason hoerner
a518725896 Shader Preprocessor optimization: Support for loading include preprocess dependencies in bulk, and drastically reduced string processing, memory allocation, and map overhead. Roughly 7x faster, saving 12% in low level preprocessor, or 5% overall.
Flattened include dependencies are generated during include scanning at startup, basically for free (perf difference was well below noise).  Bulk dependencies reduce round trips to the shader cache (which require mutex locks), and are indexed by the ANSI text exactly as it appears in the include directive in the source files, allowing a faster case sensitive hash, and avoiding the need for expensive path string operations.  Anything found in a bulk dependency is stored in an array that parallels the dependency array, rather than a map.  Includes stored in IncludeVirtualPathToSharedContentsMap also use an array.

Noting that our string classes (FString) are already case insensitive by default, some unnecessary case conversions were removed.  The separate map of "seen" shaders was also removed, as we can just use the LoadedIncludesCache map for the same purpose.  Where possible, existing ANSI strings are referenced, avoiding dynamic allocation.

#jira UE-197213
#rnx
#rb yuriy.odonnell jason.nadro

[CL 29095249 by jason hoerner in ue5-main branch]
2023-10-25 13:58:15 -04:00
zach bethel
c089d9abdf Re-enabled async render command pipes after removal of the scene pipe.
[CL 29092585 by zach bethel in ue5-main branch]
2023-10-25 12:34:01 -04:00
erica stella
d7c06bdb8d Require Mobile HDR when using Mobile Deferred Shading in Project Settings.
#jira UE-196669
#rb arciel.rekman dmitriy.dyomin

[CL 29081862 by erica stella in ue5-main branch]
2023-10-25 04:51:14 -04:00
arciel rekman
668b18e206 Do not try to open the shaderlibrary from a pak file if using IoStore
#rb mickael.gilabert
#rnx

[CL 29067542 by arciel rekman in ue5-main branch]
2023-10-25 00:59:39 -04:00
christopher waters
1482ec815f Stable Pipeline Cache files were not serializing the PipelineCache versions.
#rb Arciel.Rekman

[CL 29052630 by christopher waters in ue5-main branch]
2023-10-24 16:11:01 -04:00
zach bethel
d66ba4c427 Fixed race condition with the StopRecording() sync command and commands inserted into a pipe.
[CL 29047923 by zach bethel in ue5-main branch]
2023-10-24 12:14:56 -04:00
mihnea balta
cadebbec33 Validate that we're not trying to do empty dispatches in FComputeShaderUtils::ValidateGroupCount.
RHI validation already contains this check, but the callstacks are not very useful when that fires, since the error gets caught on the RHI thread. Doing it in FComputeShaderUtils::ValidateGroupCount catches the problem at the correct spot, i.e. when the pass is added to RDG.

Also, don't Nanite material passes if there aren't any materials (since those would be empty dispatches).

#rnx
#jira UE-195648
#rb graham.wihlidal, christopher.waters

[CL 29012719 by mihnea balta in ue5-main branch]
2023-10-23 05:11:59 -04:00
christopher waters
ab21e17d39 Bindless Resources
- Splitting "Bindless Resource" shader parameter types into "Bindless SRV" and "Bindless UAV" to make sure reflection/binding validation is correct.

#jira UE-166341
#rb jeannoe.morissette

[CL 28995862 by christopher waters in ue5-main branch]
2023-10-20 23:12:44 -04:00
sebastien hillaire
3732464a7d Added a cvar to force skylight cubemap blending per platform for forward shading. This allows for higher quality refelction on some platforms using forward shading, for instance when using the mobile forward shading path.
#rb Florin.Pascu, Dmitriy.Dyomin

[CL 28995819 by sebastien hillaire in ue5-main branch]
2023-10-20 23:11:34 -04:00
christopher waters
1cb5f05a0d Removing bEnableLineAA
- This was not read by any RHI
- Since we cannot deprecate template arguments and since bEnableMSAA was right after bEnableLineAA in TStaticRasterizerState, DepthClipMode was moved to right before bEnableMSAA to make sure remaining uses of bEnableLineAA cause compile errors.

#rb Arciel.Rekman

[CL 28969090 by christopher waters in ue5-main branch]
2023-10-20 12:25:18 -04:00
charles derousiers
f6c27078a4 Minor clearn up for Lumen Reflection/ScreenProbe/Restir.
Remove no-longer/unecessary primary/extended coord computation.

#rb none
[FYI] sebastien.hilllaire, krzysztof.narkowicz

[CL 28959677 by charles derousiers in ue5-main branch]
2023-10-20 06:49:04 -04:00
marc audy
a61593568e Fix PVS warnings - V591: Non-void function should return a value.
Add return values for static_assert cases to placate PVS
Fix copy operators not returning this
Fix a handful of other cases

[CL 28955609 by marc audy in ue5-main branch]
2023-10-20 01:28:06 -04:00
alexis matte
6f863a1e3c Fix issue with Flush Rendering command call twice
#jira UE-196811
#rb jeanluc.corenthin , zach.bethel
#rnx

[CL 28930401 by alexis matte in ue5-main branch]
2023-10-19 15:38:10 -04:00