Commit Graph

83 Commits

Author SHA1 Message Date
patrick boutot
8cd8502185 Slate: Add test to see if widgets have a valid LayerId.
#rb vincent.gauthier
#preflight 61d6ebac932a02483cd2e7d3

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18532890 via CL 18532895 via CL 18532903 via CL 18533472 via CL 18533989
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534183 by patrick boutot in ue5-release-engine-test branch]
2022-01-06 14:19:18 -05:00
patrick boutot
e0000a5a02 Slate: Add debug functionnality to the InvalidationWidgetList. Use CVar instead of the reference variable when disabling an InvalidationRoot test.
#rb vincent.gauthier
#preflight 61d6f3584c252480ca275bcb

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18531793 via CL 18531811 via CL 18531814 via CL 18532301 via CL 18533883
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534091 by patrick boutot in ue5-release-engine-test branch]
2022-01-06 14:15:32 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -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
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04: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
patrick boutot
5b7b62ffd1 Slate: Fix bad merge. Assign GSlateIsOnFastProcessInvalidation on FSlateInvalidationRoot::ProcessInvalidation.
#rb none

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 17753505 via CL 17753529 via CL 17753539 via CL 17753545 via CL 17758230
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758269 by patrick boutot in ue5-release-engine-test branch]
2021-10-07 22:26:10 -04:00
patrick boutot
9e71256897 SlateInsight: Add timing to Widget Update
#rb none
#preflight 615f2757f0ee840001c30af7

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 17753497 via CL 17753522 via CL 17753535 via CL 17753543 via CL 17758226
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758268 by patrick boutot in ue5-release-engine-test branch]
2021-10-07 22:26:03 -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
patrick boutot
bdddc321aa Slate: Prevent access to an invalided widget after we process its child order.
[FYI] aurel.cordonnier

#ROBOMERGE-SOURCE: CL 16882761 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16882766 by patrick boutot in ue5-release-engine-test branch]
2021-07-19 08:45:55 -04:00
aurel cordonnier
0d424a6583 Temporary workaround: demoting assert to warning to unblock FastCook build tests.
[FYI] Patrick.Boutot
#rnx

#ROBOMERGE-SOURCE: CL 16878388 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16878389 by aurel cordonnier in ue5-release-engine-test branch]
2021-07-17 15:40:43 -04:00
patrick boutot
b77910dde2 Slate: Add check to see if the InvalidationWidget is still valid after a child order. Add debug command to verify that relationship between widgets parent/children.
#jira UE-119316
#rb vincent.gauthier
#preflight 60f043cacaf0590001d99ab9

#ROBOMERGE-SOURCE: CL 16863185 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16863208 by patrick boutot in ue5-release-engine-test branch]
2021-07-15 11:53:04 -04:00
patrick boutot
c68b8db743 Slate: Re-introduce SlateAttribute.OnValueChanged(). N.B. You are only allowed to invalidate attribute in the callback that doesn't affect the child order or the visibility of the widget.
#ROBOMERGE-SOURCE: CL 16653867 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16653870 by patrick boutot in ue5-release-engine-test branch]
2021-06-13 10:26:15 -04:00
patrick boutot
99f73e8cf2 Slate: Split the Invalidation update loop for better performance tracking.
#preflight 60c108e31ab0310001892cca

#ROBOMERGE-SOURCE: CL 16612339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16612364 by patrick boutot in ue5-release-engine-test branch]
2021-06-09 16:50:02 -04:00
PJ Kack
1072f325a7 Slate: Fix memory access write violation caused by 16276861 where WidgetsNeedingPrepassUpdate could be writing to an already reset FastWidgetPathList.
Reset all arrays in FSlateInvalidationRoot::InvalidateRootChildOrder (code by Patrick.Boutot)

#jira UE-116075, UE-116402
#rb Patrick.Boutot
#rnx

[CL 16569962 by PJ Kack in ue5-main branch]
2021-06-07 10:02:33 -04:00
Patrick Boutot
370cfaa4ca Slate: Remove some shared ptr copy. Fix slot access in FChildren and add a ForEach function.
#jira UE-115497
#rb vincent.gauthier
#preflight 60b524a6f45a940001e24a28

[CL 16510610 by Patrick Boutot in ue5-main branch]
2021-05-31 15:42:59 -04:00
ionut matasaru
7c759e1ee6 Fixed errors re format string / parameter list for various UE_LOGs:
- number of supplied parameters less or more than the number of specifiers used in format string
  - invalid format string specifiers used
Also changed text of two UE_LOG error messages to match the other ones.

#rb Patrick.Boutot

#ROBOMERGE-SOURCE: CL 16314926 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16314952 by ionut matasaru in ue5-release-engine-test branch]
2021-05-13 13:13:34 -04:00
ionut matasaru
be0c084a13 Fixed errors re format string / parameter list for various UE_LOGs:
- number of supplied parameters less or more than the number of specifiers used in format string
  - invalid format string specifiers used
Also changed text of two UE_LOG error messages to match the other ones.

#rb Patrick.Boutot

[CL 16314926 by ionut matasaru in ue5-main branch]
2021-05-13 13:12:04 -04:00
Patrick Boutot
097426f18c Slate: Add update flag for volatile prepass. These widgets always need a prepass in fastpath. Fix issue with collapsed, the desired size was not updated when a parent was also collapsed. Fix the wrong position of elements inside a Retainer when the Retainer moves. Keep an array of all widgets that always need to be updated (tick, timer, paint). That prevents notifying the proxy and the final list once the widget got painted and ensure that all elements are updated.
#preflight 609aa2bc8f637500016ce3f2

[CL 16276861 by Patrick Boutot in ue5-main branch]
2021-05-11 14:15:32 -04:00
Patrick Boutot
ebd1952e28 Slate: Add option to verify if a widget is already in the invalidaiton heap. Enabled with "Slate.InvalidationRoot.VerifyWidgetHeapContains"
#fyi matt.kuhlenschmidt
#preflight 6093f053e707620001c2d23e

[CL 16220501 by Patrick Boutot in ue5-main branch]
2021-05-06 10:25:51 -04:00
Patrick Boutot
120469e3b5 Slate: Rename "Collapsed" SlateAttribute to "AffectVisibility". It represent more the intention. If the parent is collapsed, the child SlateAttribute was not updated even if they were marked as "update when collapsed". Update the widget reflector to show the name of the SlateAttribute (only if the widget is live). Call GetRelativeLayoutScale after the attribute are updated.
#preflight 60801fe317b40800013076ce

[CL 16072465 by Patrick Boutot in ue5-main branch]
2021-04-21 09:41:28 -04:00
Patrick Boutot
f46af25282 Slate: Fix attributes update order in GlobalInvalidation.
[CL 16050094 by Patrick Boutot in ue5-main branch]
2021-04-19 09:03:16 -04:00
Patrick Boutot
120fa81941 Slate: Add an option to update the attributes and cache the invalidation for later. Update the visibility attribute before doing layout out of the regular SWidget paint path.
#jira UE-113307
#preflight 607993474af1c70001f7ae8e

[CL 16033397 by Patrick Boutot in ue5-main branch]
2021-04-16 10:07:05 -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
Patrick Boutot
a722a0fcc2 Slate: Add option to prevent Slate Attributes from being called automatically on the SWidget. It is useful when the owner of the widget controls the invalidation (ie. ScrollBox).
Add PrePass invalidaiton. It implies a Layout and replaces the InvalidatePrepass function.
#rb vincent.gauthier
#preflight 606b119eed8446000130de45

[CL 15929257 by Patrick Boutot in ue5-main branch]
2021-04-06 08:35:28 -04:00