#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
#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]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2917472 on 2016/03/21 by Rolando.Caloca
DR - Fix SCW directcompile arguments, add -pipeline
Change 2919580 on 2016/03/23 by Rolando.Caloca
DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't)
Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug)
#jira OR-15380
#tests Run game with sparrow, test with slomo to check for gfx glitches
Change 2919660 on 2016/03/23 by Rolando.Caloca
DR - Latest vk changes (from dev mobile's 2916881 to 2919157)
Change 2919902 on 2016/03/23 by Rolando.Caloca
DR - Fix skeletal meshes decrementing stats twice
#codereview Marcus.Wassmer
#jira UE-28478
Change 2920020 on 2016/03/23 by David.Hill
#Jira UE-28503
EyeAdapation when used in material shader may not be initialized.
#rb olaf.piesche
Change 2920071 on 2016/03/23 by Rolando.Caloca
DR - Remove old vk define
- Started moving around direct calls to queue submit
Change 2920252 on 2016/03/23 by Rolando.Caloca
DR - Changes vk structs to classes
Change 2920314 on 2016/03/23 by Olaf.Piesche
Add -windowed to standalone game PIE command line to avoid PIE launching in full screen
#jira UE-27870
#codereview michael.trepka
Change 2920745 on 2016/03/24 by Uriel.Doyon
Texture streaming build now takes into account the material texcoord scales applied to the texture sampling.
Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently).
TexCoord analysis debug view shaders is now working with SM4 ane SM5.
StaticMeshComponents hold persistent data coming from the texture streaming build.
#tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps
#codereview marcus.wassmer
Change 2921335 on 2016/03/24 by Uriel.Doyon
Added missing static keyword for locally defined console variable.
#codereview rolando.caloca
Change 2921416 on 2016/03/24 by Uriel.Doyon
Revert enabling debugview shaders on non PC platforms (until properly tested and debugged)
Change 2921446 on 2016/03/24 by Daniel.Wright
Planar reflection mesh
Change 2921530 on 2016/03/24 by Daniel.Wright
Manual revert of Ronin planar reflections
#codereview Ryan.Vance
Change 2921608 on 2016/03/24 by Uriel.Doyon
Updated texture streamer to take into account the new HLOD texture group.
Change 2921677 on 2016/03/24 by Daniel.Wright
Distance Field Specular Occlusion
* Prototype - disabled by default
Change 2921681 on 2016/03/24 by Daniel.Wright
UnmappedTexelsPercentage is now 100 based
Change 2921682 on 2016/03/24 by Daniel.Wright
Planar reflections
* New actor and component
* The scene is rendered to texture with a mirrored camera and a clip plane each frame
* The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades
* Translucent materials apply the nearest reflection plane in the base pass
* Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4
* Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer
* Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage
Change 2921734 on 2016/03/24 by Uriel.Doyon
Fixed tessellated cube having wrong UVs
#jira UE-28379
Change 2922063 on 2016/03/24 by Daniel.Wright
Removed planar reflection debug code
Change 2922428 on 2016/03/25 by Chris.Bunner
Delete FShaderPipeline objects when clearing TMaterialShaderMaps.
#rb Rolando.Caloca
#jira UE-28621
Change 2922803 on 2016/03/25 by Rolando.Caloca
DR - New cmd buffer management (disabled)
- Move cmd buffer out of pending state and into context
- Do not hardcode # cmd buffers
- Move back buffer image mgmt into swapchain
- Fixed some image layout transition bugs
Change 2923056 on 2016/03/25 by Rolando.Caloca
DR - Initial fix for canvas locking inside a render pass
[CL 2932649 by Gil Gribb in Main branch]