Commit Graph

170 Commits

Author SHA1 Message Date
Gil Gribb
966c719881 UE4 - add sleep to fileserver search so it doesn't exhaust memory
[CL 2528370 by Gil Gribb in Main branch]
2015-04-28 08:46:09 -04:00
Rolando Caloca
8625164112 PR #797 - Contributed by simontaylor81
UE4 - Added -AllowCommandletRendering to allow running a commandlet to initialize an RHI
- Added some fixes for null pointer dereferences

[CL 2523559 by Rolando Caloca in Main branch]
2015-04-23 18:09:01 -04:00
Josh Adams
0d9c94a6ac - Handle argv vs UE4CommandLine.txt conflicts by skipping over multiple .uproject tokens [UE-14121]
- Cleaned up some some dirty code [UE-14120]
#codereview ben.marsh

[CL 2521298 by Josh Adams in Main branch]
2015-04-22 13:05:07 -04:00
Jaroslaw Surowiec
92785d9d5f Stats - Better location for stats log
[CL 2519581 by Jaroslaw Surowiec in Main branch]
2015-04-21 13:46:57 -04:00
Jaroslaw Surowiec
5c06dbbeb8 Core - Added CheckForPrintTimesOverride and moved it earlier
[CL 2519573 by Jaroslaw Surowiec in Main branch]
2015-04-21 13:43:58 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Jeff Campeau
272d465c1f Fix wording for missed filehost. It's going to retry, don't say exit.
[CL 2515170 by Jeff Campeau in Main branch]
2015-04-16 18:53:55 -04:00
Jaroslaw Surowiec
17c1bd2bf7 Core - Stats based memory profiler should start on all platforms (missing file)
[CL 2511401 by Jaroslaw Surowiec in Main branch]
2015-04-14 05:21:25 -04:00
Matthew Griffin
365ff78d04 Removed logging of IsRocket status at startup as it's not necessary, it will already be in the commandline displayed previously.
[CL 2506842 by Matthew Griffin in Main branch]
2015-04-09 11:20:49 -04:00
PaulEremeeff
c9a246101e PR #1013: Fixing PVS-Studio warnings. (Contributed by PaulEremeeff)
Some files have been omitted and will be submitted with modified corrections

[CL 2505544 by Dan Oconnor in Main branch]
2015-04-08 14:46:25 -04:00
Robert Manuszewski
8fe5db30e3 Merging UE4-Streaming to UE4
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.

Change 2410813 by Mikolaj Sieluzycki:
	Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
	Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
	Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
	Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
	Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
	Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
	AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
	Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
	Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
	Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
	Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
	Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
	Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
	Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
	Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
	Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
	Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
	Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
	Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
	Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
	Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
	Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
	Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
	Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
	Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
	Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable

[CL 2498249 by Robert Manuszewski in Main branch]
2015-04-01 03:03:18 -04:00
Jaroslaw Surowiec
7127524d76 Core - Fix for uninitialized TLS
#lockdown Zachary.EdgertonJones

[CL 2491859 by Jaroslaw Surowiec in Main branch]
2015-03-26 04:54:08 -04:00
Gil Gribb
a6344aaf0b UE4 - remove several ifdefs related to parallel rendering making it available for DX12 and any PC RHI
[CL 2489182 by Gil Gribb in Main branch]
2015-03-24 08:49:41 -04:00
Jaroslaw Surowiec
9aee7dc31d Core - Runnable improvements
#codereview Robert.Manuszewski

[CL 2489120 by Jaroslaw Surowiec in Main branch]
2015-03-24 07:29:32 -04:00
Terence Burns
08ff5fa6d1 https://jira.ol.epicgames.net/browse/UEPLAT-514
Adding Texture LOD settings to Device Profiles
- this will improve how we currently edit and override lod settings on a per device type bases.
- LOD Settings can now be set in the Device Profile Editor
- Any device profiles with no values set for LOD Settings, will use the default objects.
- These can be found in BaseDeviceProfiles.ini in the /Script/Engine.TextureLODSettings section
- Appropriate defaults set for those groups not listed.

-Other fixes
- - Incorrect with_editor check in HTML5 target platform, changed to with_engine

[CL 2481510 by Terence Burns in Main branch]
2015-03-17 09:50:32 -04:00
Aaron McLeran
d2729ee628 Supporting multiple audio devices for multiple PIE and other potential use-cases.
- Created audio device manager which manages weak ref handles to audio devices
- Audio device handles are created with WorldContexts and accessed through UWorld objects
- All access to audio devices are now through audio device handles
- There is a main/default audio device for GEngine for use with the Editor and single worldcontext games

#codereview marc.audy, matthew.griffin

[CL 2477046 by Aaron McLeran in Main branch]
2015-03-12 12:59:33 -04:00
Ben Marsh
16e58bb502 PR #619 - Incremental compilation on editor startup (Contributed by bozaro)
Add a "Force compile at startup" option to the Loading/Savings section of the editor preferences, which will cause the editor to always run UBT to build the project at startup. Particularly of interest to small teams that do not submit build products to VCS.

[CL 2475566 by Ben Marsh in Main branch]
2015-03-11 15:53:29 -04:00
Nick Darnell
d84691802e UMG - Introducing a workaround to issues loading UMG widgets on dedicated servers. In uncooked builds the UMG module needs to always be loaded so that widgets can be cooked, even if they wont be loaded in the cooked build.
[CL 2472372 by Nick Darnell in Main branch]
2015-03-09 09:57:44 -04:00
Daniel Lamb
c07c5fe834 Made the game only connect to streaming file server if you specify -streaming. Instead of randomly choosing.
[CL 2471386 by Daniel Lamb in Main branch]
2015-03-06 13:30:49 -05:00
Gil Gribb
35cf42566a UE4 - merge GDC branch, code @2465640 to main
[CL 2468685 by Gil Gribb in Main branch]
2015-03-04 08:31:40 -05:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Dmitry Rekman
fcfcab99bf Load HTTP module speculatively.
- Fixes UT servers crashing due to OSSMcp trying to late-cancel pending HTTP requests, when the module has already been unloaded.
- Better solution is being discussed within Core.

#codereview Josh.Markiewicz, Joe.Wilcox, Robert.Manuszewski

[CL 2462840 by Dmitry Rekman in Main branch]
2015-02-26 16:03:12 -05:00
Mark Satterthwaite
65e1a105de Shader caching has been updated to include the option to record draw-states used for each shader so that they may be pre-drawn to reduce in-driver hitching.
- This is especially important on OS X OpenGL where these hitches can be equivalent to several frames, so it is enabled by default for this platform.
- The logging of draw calls is turned on/off with r.UseShaderDrawLog and incurs a fixed overhead as all RHI state is tracked & recorded into the shader cache.
- The actual predrawing is turned on/off with r.UseShaderPredraw and requires an existing cache to be useful, the predrawing takes place at frame-end and can be controlled with r.PredrawBatchTime which the time in ms to spend predrawing each frame until complete, or -1 to do it in one go (currently the default).
- The shader cache is now also versioned with the game able to supply a version distinct from the engine, so that old caches may be invalidated if/when required.
- The shader cache is now compatible with OpenGL SM4 & SM5 on Windows & probably Linux too.
- It may not work correctly with desktop ES2 emulation as that is still untested.
- To make it easier to add to other RHIs the API has been made simper to avoid lots of exposed branches.

#codereview michael.trepka, dmitry.rekman

[CL 2460109 by Mark Satterthwaite in Main branch]
2015-02-25 08:13:48 -05:00
Laurent Delayen
e586cd3a8f Dev to Main integration from CL #2446290
[CL 2456855 by Laurent Delayen in Main branch]
2015-02-23 15:58:14 -05:00
Matt Kuhlenschmidt
cc9df8f0b7 Allow matinee movie recording to capture UMG/Slate hud if bHideHud is disabled.
[CL 2447518 by Matt Kuhlenschmidt in Main branch]
2015-02-16 14:18:26 -05:00