Commit Graph

8224 Commits

Author SHA1 Message Date
graham wihlidal
b841d3cb41 Added shader compiler support for [noinline] where available. Informs compiler we want a subroutine created, which can be used to decrease register pressure in certain situations. Code is kept separate, and a set number of registers are used on each call. Should only be used with extensive profiling, as the default inlining behavior is usually best.
DXIL:  https://github.com/microsoft/DirectXShaderCompiler/blob/master/tools/clang/test/HLSLFileCheck/hlsl/functions/attribute/noinline.hlsl
SPIRV: https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html (DontInline)

Shader code can now use NOINLINE, and also test if it maps to something useful with COMPILER_SUPPORTS_NOINLINE

#rb yuriy.odonnell
[FYI] rune.stubbe, brian.karis
#jira UETOP-1088
#lockdown nick.whiting

#ROBOMERGE-SOURCE: CL 16019442 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)

[CL 16022532 by graham wihlidal in ue5-main branch]
2021-04-15 12:09:16 -04:00
Johan Berg
77f062ae76 [Insights] Improve callstack display when frame cannot be displayed
Previously the name was only displayed when results was successful. With this change we use the additional information in the status code to display module name and reason why the symbol name could not be resolved.

#jira UE-110008
#rb ionut.matasaru

[CL 16020408 by Johan Berg in ue5-main branch]
2021-04-15 09:39:46 -04:00
Johan Berg
07a574fd30 [Insights] Fix off by one error with string store
#rb ionut.matasaru
#rnx
#jira UE-113457

[CL 16020042 by Johan Berg in ue5-main branch]
2021-04-15 08:39:36 -04:00
Zousar Shaker
a7de618da5 Avoid stalling during shutdown due to queued async PUTs to non-local backends in DDC.
#rb devin.doucette

[CL 16016623 by Zousar Shaker in ue5-main branch]
2021-04-14 23:37:27 -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
Sebastien Lussier
4466a8228a MaterialBaking - Cap smearing iterations to avoid extreme processing time on high resolution baked textures
#rb patrick.enfedaque

[CL 16011101 by Sebastien Lussier in ue5-main branch]
2021-04-14 15:49:40 -04:00
Lukas Hermanns
7eccf9d2d6 Remove references to UE4 in Metal backend.
#rb Dave.Hunter
#fyi Will.Damon
#jira UE-111496
#rnx

[CL 16009723 by Lukas Hermanns in ue5-main branch]
2021-04-14 14:48:10 -04:00
Patrick Boutot
ee9c7f8dcb Slate: Move visibility flag to WidgetProxy. Keep track of the Collapsed and the Visible state to update the Attribute as in SlowPath. Convert RenderTransform and RenderTransformPivot to SlateAttribute. Make the Visibility attribute update first (needs more work in the SlateAttributeInitializer to enforce it). Update Attribute in 2 steps. Update the Collapsed first (that can change the visibility), then update the "not collapsed" attribute.
#fyi mikko.mononen, sebastian.nordgren, lauren.barnes
#review-16007738 vincent.gauthier

[CL 16007736 by Patrick Boutot in ue5-main branch]
2021-04-14 12:59:44 -04:00
ionut matasaru
cef4a8ee51 [Insights]
- Organize IO track so that concurrent (overlapped IO) reads don't share the same depth (by Robert.Millar, CL 15991490) + fixed searching for an I/O activity event

#rb none
#fyi Robert.Millar

[CL 16004884 by ionut matasaru in ue5-main branch]
2021-04-14 10:02:46 -04:00
Johan Berg
405cfe4d69 [Insights] Reduce memory footprint of SymslibResolver
Reduces the memory footprint of the resolver by releasing all memory associated with each module once analysis is completed.

#rb ionut.matasaru
#rnx

[CL 16004256 by Johan Berg in ue5-main branch]
2021-04-14 08:58:53 -04:00
Catalin Dragoiu
e8de5c13fc [Insights] Fix static analysis warning
#rb trivial #rnx

[CL 16002408 by Catalin Dragoiu in ue5-main branch]
2021-04-14 05:27:42 -04:00
Johan Berg
ce27da1f98 Remove UE4 strings
#jira UE-111642
#rb none

[CL 16002173 by Johan Berg in ue5-main branch]
2021-04-14 04:25:18 -04:00
Johan Berg
5fef1a903e [Insights] Reduce stalls when analysing symbols
When parsing debug files and resolving symbols the RAD symbol resolver went very wide. This had two negative effects on performance:

* Module loading and symbol resolve tasks were scheduled together with Slate tasks, causing stuttering in rendering. With this change we move these tasks to the background threads since they are not time critical and to give preference to Slate rendering.
* Symbol resolves are very cheap compared to creating a task. With this change we batch resolve work in a fixed number of tasks.
* Resolve symbol tasks were competing for the string store lock. The ModuleProvider already handles symbol deduplication so each symbol string should already be unique. This change add a task local string allocator which does not have be thread-safe and can take advantage of batching by allocating memory in blocks.

#jira UE-113394
#rb ionut.matasaru
#rnx

[CL 16001877 by Johan Berg in ue5-main branch]
2021-04-14 03:07:29 -04:00
Zousar Shaker
8bbc201340 Ensure that the pak writing DDC backend doesn't silently ignore overwrites of keys that are already in the pak file. The writes can happen, but they will emit a warning and leave the old copy in the serialized file as an abandoned blob. If the overwrite happens to be the same size as the original blob, the overwrite can successfully be done without wasting space.
#rb matt.peters

[CL 16001194 by Zousar Shaker in ue5-main branch]
2021-04-14 01:07:34 -04:00
Zousar Shaker
80cdb54f19 Avoid overhead from access tracking on wrapped object pointers during high frequency operations related to materials at cook time.
Also go back to using Cast/CastChecked/ExactCast as these have now been made more efficient for use with wrapped object pointers.

#rb ben.ingram
#preflight 6075d5d70a49b7000126f5b3

[CL 15993517 by Zousar Shaker in ue5-main branch]
2021-04-13 15:47:11 -04:00
richard talbotwatkin
b4d72dd359 When importing / building Nanite static meshes, always disable removal of degenerate tris. For clarity, this option is also disabled in the import UI and the Build Settings UI in the Static Mesh Editor, when Nanite is enabled.
#jira UE-108752
#lockdown Simon.Tourangeau
#rb Brian.Karis, Alexis.Matte

#ROBOMERGE-SOURCE: CL 15992767 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)

[CL 15992775 by richard talbotwatkin in ue5-main branch]
2021-04-13 14:54:07 -04:00
josh adams
b7ea6c0053 - Added warnings about failure to run UBT
- Fixed (an unused) fallback path for proper path to UBT

#ROBOMERGE-SOURCE: CL 15989849 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15991592 by josh adams in ue5-main branch]
2021-04-13 13:05:40 -04:00
Helge Mathee
02c478ba4b Control Rig: Avoid undo / redo during compilation. Improve RemoveExpressions performance within AST Parser
#rb sara.schvartzman
#jira UE-113260

[CL 15990888 by Helge Mathee in ue5-main branch]
2021-04-13 12:03:23 -04:00
axel riffard
259a3c19d7 Fix iOS device discovery in UnrealFrontend when run in standalone
#lockdown cristina.riveron
#rb jack.porter
#jira UE-110494

#ROBOMERGE-SOURCE: CL 15976858 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15989386 by axel riffard in ue5-main branch]
2021-04-13 10:11:56 -04:00
matt kuhlenschmidt
a4e36d7337 Fix notification for PIE errors never going away and not dismissable. Follow up to
#jira UE-113132
#lockdown  simon.tourangeau

#ROBOMERGE-SOURCE: CL 15976654 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15989383 by matt kuhlenschmidt in ue5-main branch]
2021-04-13 10:11:47 -04:00
Catalin Dragoiu
b139fdb1f4 [Insights] FilterConfiguratorNode value convertor for memory values
#rb Ionut.Matasaru

[CL 15987777 by Catalin Dragoiu in ue5-main branch]
2021-04-13 06:59:16 -04:00
Devin Doucette
28ef6b6386 DDC: Iteration on ICache
- Identify payloads by the hash of the raw data.
- Added FCacheKey::Empty and FCachePayloadKey::Empty for convenience.
- Changed FCacheRecord and FCacheRecordBuilder constructors to be private.
- Changed storage in the legacy cache to store values inline for records with no attachments.
- Changed storage in the legacy cache to use CAS within each bucket.
- Improved wording and details in assert messages.

#rb Zousar.Shaker
#rnx

[CL 15984411 by Devin Doucette in ue5-main branch]
2021-04-12 18:25:18 -04:00
sebastien lussier
25be01902a Avoid renderdata of HLOD being recomputed during cook package save because of non-deterministic guid
- Preserve guid during save if static mesh bulkdata content hasn't changed to avoid triggering unnecessary rebuilds
  - Make sure the next HLOD generation is going to use the HashAsGuid feature to avoid recompiling staticmesh that are generated if they are exactly the same as before

  - 31m10s to 14m15s to cook P_Construct_WP with a warmed-up DDC

#rb Matt.Peters, Sebastien.Lussier, Yuriy.ODonnell, Danny.Couture

#ushell-cherrypick of 15755322 by danny.couture
#lockdown simon.tourangeau

#ROBOMERGE-SOURCE: CL 15965125 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15981275 by sebastien lussier in ue5-main branch]
2021-04-12 15:18:55 -04:00
Lukas Hermanns
677f2f50f1 Fix binding reflection for Metal backend: only Vulkan needs storage buffers to always occupy a UAV binding slot.
#rb Will.Damon
#jira none
#rnx

[CL 15979593 by Lukas Hermanns in ue5-main branch]
2021-04-12 13:16:00 -04:00
Lukas Hermanns
dc07d3f58e Add "Disassemble" function to public interface of ShaderConductor.
Move ShaderConductor utility to disassemble SPIR-V into ShaderCompilerCommon module.
Fix --strip-reflect pass in SPIRV-Tools to remove all SPV_GOOGLE* reflection extensions.
Rebuild ShaderConductor for Win64, Linux, and Mac.

#rb Carl.Lloyd, Ryan.Vance
#fyi Mihnea.Balta, Rolando.Caloca, Will.Damon, Dmitriy.Dyomin
#jira none
#rnx

[CL 15978123 by Lukas Hermanns in ue5-main branch]
2021-04-12 11:25:06 -04:00