Commit Graph

31 Commits

Author SHA1 Message Date
Devin Doucette
1c4926f324 DDC: Improved handling of build cancellation
#rb Zousar.Shaker
#rnx
#preflight 6143d4423c7c670001e9aa66

[CL 17551334 by Devin Doucette in ue5-main branch]
2021-09-17 09:32:28 -04:00
Devin Doucette
e074999d9a DDC: Renamed Dispatch[Op] to Schedule[Op] and tweaked formatting for consistency
#rb none
#rnx
#preflight 613a336abf5a710001674089

[CL 17474273 by Devin Doucette in ue5-main branch]
2021-09-09 13:36:28 -04:00
Johan Torp
7286b53430 Add DDC2 memory scheduler to limit peak memory consumption
Also:
* Implemented rough memory usage estimate for texture cooking
* Fixed build action -> constant copying bug

#rb devin.doucette

[CL 17470303 by Johan Torp in ue5-main branch]
2021-09-09 06:04:00 -04:00
Devin Doucette
a7aa76fea0 DDC: Stopped loading build inputs for local execution when execution is disabled
#rb Zousar.Shaker
#rnx

[CL 17358468 by Devin Doucette in ue5-main branch]
2021-08-30 16:37:42 -04:00
Devin Doucette
3962c6493a DDC: Added request barriers to the build job constructors
The barriers are needed to handle re-entrant AdvanceToState calls within the constructor of jobs with Blocking priority.

#rb Zousar.Shaker
#rnx

[CL 17302241 by Devin Doucette in ue5-main branch]
2021-08-25 10:14:58 -04:00
Devin Doucette
ef978526fa DDC: Fixed build callback status when the policy allows querying the cache but not building
#rb Zousar.Shaker
#rnx

[CL 17291662 by Devin Doucette in ue5-main branch]
2021-08-24 15:24:58 -04:00
Devin Doucette
e8d662c770 DDC: Added EBuildStatus::CacheKey and return EStatus::Ok from a build when no build or cache was requested
#rb Zousar.Shaker
#rnx
#preflight 611f304c008be900010bf006

[CL 17247202 by Devin Doucette in ue5-main branch]
2021-08-20 10:04:06 -04:00
Devin Doucette
4bea29a1d4 DDC: Fixed a build job assert caused by canceling at the wrong time
#rb Zousar.Shaker
#rnx

[CL 17108375 by Devin Doucette in ue5-main branch]
2021-08-09 17:54:54 -04:00
Devin Doucette
5bdd0e67b3 DDC: Add FBuildConfigContext::SetRequiredMemory() and forward the estimate to the build scheduler
#rb Zousar.Shaker
#rnx

[CL 17088443 by Devin Doucette in ue5-main branch]
2021-08-06 17:32:53 -04:00
Devin Doucette
30760f545b DDC: Split DerivedDataRequest.h and rename DerivedDataBuildPolicy.h
#rb none
#rnx

[CL 17086960 by Devin Doucette in ue5-main branch]
2021-08-06 15:49:14 -04:00
Devin Doucette
48d8d5f7eb DDC: Removed ICacheFactory in favor of exported functions
FCacheBucket is now always exposed as FAnsiStringView.

#rb Zousar.Shaker
#rnx

[CL 17084521 by Devin Doucette in ue5-main branch]
2021-08-06 12:51:28 -04:00
Devin Doucette
c4e3574345 DDC: Removed IBuild::Load[Type] in favor of exported functions
#rb Zousar.Shaker
#rnx

[CL 17083958 by Devin Doucette in ue5-main branch]
2021-08-06 11:57:55 -04:00
Devin Doucette
3513768988 DDC: Replaced FRequest with FRequestGroup to handle nested and chained requests more robustly
Any function that may create a request now has a IRequestOwner& parameter, and uses the Begin and End functions on the owner to manage the lifetime of any requests that it creates, as well as using End to invoke the completion callback for any request which has one.

The new FRequestBarrier may be used to block a group from being considered complete in a scope where more requests may be added to it.

#rb Matt.Peters
#rnx
#preflight 6109b5c403d303000144cce5
#preflight 610acf7103d30300016fda94

[CL 17060470 by Devin Doucette in ue5-main branch]
2021-08-04 17:52:40 -04:00
Devin Doucette
0748494fc6 DDC: Exposed the cache key and build status in the build complete callback params
#rb Zousar.Shaker
#rnx
#preflight 60f5c7a78da1560001c68086

[CL 16888763 by Devin Doucette in ue5-main branch]
2021-07-19 16:46:58 -04:00
Devin Doucette
672da1da55 DDC: Fixed a crash when creating the build context fails
#rb Zousar.Shaker
#rnx

[CL 16883576 by Devin Doucette in ue5-main branch]
2021-07-19 10:51:21 -04:00
Devin Doucette
f64bc61bb7 DDC: Fixed race conditions in the build job
#rb Zousar.Shaker
#rnx

[CL 16870676 by Devin Doucette in ue5-main branch]
2021-07-16 01:11:20 -04:00
Devin Doucette
349df85a37 DDC: Added cpu trace scopes to the build job
#rb Zousar.Shaker
#rnx

[CL 16864034 by Devin Doucette in ue5-main branch]
2021-07-15 12:56:39 -04:00
Devin Doucette
d46da81ac1 DDC: Fixed errors with NO_LOGGING
#rb trivial
#rnx

[CL 16863666 by Devin Doucette in ue5-main branch]
2021-07-15 12:29:04 -04:00
Devin Doucette
b4b1ad3457 DDC: Removed a few temporary strings from the build job logging
#rb trivial
#rnx

[CL 16743192 by Devin Doucette in ue5-main branch]
2021-06-22 10:50:08 -04:00
Devin Doucette
75fdc290a9 DDC: Added -ExportBuilds[=Type1+Type2] to export actions and inputs for builds that miss or skip the cache
#rb Zousar.Shaker
#rnx

[CL 16733522 by Devin Doucette in ue5-main branch]
2021-06-21 16:41:42 -04:00
Devin Doucette
d131a233a1 DDC: Extended IBuildJob and IBuildScheduler to give the scheduler more control and more data
#rb Zousar.Shaker
#rnx

[CL 16678847 by Devin Doucette in ue5-main branch]
2021-06-15 16:33:05 -04:00
Devin Doucette
3627cfff79 DDC: Fixed the build job to create and destroy the build context only when necessary, and always reset the action and inputs
#rb Matt.Peters
#rnx

[CL 16669448 by Devin Doucette in ue5-main branch]
2021-06-15 00:20:07 -04:00
Devin Doucette
97be0c7aff DDC: Added CreateCacheBucket to FBuildConfigContext
#rb Zousar.Shaker
#rnx

[CL 16548191 by Devin Doucette in ue5-main branch]
2021-06-03 11:48:59 -04:00
Devin Doucette
e6d74aa8aa DDC: Reorganized functions in the build job
The code is now organized based on what states do, rather than what order they typically execute in. This now matches the function order in the scheduler and the job interface. There are no changes aside from reordering of functions.

#rb trivial
#rnx

[CL 16510516 by Devin Doucette in ue5-main branch]
2021-05-31 15:19:28 -04:00
Devin Doucette
ec9c101705 DDC: Moved EBuildPolicy to its own header to remove private dependencies on the build session
[CL 16509362 by Devin Doucette in ue5-main branch]
2021-05-31 11:18:14 -04:00