Commit Graph

257 Commits

Author SHA1 Message Date
Yoan StAmant
be5f6a5afd [DebugDrawDelegateHelper] rollback of delegate unregistration issue previous fix and implemented a different approach for cases where proxy is not created:
In some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).

Case 1 (normal flow): FRegisterComponentContext == nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : calls CreateSceneProxy
 > RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Case 2 (deferred AddPrimitive): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : defers CreateSceneProxy
 > RegisterDebugDrawDelegate (skip register since not init)
 > CreateSceneProxy
 > UnregisterDebugDrawDelegate  ==>  ensures in UnregisterDebugDrawDelegate

With this new version `CreateRenderState_Concurrent` calls `RequestRegisterDebugDrawDelegate` that will take care of registering the delegate immediately or mark it for deferred execution. An explicit call to `ProcessDeferredRegister` is then required from `CreateSceneProxy` to implement proper flow:

Case 2 (fixed) (deferred AddPrimitive + deferred Register): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent: defers CreateSceneProxy
 > RequestRegisterDebugDrawDelegate: defers RegisterDebugDrawDelegate
 > CreateSceneProxy: calls ProcessDeferredRegister & RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Bonus:
- New DebugDrawComponent abstract class that is now used to share common functionalities between existing debug related components. Takes care of DelegateHelper registration flow to render text on screen from different sources.
- FDebugDrawDelegateHelper::InitDelegateHelper is no longer virtual and derived classes requiring extra data from their associated scene proxy should set it up from their overriden CreateSceneProxy
- FDebugDrawDelegateHelper derived classes should not override RegisterDebugDrawDelegate/UnregisterDebugDrawDelegate to use their `DrawDebugLabels` method since this is already a virtual method that would get called from the base class.
- Fixed a few ViewFlag members in the SceneProxy so the DelegateHelper base class can behave as expected

#jira FORT-419154
#rb mieszko.zielinski
#robomerge FnMain
#preflight 61703f8766ed7f0001c0faf1

[CL 17875336 by Yoan StAmant in ue5-main branch]
2021-10-20 13:20:46 -04:00
Yoan StAmant
166f970337 [DebugDrawDelegate]
Update registration flow since CreateRenderState_Concurrent can't be used to register our delegate since it needs to be initialized first (CreateSceneProxy) and in some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).
In that case initialization won't called and an ensure will fire in UnregisterDebugDrawDelegate since registration failed (was not initialized).
Case 1: FRegisterComponentContext == nullptr  ==> Super::CreateRenderState_Concurrent + sync CreateSceneProxy (init) + RegisterDebugDrawDelegate ==> works fine
Case 2: FRegisterComponentContext != nullptr  ==> Super::CreateRenderState_Concurrent + deferred CreateSceneProxy + RegisterDebugDrawDelegate (skipped since not init) + CreateSceneProxy ==> ensures in UnregisterDebugDrawDelegate

Bonus:
- some code analysis fixes
- removed some 'CoreMinimal.h' includes
- exported log category 'LogVisual'
- fixed some uninitialized properties (FNavTestDebugDrawDelegateHelper, UNavMeshRenderingComponent, FNavMeshSceneProxyData)
- fixed some methods hiding non-virtual from base class (GetAllocatedSize)
- fixed FGameplayDebuggerCompositeSceneProxy::GetMemoryFootprint that was not considering base class allocations

#rnx
#jira UE-125097
#preflight 614362684778fa00016a8cad
#rb mieszko.zielinski

[CL 17544171 by Yoan StAmant in ue5-main branch]
2021-09-16 16:47:25 -04:00
yoan stamant
ccc18144c0 [VisualLogger] added resizable columns in log list
#rb mieszko.zielinski
#preflight 612385f18ff554000108f55e


#ROBOMERGE-SOURCE: CL 17264937
#ROBOMERGE-BOT: (v858-17259218)

[CL 17273131 by yoan stamant in ue5-main branch]
2021-08-23 14:55:19 -04:00
yoan stamant
51d15ef219 [VisualLogger] preserve filters when reseting session
#jira UE-120619
#rb mieszko.zielinski
#preflight 6123862b76f1fd00010282e0


#ROBOMERGE-SOURCE: CL 17264935
#ROBOMERGE-BOT: (v858-17259218)

[CL 17273126 by yoan stamant in ue5-main branch]
2021-08-23 14:55:12 -04:00
ben hoffman
b83d98404c Deprecate old input scales on the player controller (InputYawScale, InputPitchScale, and InputRollScale)
#jira UE-103164
#rb andy.davidson
#p4v-preflight-copy 17107710

[CL 17155127 by ben hoffman in ue5-main branch]
2021-08-12 13:34:01 -04:00
Keith Yerex
1dc8bd364b visual logger rewind debugger integration
#rb Jurre.DeBaare
#preflight 6112a4ddafd67e0001ebb06c

[CL 17124037 by Keith Yerex in ue5-main branch]
2021-08-10 16:46:48 -04:00
dmytro vovk
d3aeb154ff Fixed SSE Math double precision issues
#jira none
#rb Zak.Middleton

[CL 17033934 by dmytro vovk in ue5-main branch]
2021-08-03 13:39:19 -04:00
Marc Audy
d85075297e Non-unity fixes
[CL 16818409 by Marc Audy in ue5-main branch]
2021-07-09 13:56:44 -04:00
mikko mononen
06ab35af8c Visual Logger: Added circle shape
#rb Mieszko.Zielinski
#preflight 60d19d7b634cd100013fd71a


#ROBOMERGE-SOURCE: CL 16740177
#ROBOMERGE-BOT: (v835-16672529)

[CL 16740184 by mikko mononen in ue5-main branch]
2021-06-22 05:52:19 -04:00
yoan stamant
33bc44cf8f [VisualLogger] Removed commented code submitted by mistake
#ROBOMERGE-SOURCE: CL 16706403
#ROBOMERGE-BOT: (v835-16672529)

[CL 16706410 by yoan stamant in ue5-main branch]
2021-06-17 12:59:11 -04:00
yoan stamant
a6fc646662 [VisualLogger]Refresh in Editor not running mode
#preflight 60cb55564ce02c0001d9c5d6


#ROBOMERGE-SOURCE: CL 16704676
#ROBOMERGE-BOT: (v835-16672529)

[CL 16704682 by yoan stamant in ue5-main branch]
2021-06-17 10:46:41 -04:00
yoan stamant
af88a23dcd [FDebugDrawDelegateHelper] Allow calls to method InitDelegateHelper from Parallel For called from game thread (i.e. IsInParallelGameThread() || IsInGameThread() )
Removed previous hack added in UEQSRenderingComponent  and fixed some typos in method names.
#rb mikko.mononen mieszko.zielinski
#preflight 60c887272da7840001313475


#ROBOMERGE-SOURCE: CL 16672461
#ROBOMERGE-BOT: (v834-16658389)

[CL 16672469 by yoan stamant in ue5-main branch]
2021-06-15 08:21:00 -04:00
aurel cordonnier
e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00
Patrick Boutot
568f3f8b74 Slate: Deprecate SSpliter's slot public variable.
#jira UE-109145
#preflight 60b4d992928b1d0001ea46e3

[CL 16509074 by Patrick Boutot in ue5-main branch]
2021-05-31 10:10:28 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Aris Theophanidis
8140cd09c8 Fix VisualLogger cylinder display
#review @Mikko.Mononen
#rb Mikko.Mononen
#jira none
#preflight 60929c4d93d92d00015f1cd5

[CL 16207024 by Aris Theophanidis in ue5-main branch]
2021-05-05 10:14:27 -04:00
Yoan StAmant
696b3cf776 [VisualLogger] Reset data on PIE (also clear all entries if bResetDataWithNewSession)
#preflight 608ffad70d440d0001f72fa9

[CL 16183826 by Yoan StAmant in ue5-main branch]
2021-05-03 10:08:26 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
louise rasmussen
af40e9cac5 Level Editor Menu Clean Up, Part 2
#JIRA UETOOL-3039
#rb Lauren.Barnes
#lockdown Simon.Tourangeau
#preflight 606d2c11dc3e5b0001c915aa

#ROBOMERGE-OWNER: louise.rasmussen
#ROBOMERGE-AUTHOR: louise.rasmussen
#ROBOMERGE-SOURCE: CL 15937971 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15938452 by louise rasmussen in ue5-main branch]
2021-04-07 02:56:12 -04:00
louise rasmussen
825c64a6f5 Level Editor Menu Re-org, Part 1
#JIRA UETOOL-3039
#rb Lauren.Barnes
#lockdown Simon.Tourangeau
#preflight 606b8e0315d4190001b1698b

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

[CL 15924652 by louise rasmussen in ue5-main branch]
2021-04-05 19:11:24 -04:00
Yoan StAmant
d265153bd8 [VisualLogger] Renamed some slate widgets to fix some symbol mixup between modules
#jira UE-110591
#review-15869247 @maxime.mercier @brandon.schaefer
#preflight 6064ba47b262d500010330d7

[CL 15879561 by Yoan StAmant in ue5-main branch]
2021-03-31 15:07:57 -04:00
mark lintott
86f5949387 #jira UE-111548
#rb trivial
Removed reference to ue4

#ROBOMERGE-SOURCE: CL 15801766 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15807997 by mark lintott in ue5-main branch]
2021-03-24 16:38:38 -04:00
Yoan StAmant
df07501b17 [LogVisualizer] Fixed some typos
#review-15495108 @mieszko.zielinski

[CL 15513328 by Yoan StAmant in ue5-main branch]
2021-02-24 08:33:37 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00