Commit Graph

64 Commits

Author SHA1 Message Date
Jurre deBaare
cbd40a126d Conditional SSF compilation.
#lockdown Nick.Penwarden

[CL 2930288 by Jurre deBaare in Main branch]
2016-04-01 06:37:24 -04:00
Josh Adams
db43da290b Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main)
Change 2783376 on 2015/11/30 by Nick.Shin

	upgrading emscripten SDK to 1.35.9
	following instruction from the README file

Change 2787414 on 2015/12/02 by Nick.Shin

	upgrading emscripten to 1.35.0
	removing old SDK and tools for Mac and Win64

Change 2790218 on 2015/12/04 by Nick.Shin

	merge (CL: #2790164) from //UE4/Dev-Physics to //UE4/Dev-Platform
	PhysX HTML5 bc files

Change 2794786 on 2015/12/08 by Nick.Shin

	merge CL #2794757 part 1 of 2
	from //UE4/Dev-Physics/PhysX/PhysX_3.3/Lib/html5
	to //UE4/Dev-Platform/Engine/Source/ThirdParty/PhysX/PhysX-3.3/lib/HTML5/

Change 2794789 on 2015/12/08 by Nick.Shin

	merge CL #2794758 part 2 of 2
	from //UE4/Dev-Physics/PhysX/PhysX_3.3/Lib/html5
	to //UE4/Dev-Platform/Engine/Source/ThirdParty/PhysX/PhysX-3.3/lib/HTML5/

Change 2799151 on 2015/12/10 by Dmitry.Rekman

	Guarantee XGE.xml sorting order for 10+ builds.

	- A licensee pointed out the problem that AutomationTool.UE4Build.FindXGEFiles() sorts the files by filename, so e.g. UBTExport.10.xge.xml takes priority over UBTExport.2.xge.xml.

	#codereview Ben.Marsh

Change 2799440 on 2015/12/11 by Mark.Satterthwaite

	Duplicate CL #2790251: Temporarily revert some of the changes for Mac mouse cursor locking as they were causing more problems than they solved.

Change 2799441 on 2015/12/11 by Mark.Satterthwaite

	Duplicate CL #2796111 & #2796158: Fix cooking shader cache files - it wasn't being enabled despite a cached shader format being listed.

Change 2799442 on 2015/12/11 by Mark.Satterthwaite

	Duplicate CL #2797758: Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2799601 on 2015/12/11 by Mark.Satterthwaite

	Implement background reading of NSPipe's in Mac ExecProcess to avoid the sub-process blocking trying to write to the meagre 8kb internal buffers. This may fix problems with SVN on Mac.

Change 2799657 on 2015/12/11 by Mark.Satterthwaite

	Remove the hlslcc major version from the Metal and OpenGL shader formats to ensure that there are enough bits to represent the different version components. There's no expectation that the major version of hlslcc will change and it will soon be removed entirely.

Change 2799691 on 2015/12/11 by Mark.Satterthwaite

	Merging final internal-only changes from WWDC.

Change 2800182 on 2015/12/11 by Mark.Satterthwaite

	Capture the system.log contents from the moment we boot to the point we crash to report GPU restarts and other system errors not written into our own logs.

Change 2801395 on 2015/12/14 by Mark.Satterthwaite

	Fix the Metal shader compiler so that it properly reports the number of sampler objects in use, not the number of textures as Metal separates its 16 samplers and up-to 128 textures in a single shader stage, like D3D and unlike OpenGL. This fixes a lot of material compile errors in newer projects which aren't being designed for obsolete OpenGL.

Change 2801653 on 2015/12/14 by Daniel.Lamb

	Load package differ can now diff header part of packages.
	Changed the way IsChildCooker is handled improves performance of multiprocess cooker.

Change 2801655 on 2015/12/14 by Daniel.Lamb

	Added cooker warning to resave packages if they don't have collision data for their static meshes.
	Added NavCollision creation on static mesh import so that we save out the NavCollision.

Change 2801923 on 2015/12/14 by Daniel.Lamb

	Fix compilation error with CreateLoader.

Change 2802076 on 2015/12/14 by Daniel.Lamb

	Remove some debugging assistance code.

Change 2803207 on 2015/12/15 by Mark.Satterthwaite

	Add missing Metal formats for PF_R16_SINT/UINT.

Change 2803254 on 2015/12/15 by Mark.Satterthwaite

	Add additional uint/2/3/4 overrides for SV_Target(x) to MetalUtils and when generating the output variable look for an exact type match before restoring to the first match with the correct number of elements. This ensures that we generate uint/2/3/4 writes when required for CopyStencilToLightingChannelsPS without breaking anything else.

Change 2803259 on 2015/12/15 by Mark.Satterthwaite

	Fix stencil texture swizzle for Metal which uses .x not .g for stencil value.

Change 2803262 on 2015/12/15 by Mark.Satterthwaite

	Fix FMetalRHICommandContext::RHISetScissorRect  handling 0 sized rects when RHISetScissorRect is called before RHISetViewport.

Change 2803321 on 2015/12/15 by Mark.Satterthwaite

	Duplicate CL #2786291: Fix Metal validation errors caused by incorrect instance count and also a crash-bug caused by accessing a defunct depth-stencil texture. This should be enough to ensure Metal works even if you've been playing previously with OpenGL.

Change 2803413 on 2015/12/15 by Mark.Satterthwaite

	Workaround the Material Editor's unfortunate habit of rendering tiles without a depth/stencil-buffer attached despite tiles wanting to write to depth - in Metal we have to create a temporary Depth-Stencil texture so that we don't crash the driver because it won't rewrite the shaders for us (unlike D3D/GL).

Change 2806247 on 2015/12/16 by Daniel.Lamb

	Fixed UParticleRequiredModule deterministic cook issue.
	#codereview Olaf.Piesche

Change 2806834 on 2015/12/17 by Mark.Satterthwaite

	Temporarily work around absence of Checked & Shipping APEX/PhysX binaries on Mac.

Change 2807017 on 2015/12/17 by Mark.Satterthwaite

	Handle the shader cache being initialised for cooking multiple times until I can sort out the implementation properly.

Change 2807027 on 2015/12/17 by Daniel.Lamb

	Enabled DDC stats.
2016-01-19 09:54:25 -05:00
Matthew Griffin
984342ca17 Merging //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) post CL#2804086 to CL#2817167
CL#2805395 resolved as target to avoid copying 2015 changes
#lockdown Nick.Penwarden

[CL 2819197 by Matthew Griffin in Main branch]
2016-01-07 11:21:22 -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
Ben Marsh
92ec2b8239 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).

Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.

Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)

Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Adding config entries to determine which platforms/configurations are available

	Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.

	A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.

Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Copying UnrealGameSync into Engine/Source/Programs.

Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)

Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.

Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.

Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.

	#codereview Matthew.Griffin

Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015

Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.

Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Restore change to gather VC environment directly from registry.

#lockdown Nick.Penwarden

[CL 2790002 by Ben Marsh in Main branch]
2015-12-04 09:32:58 -05:00
Ben Marsh
1cc0be0a06 Separate all the project specific settings for a platform into a separate class (derived from UEBuildPlatformContext), and remove the last few references to the global .uproject file path. Checks for SupportsWindowsXP() are now done inside the toolchain.
#codereview Peter.Sauerbrei

[CL 2711835 by Ben Marsh in Main branch]
2015-09-30 16:40:04 -04:00
Ben Marsh
a1bfbcd0d5 Split the ModifyModuleRules() method into two parts; one which is called only for the active platform (ModifyModuleRulesForActivePlatform), and one which is called on all platforms for a host platform (ModifyModuleRulesForOtherPlatform).
[CL 2709436 by Ben Marsh in Main branch]
2015-09-29 10:44:49 -04:00
Ben Marsh
1adc540d76 Instance UEBuildPlatform for each supported platform so we don't have to keep passing an UnrealTargetPlatform back into it, and separate the SDK logic for each group of platforms into a separate class (UEBuildPlatformSDK). Add a new factory class (UEBuildPlatformFactory) for creating them and binding them together.
[CL 2709253 by Ben Marsh in Main branch]
2015-09-29 08:56:10 -04:00
Ben Marsh
291c6dd533 Merge UEBuildPlatform.GetExtraModules() and UEBuildPlatform.SetupBinaries(), because they were being used for the same purpose.
[CL 2707277 by Ben Marsh in Main branch]
2015-09-27 14:50:58 -04:00
Ben Marsh
0aa484bda0 Toolchains are now instanced to allow storing project and target specific configuration details. Required for UBT to support multiple targets. Removed IUEToolChain, which wasn't being used directly.
[CL 2707252 by Ben Marsh in Main branch]
2015-09-27 13:05:49 -04:00
Ben Marsh
385dcb4a3d Instance deployment handlers, rather than having a single shared instance. Required to support multiple build targets in UBT. Creation is through a method on the UEBuildPlatform.
[CL 2706031 by Ben Marsh in Main branch]
2015-09-25 08:37:49 -04:00
Ben Marsh
2802f43c08 Convert everything in UBT to use standard C# XML comments, so IntelliSense can display useful information in tooltips.
[CL 2704759 by Ben Marsh in Main branch]
2015-09-24 13:47:13 -04:00
Ben Marsh
df83418aeb Auto-format UBT for consistent spacing. All default Visual Studio settings, but tabs instead of spaces.
[CL 2704665 by Ben Marsh in Main branch]
2015-09-24 12:37:21 -04:00
Ben Marsh
511af0caa7 Only add shader format and target platform modules as dependencies of the TargetPlatform module. Adding them for every single module in a target has a huge effect on the number of modules we need to resolve (UEBuildTarget.FindOrCreateModuleByName() was being called 200,000 times when generating project files, thanks to SCW and UFE triggering these code paths).
#codereview Peter.Sauerbrei

[CL 2684709 by Ben Marsh in Main branch]
2015-09-09 11:03:25 -04:00
Ben Marsh
9610023ca5 Use FileReference and DirectoryReference classes instead of strings for paths. Massively reduces the amount of paranoid calls to GetFullPath(), CleanDirectorySeparators() et al., and improves performance for really common UBT operations like making relative paths or checking if files are under a directory. Strong typing ensures that intention of parameters is explicit.
[CL 2678429 by Ben Marsh in Main branch]
2015-09-03 08:47:24 -04:00
Ben Marsh
42c53cf179 Change IUEBuildPlatform.ModifyNewlyLoadedModule to IUEBuildPlatform.ModifyModuleRules(). Only modifying the rules object rather than the implementation itself makes it easier to optimize caching module references.
[CL 2672146 by Ben Marsh in Main branch]
2015-08-28 07:27:26 -04:00
Ankit Khare
9b38554ee8 UEPLAT-826 : use HTML5 SDK from third party directories.
- Always pickup HTML5 sdk from third party directory.
   - Use the new html5 template by default.

[CL 2610587 by Ankit Khare in Main branch]
2015-07-04 18:45:54 -04:00
Ankit Khare
5cf849a5a1 Enable HTML5 for Mac Rocket
#codereview ben.marsh

[CL 2519794 by Ankit Khare in Main branch]
2015-04-21 15:42:57 -04:00
James Moran
13c9f5df4f Back out changelist 2463809
[CL 2463898 by James Moran in Main branch]
2015-02-27 09:24:12 -05:00
James Moran
e69420f0e8 Update HTML5 SDK to ver. 1.29.0
[CL 2463809 by James Moran in Main branch]
2015-02-27 06:26:32 -05:00
Ankit Khare
35252ac72f UEPLAT-131 Enable Rocket builds for HTML5.
(Currently just on Win64 host)

#codereview kellan.carr, ben.marsh

[CL 2411843 by Ankit Khare in Main branch]
2015-01-20 01:29:07 -05:00
Ankit Khare
855b5c82ec Correct comparision (>=) for SDK versions for CL 2390651
[CL 2390655 by Ankit Khare in Main branch]
2014-12-16 20:40:48 -05:00
Ankit Khare
b86edd76a7 Allow higher versioned emscripten SDKs than required SDK as Valid SDKs
#HTML5

#codereview james.moran

[CL 2390651 by Ankit Khare in Main branch]
2014-12-16 20:40:35 -05:00
James Moran
e48fdc9356 Enable User.ini's.
Switch HTML5 SDK setupt to prefer values from User*.ini's over environment varibles

FYI #codereivew josh.adams, ankit.khare, rob.jones

[CL 2383359 by James Moran in Main branch]
2014-12-10 09:07: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