Commit Graph

37 Commits

Author SHA1 Message Date
Josh Adams
b9b38fe97b Copying //UE4/Dev-Platform to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2816560 on 2016/01/05 by Jeff.Campeau

	Remove duplicate CEF binaries

Change 2835599 on 2016/01/20 by Lee.Clark

	PS4 - Added pragma optimization macros

Change 2841103 on 2016/01/23 by Mark.Satterthwaite

	Integrate Git PR #1958: Fixed typo in EMetalFeatures enum
	#jira UE-25721

Change 2841369 on 2016/01/24 by Mark.Satterthwaite

	Fix for Metal crash due to attempt to set a null uniform & null SRV to a shader which requires both exist.
	#jira UE-25910

Change 2841795 on 2016/01/25 by Lee.Clark

	PS4 - MovieStreamer improvements

	* Use GPU for YUV conversion
	* Use new Software2 Decoder

Change 2842261 on 2016/01/25 by Mark.Satterthwaite

	Fix some memory leaks.

Change 2842831 on 2016/01/25 by Mark.Satterthwaite

	Metal implementation for RHIBlockUntilGPUIdle.

Change 2842838 on 2016/01/25 by Mark.Satterthwaite

	When using parallel command contexts in Metal we must ensure that the FRingBuffer is still valid, which means some smart/weak pointers are in order. We should also ensure that functions that may return auto-released objects are appropriately wrapped with scoped autorelease pools. Texture creation failures should also be fatal as we never expect that to occur.

Change 2842914 on 2016/01/25 by Mark.Satterthwaite

	Change assert in MetalTexture's format-shifting SRV constructor to enforce the Metal textureView limits:
	1. No format shifting for MSAA color buffers.
	2. No access to stencil in MSAA packed depth/stencil surface.

	This will allow Metal MSAA support to work on iOS when using separate depth & stencil textures since there's no format shifting involved there.
	#codereview peter.sauerbrei

Change 2843028 on 2016/01/25 by Mark.Satterthwaite

	In Metal wwitch to blit on the correct context when copying out the stencil data into the stencil SRV copy.

Change 2845531 on 2016/01/27 by Lee.Clark

	PS4 - Fix memory alignment  for back buffers
	* Fix memory alignment for MapLargeBlock
	* Fix available direct memory tracking

Change 2846491 on 2016/01/27 by Jeff.Campeau

	2015 compile fixes for Orion

Change 2847395 on 2016/01/28 by Mark.Satterthwaite

	Clear the stencil-SRV copy to 0 in Metal using a blit when created to avoid artefacts if used prior to the parent texture being rendered.
	#jira UE-25834

Change 2847419 on 2016/01/28 by Mark.Satterthwaite

	Apply the same fix to OpenGL's Stencil SRV logic as CL #2847395 applies to Metal.

Change 2848093 on 2016/01/28 by Mark.Satterthwaite

	Cache parallel encoding Metal contexts & reuse them rather than creating a new one each time in order to massively improve parallel encoding performance. This required adding a reset function to Metal's internal state-cache which calls the CommandEncoder wrapper's reset so we don't accidently retain previous state.

Change 2849469 on 2016/01/29 by Mark.Satterthwaite

	Defer render & compute command encoder construction to draw/dispatch etc to eliminate redundant encoders that then perform unnecessary driver & GPU synchronisation work. Currently Clear loadActions force an encoder even if it would then be empty as otherwise we see incorrect rendering. This needs to be tracked and optimised away too in order to achieve the same performance as D3D11.

Change 2849820 on 2016/01/29 by Daniel.Lamb

	Fixed issue where a single DDC back end would not create a hierarchy.
	#codereview Peter.Sauerbrei

Change 2850762 on 2016/02/01 by Jeff.Campeau

	System-wide critical section support for Xbox One

Change 2850763 on 2016/02/01 by Jeff.Campeau

	Network and product config for Orion

Change 2852459 on 2016/02/02 by Mark.Satterthwaite

	Temporarily disable the lazy render command-encoder construction while investigating why it turns some samples black in Metal SM5 mode.

Change 2853947 on 2016/02/03 by Mark.Satterthwaite

	Fix some lazy encoder construction fallout which also means we don't need to recreate render encoder state when performing profiling - the next draw/clear will do that as required.

Change 2854015 on 2016/02/03 by Mark.Satterthwaite

	Move Stencil SRV blitting into FMetalSurface::UpdateSRV called when binding the texture SRV instead of having it done immediately post-rendering. This should avoid paying for the blit when stencil SRV sampling is never used or multiple blits when render-encoders that write stencil are split up due to query buffer overflow or similar. The cost will be a blit per-bind instead which should be more predictable.

Change 2854142 on 2016/02/03 by Mark.Satterthwaite

	Implemented GetTextureBaseRHI (brought over from Dev-Rendering CL #2853948) for Metal to avoid unnecessary virtual function call chain to resolve the FMetalSurface* from an RHI texture.

Change 2854222 on 2016/02/03 by Mark.Satterthwaite

	Remove the uniform buffer resource caching from Metal to match Dev-Rendering CL #2853948.

Change 2854246 on 2016/02/03 by Mark.Satterthwaite

	Removed the uniform buffer resource caching from OpenGLDrv & implemented GetTextureBaseRHI to avoid unnecessary virtual function calls to match Dev-Rendering CL #2853948.

Change 2854279 on 2016/02/03 by Mark.Satterthwaite

	Remove direct access to the MTLCommandQueue, for parallel rendering to work we're going to need to do a bit of management that means its more sensible to keep it private.

Change 2855524 on 2016/02/04 by Lee.Clark

	PS4 - Fix Grayscale SRGB support

[CL 2898161 by Josh Adams in Main branch]
2016-03-07 20:55:29 -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
Ori Cohen
a2e6a388de Copying //UE4/Dev-Framework to //UE4/Main
#lockdown Nick.Penwarden

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

Change 2786974 on 2015/12/02 by Aaron.McLeran

	UE-23930 Fix for concatenator node's not working correctly when it has child nodes that are mixer nodes.

	- Fix was to track the number of sounds a sound a node can simultaneously play. In concatenator node, when a sound is notified as finishing, it tracks the sound index in the current child node before incrementing the child node index.

	#codereview marc.audy

Change 2787015 on 2015/12/02 by Lukasz.Furman

	changed color of root level decorator nodes in behavikor tree editor
	#ue UE-23957
	#rb Mieszko.Zielinski

Change 2787249 on 2015/12/02 by Ori.Cohen

	Make scene queries thread safe by ensuring that any data that is not thread safe is not returned. This is for the benefit of the user, but also we cannot access these pointers off the game thread.

	#rb Zak.Middleton

Change 2788469 on 2015/12/03 by Marc.Audy

	Ability system cleanup:
	Pass parameters around by const ref instead of value (FGameplayAbilityTargetDataHandle , TArray, FHitResult)
	Eliminate unnecessary multiple derferences of weak pointers in a single function
	Remove uses of auto, switch to using nullptr
	Reorganize booleans to properly pack them
	Const functions
	Properly mark functions virtual and override
	#rb Dave.Ratti, James.Golding

Change 2788787 on 2015/12/03 by Laurent.Delayen

	Reinitialize top level state machines when they become relevant, to match behavior of nested state machines.

	#rb lina.halper
	#codereview lina.halper

Change 2789417 on 2015/12/03 by Aaron.McLeran

	UE-19482 Fixing error in reporting audio asset memory usage for PS4 (and other platforms)

	- Issue was that USoundWave::GetResourceSize() was incorrectly summing uncompressed PCM data size alongside compressed data size for PS4
	- Added check using same condition in FAudioDevice::Precache which determines if compressed asset is fully decompressed into memory (and other decompression modes/types).

	#codereview marc.audy, marcus.wassmer
	#tests Tested loading maps in PS4 and confirming the uncompressed PCM data is not counted in audio asset resource size checks. Tested cooking assets in a map.

Change 2790152 on 2015/12/04 by Marc.Audy

	Avoid unnecessary TArray and FHitResult copies

Change 2790182 on 2015/12/04 by Laurent.Delayen

	Fixed notifies not being triggered when server calls Montage_JumpToSection.

	#rb lina.halper
	#tests Agora60p golden path, hyperbreach ultimate networked

Change 2790325 on 2015/12/04 by Zak.Middleton

	#ue4 - Optimized USceneComponent::SetWorldTransform() to avoid unnecessary copies and avoid unaligned SIMD reads and writes.

	#rb James.Golding, Chad.Taylor

Change 2792284 on 2015/12/06 by Marc.Audy

	Avoid unnecessary FGameplayTagContainer copies

Change 2792305 on 2015/12/06 by Marc.Audy

	Avoid unnecessary FGameplayAbilitySpec copies

Change 2792592 on 2015/12/07 by Martin.Wilson

	Remove component reregistering logic from SetSkeletalMesh

	#rb James.Goldng

Change 2792652 on 2015/12/07 by Ori.Cohen

	Add a way to opt out of ignoring trigger volumes. This makes it possible to run collision module off the game thread.

	#rb Gil.Gribb

Change 2793378 on 2015/12/07 by Lukasz.Furman

	fixed resetting path data between repaths
	#ue4 UE-22624
	#rb Mieszko.Zielinski

Change 2794690 on 2015/12/08 by Lina.Halper

	#ANIM: Skeleton
	- fix crash when retargeting source that has been edited in editor
	- make sure to copy sockets when retarget skeleton

	#RB: Martin.Wilson
	#Code review: Martin.Wilson

Change 2794694 on 2015/12/08 by Benn.Gallagher

	Fixed duplicate slot names in anim slot groups. This was caused by not building the slot->group mapping at serialize time. COL would then re-add all the used slots to the group for a second time as the mapping wasn't built until postload.
	#rb Lina.Halper

Change 2795241 on 2015/12/08 by Lukasz.Furman

	fixed potential division by zero in acceleration driven path following
	#ue4
	#rb Mieszko.Zielinski

Change 2796109 on 2015/12/09 by James.Golding

	Pass FGameplayCueParameters by const ref in more places (avoids malloc allocations due to containing 2 FGameplayTagContainers)
	#rb marc.audy
	#codereview david.ratti

Change 2796110 on 2015/12/09 by James.Golding
2015-12-17 12:11:11 -05:00
Daniel Lamb
36568c0f27 Added support for multiprocess cooking into unreal frontend.
Fixes for multiprocesscooking.

[CL 2611006 by Daniel Lamb in Main branch]
2015-07-06 10:03:34 -04:00
Bob Tellez
de3873b978 [AUTOMERGE]
#UE4 Reduced verbosity on expected case where a platform SDK might not be available.

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2601577 by Bob.Tellez on 2015/06/25 19:06:12.

[CL 2601580 by Bob Tellez in Main branch]
2015-06-25 19:07:10 -04:00
Daniel Lamb
c7ab70a799 Added initial support for multiprocess cooking.
[CL 2588827 by Daniel Lamb in Main branch]
2015-06-16 12:43:26 -04:00
Daniel Lamb
54efc7da37 Added additional error information for commandline users when entering incorrect targetplatform.
[CL 2520276 by Daniel Lamb in Main branch]
2015-04-21 18:57:46 -04:00
Gil Gribb
af0013893b UE4 - merged fix to eliminate redundant target platform loads
[CL 2508292 by Gil Gribb in Main branch]
2015-04-10 09:30:29 -04:00
Jaroslaw Surowiec
bfd53d64ac Stats - Added a few stats to track ini loading
[CL 2506614 by Jaroslaw Surowiec in Main branch]
2015-04-09 05:54:05 -04:00
Josh Adams
86f2e08a55 - Added support for DesktopPlatform to package content and executables together (editor's File | Package)
- This is a first pass
  - Mac uses data outside the .app so that there's only one copy of the content. This should get a bootstrap executable like Windows has
  - Only tested on Mac so far, although it doesn't handle D3D11 shaders, or some of the icon updating for the bootstrap working
- Added Desktop platform icons

[CL 2505866 by Josh Adams in Main branch]
2015-04-08 16:59:20 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04: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
bca67426e2 Fix SDK setup check for Linux.
#codereview Peter.Sauerbrei, Robert.Jones

[CL 2454437 by Dmitry Rekman in Main branch]
2015-02-20 23:37:46 -05:00
Robert Jones
f018da7ec4 - Fixing variable case in SDKSetup function
[CL 2413702 by Robert Jones in Main branch]
2015-01-21 09:13:13 -05:00
Robert Jones
b5a273a278 SDK path editing in editor.
- Added class to hold values (AndroidSDKSettings)
- Added code to Android editor module to setup the values on load
- Changed device detection so that the thread is always started and the SDK path can be changed on the fly
- Changed Platform Target Management Module so that a single platform can be checked via UBT
- Settings can now be sourced from an ini file via temp direct reading code (auto seralisation is disabled until later changes are made)
-- Settings currently not exposed in editor

- Added Mac Environment var setting support

Unreleated
- Envars can now be passed down to process start points in tools

#codereview michael.trepka

[CL 2412194 by Robert Jones in Main branch]
2015-01-20 10:05:42 -05:00
Richard TalbotWatkin
7510a0ba0f Improved splash screen and initialization process.
[CL 2390837 by Richard TalbotWatkin in Main branch]
2014-12-17 02:15:23 -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
521937ee49 TargetPlatform: Documentation updates, cosmetic changes
[CL 2326223 by Max Preussner in Main branch]
2014-10-10 20:59:10 -04:00
Martin Mittring
ead18dd63d log available platforms in case it wasn't recognized
[CL 2314568 by Martin Mittring in Main branch]
2014-09-30 13:28:26 -04:00
Max Preussner
121fccd2ab Code and documentation cleanup pass
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr

[CL 2305058 by Max Preussner in Main branch]
2014-09-21 20:35:48 -04:00
Daniel Lamb
34c033be67 Merge cook on the fly and cook by the book.
Support for cook by the book in the editor.
#codereview Josh.Adams, Peter.Sauerbrei

[CL 2299633 by Daniel Lamb in Main branch]
2014-09-16 12:15:46 -04:00
Ori Cohen
167a797ef8 Add runtime physx cooking
[CL 2291345 by Ori Cohen in Main branch]
2014-09-09 16:30:29 -04:00
Ben Marsh
bb17aef300 Move functionality to invoke UBT into DesktopPlatform.
[CL 2286483 by Ben Marsh in Main branch]
2014-09-05 13:31:22 -04:00
Marcus Wassmer
f36a68b03a Nicer AutoSDKs checks
[CL 2254541 by Marcus Wassmer in Main branch]
2014-08-13 09:53:04 -04:00
Marcus Wassmer
15dde71d05 Don't run AutoSDKs code if AutoSDKs aren't enabled.
[CL 2254529 by Marcus Wassmer in Main branch]
2014-08-13 09:37:59 -04:00