Commit Graph

24 Commits

Author SHA1 Message Date
Andriy Tylychko
32a2fc989e cleaning up the previous change to FThreadStats::StopThread() that caused it to be called twice, and crashing on the second call as TaskGraph was already shut down
many programs were calling FThreadStats::StopThread() and FTaskGraphInterfaces::Shutdown() explicitly despite they are called from FEngineLoop::AppExit(). Calling them twice is problematic because FThreadStats::StopThread() expects TaskGraph to be still alive. This didn't cause any visible problems before because FThreadStats::StopThread() wasn't called in AppExit().

#rb ionut.matasaru

[CL 16127968 by Andriy Tylychko in ue5-main branch]
2021-04-27 11:09:21 -04:00
Josh Adams
e23157fc94 - Removing unused ITargetDevice functionality (like Deploy and Run in C++). These are are supported in some platforms but not all, and are only used by undocumented UFE "commands". UAT is expected to handle all of this.
#rb brandon.schaefer

[CL 15178023 by Josh Adams in ue5-main branch]
2021-01-25 11:21:44 -04:00
Ryan Durand
74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
f9cdeb96cd Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	GC and WeakObjectPtr performance optimizations.

	- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
	- Moved WeakObjectPtr serial numbersto FUObjectArray
	- Added pre-allocated UObject array

Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.

Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920

	UHT will now use makefiles to speed up iterative runs.

Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963

	Hot-reload performance optimizations:
	1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
	2. Parallelized search for old CDOs referencers.

Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster

	Dependency preloading improvements
	 - Asset registry dependencies now resolve asset redirectors
	 - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package

Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	Allow UnfocusedVolumeMultiplier to be set programmatically

Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	When cooking, don't add imports that are outers of objects excluded from the current cook target.

Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core

	Inline storage for TFunction.
	Fix for delegate inline storage on Win64.
	Some build fixes.
	Visualizer fixes for new TFunction format.

Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReporter Web - Search by Platform
	Added initial support for streams (GetBranchesAsListItems, CopyToJira)

Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core

	Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.

Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core

	Some TSet function optimisations:

	Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
	Taking local copies of HashSize during iterations.

Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core

	BulkData zero byte allocations are now handled by an RAII object which owns the memory.

Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core

	FName::operator== and != optimised to be a single comparison.

Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)

Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)

	Also fixed starting condition.

Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)

Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core

	PR #1540 - Specifying a different Saved folder at launch through a command line parameter

	Integrated and optimized.

#lockdown Nick.Penwarden

[CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
Justin Hair
430142dfbc [AUTOMERGE]
This submission allows the end user to launch onto any platform using a profile created inside of the UFE.
Allows for easier scripting for testing and launching your project.

To run:
UnrealFrontend.exe -Run="LAUNCHPROFILE" -PROFILENAME="THE_NAME_OF_YOUR_CUSTOM_PROFILE"

**Changes and Additions**
Added LaunchFromProfileCommand.h/.cpp
--Checks if '-ProfileName=' is used and is correct.
--Loads the LaucherServicesModules and DeviceServicesModules
----Gets the Device Proxy Manager
----Gets the Profile Manager which is needed to find the named profile.
--A launcher is created that uses the profile and DeviceProxyManager to read the profile and trigger a build, cook, and launch of it.
--Logging from the launch will be shown in the command window.
--Keeps running until the launcher broadcasts that it has either completed or has been cancelled.

UnrealFrontendMain.cpp
Task Related:
--Added the launch profile command to the command if/else statement.
--Added helpful comments.
Improvements and General Fixes:
--Added a check to verify that a command is actually given with -Run.  Logs a warning if none exist.
--Fixed an issue where the -messaging command line check was returning incorrectly.  It will now only add '-messaging' if it actually does not exist in the command line already.
--Added a command line check where if you run with -run then -log will be appended to the command line if it isn't already.  This allows us to receive logging onscreen.

#CodeReview: adric.worley, justin.hair, marcus.wassmer, jason.bestimt, bob.ferreira, ben.salem, brad.angelcyk

--------
Integrated using branch UE4-Orion-To-UE4 of change#2675868 by Justin.Hair on 2015/09/01 14:50:30.

[CL 2680596 by Justin Hair in Main branch]
2015-09-04 12:55:44 -04:00
Peter Sauerbrei
3373fa83c9 fixes for UFE not working properly in a binary release
UE-15538, UE-15528, UE-15487

[CL 2550020 by Peter Sauerbrei in Main branch]
2015-05-13 20:40:15 -04:00
Jaroslaw Surowiec
e2e2535c24 Profiler - Stat memory dump command added to UFE, usage: -run=MEMORYDUMP -INFILE=<filename>
#codereview Robert.Manuszewski

[CL 2446759 by Jaroslaw Surowiec in Main branch]
2015-02-16 04:53:36 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Max Preussner
b8c2d04663 UFE: Broke out commands into separate files; removed unnecessary dependencies
#CodeReview: chris.gagnon, peter.sauerbrei

[CL 2318026 by Max Preussner in Main branch]
2014-10-02 18:49:18 -04:00
Jaroslaw Surowiec
e2cbc178ce Stats - Fixed converting stats to csv
#codereview Robert.Manuszewski

[CL 2305602 by Jaroslaw Surowiec in Main branch]
2014-09-22 10:53:39 -04:00
Chris Gagnon
6e9f4eaf9e Removed Session Launcher
#codereview matt.kuhlenschmidt

[CL 2295655 by Chris Gagnon in Main branch]
2014-09-12 17:26:51 -04:00
Chris Gagnon
9ccd8c9ec4 Target Platform API added to provide more information about variants and variant support.
Device Services Refactoring to create the concept of a physical device.
Game launcher and device viewer UI changes to show these new concepts.
#codereview Max.Preussner, Matt.Kuhlenschmidt

[CL 2290918 by Chris Gagnon in Main branch]
2014-09-09 12:20:43 -04:00
Max Preussner
3aece47882 Docs: Removed file comments and added missing code documentation
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.

Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks

[CL 2104067 by Max Preussner in Main branch]
2014-06-12 23:22:18 -04:00
Jaroslaw Surowiec
f3b04ddb1c Stats - Fixed a memory leak in the UFE, added better implementation for the stats advance frame
#codereview Robert.Manuszewski

[CL 2103266 by Jaroslaw Surowiec in Main branch]
2014-06-12 12:09:36 -04:00
Gil Gribb
ffaf32a6bd fix build
[CL 2096150 by Gil Gribb in Main branch]
2014-06-05 16:42:25 -04:00
Max Preussner
c9d85971be Editor: refactored FLayoutService to be INI file agnostic; moved Editor layout from EditorUserSettings.ini to EditorLayout.ini
I also added code to retain backwards compatibility. Existing settings from EditorUserSettings.ini will be migrated to EditorLayout.ini

#CodeReview: nick.atamas, matt.kuhlenschmidt

[CL 2074798 by Max Preussner in Main branch]
2014-05-15 17:34:02 -04:00
Max Preussner
b63129a60c Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG.
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)

Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()

Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine

[CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00