#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3219796 on 2016/12/02 by Rolando.Caloca
DR - vk - Increase timeout to 60ms
Change 3219884 on 2016/12/02 by Daniel.Wright
Assert to help track down rare crash locking capsule indirect shadow vertex buffer
Change 3219885 on 2016/12/02 by Daniel.Wright
Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'
Change 3219886 on 2016/12/02 by Daniel.Wright
Don't create projected shadows when r.ShadowQuality is 0
* Fixes crash in the forward path trying to render shadows
* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped
Change 3219887 on 2016/12/02 by Daniel.Wright
Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing
Change 3219893 on 2016/12/02 by Daniel.Wright
AMD AGS library with approved TPS
Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)
Change 3219913 on 2016/12/02 by Daniel.Wright
Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded
Change 3220029 on 2016/12/02 by Daniel.Wright
Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet
Change 3220108 on 2016/12/02 by Daniel.Wright
Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present
Change 3220504 on 2016/12/03 by Mark.Satterthwaite
Metal Desktop Tessellation support from Unicorn.
- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
- Epic: Various fixes to Layered Rendering for Metal.
- Omits Mobile Tessellation support which needs further revision.
Change 3220881 on 2016/12/04 by Mark.Satterthwaite
Compiles fixes for iOS & static analysis fixes from Windows.
Change 3221180 on 2016/12/05 by Guillaume.Abadie
Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.
Change 3221217 on 2016/12/05 by Chris.Bunner
More NVAPI warning fixups.
Change 3221219 on 2016/12/05 by Chris.Bunner
When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
#jira UE-37792
Change 3221220 on 2016/12/05 by Chris.Bunner
Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
#jira UE-35132
Change 3221221 on 2016/12/05 by Chris.Bunner
PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
#jira UE-35760
Change 3221223 on 2016/12/05 by Chris.Bunner
Default to include dev-code when compiling material preview stats.
#jira UE-20321
Change 3221534 on 2016/12/05 by Rolando.Caloca
DR - Added FDynamicRHI::GetName()
Change 3221833 on 2016/12/05 by Chris.Bunner
Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
#jira UE-36989
Change 3221852 on 2016/12/05 by Chris.Bunner
32-bit/ch EXR screenshot and frame dump output.
Fixed row increment bug in 128-bit/px surface format readback.
#jira UE-37962
Change 3222059 on 2016/12/05 by Rolando.Caloca
DR - vk - Fix memory type not found
Change 3222104 on 2016/12/05 by Rolando.Caloca
DR - Lambdaize
- Added quicker method to check if system textures are initialized
Change 3222290 on 2016/12/05 by Mark.Satterthwaite
Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.
Change 3222864 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak when exiting
Change 3222873 on 2016/12/06 by Rolando.Caloca
DR - vk - Minor info to help track down leaks
Change 3222875 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak with VisualizeTexture
#jira UE-39360
Change 3223226 on 2016/12/06 by Chris.Bunner
Static analysis warning workaround.
Change 3223235 on 2016/12/06 by Ben.Woodhouse
Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D
Change 3223343 on 2016/12/06 by Chris.Bunner
Moved HLOD persistent data to viewstate to fix per-view compatability.
#jira UE-37539
Change 3223349 on 2016/12/06 by Chris.Bunner
Fixed HLOD with FreezeRendering command.
#jira UE-29839
Change 3223371 on 2016/12/06 by Michael.Trepka
Removed obsolete check() in FMetalSurface constructor
Change 3223450 on 2016/12/06 by Chris.Bunner
Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.
Change 3223638 on 2016/12/06 by Michael.Trepka
Restored part of the check() in FMetalSurface constructor removed in CL 3223371
Change 3223642 on 2016/12/06 by Mark.Satterthwaite
Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
- Enable with -metaledr command-line argument as it is off-by-default.
- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.
Change 3223830 on 2016/12/06 by Rolando.Caloca
DR - vk - Better error when finding an invalid Vulkan driver
#jira UE-37495
Change 3223869 on 2016/12/06 by Rolando.Caloca
DR - vk - Reuse fences
Change 3223906 on 2016/12/06 by Guillaume.Abadie
Fix alpha through TempAA artifact causing a small darker edge layouts.
Change 3224199 on 2016/12/06 by Mark.Satterthwaite
Fix a dumb copy-paste error from the HDR changes to Metal.
Change 3224220 on 2016/12/06 by Mark.Satterthwaite
Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.
Change 3224236 on 2016/12/06 by Mark.Satterthwaite
IWYU CIS compile fix for iOS.
Change 3224366 on 2016/12/06 by Mark.Satterthwaite
Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.
Change 3224416 on 2016/12/06 by Uriel.Doyon
New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).
Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.
Fix for material texture streaming data not being available on some cooked builds.
Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.
Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
and also "LastRenderTimeMips" which related to timed primitives.
Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.
"Texture Streaming Build" now updates the map check after execution.
Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic.
Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.
Change 3224532 on 2016/12/07 by Uriel.Doyon
Integrated CL 3223965 :
Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
Added more options to allow the user to cancel this build also.
Change 3224714 on 2016/12/07 by Ben.Woodhouse
Cherry pick CL 3223972 from //fortnite/main:
Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)
Change 3224715 on 2016/12/07 by Ben.Woodhouse
New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version
Change 3224975 on 2016/12/07 by Rolando.Caloca
DR - vk - Dump improvements
Change 3225012 on 2016/12/07 by Rolando.Caloca
DR - Show warning if trying to use num samples != (1,2,4,8,16)
Change 3225126 on 2016/12/07 by Chris.Bunner
Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
#jira UE-39345
Change 3225449 on 2016/12/07 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3225485 on 2016/12/07 by Chris.Bunner
Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
#jira UE-19394
Change 3225486 on 2016/12/07 by Chris.Bunner
Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.
Change 3225505 on 2016/12/07 by Daniel.Wright
Fixed exponential height fog disappearing with no skybox
Change 3225655 on 2016/12/07 by Benjamin.Hyder
Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.
Change 3225668 on 2016/12/07 by Chris.Bunner
Dirty owning packages when user manually forces regeneration of all reflection captures.
#jira UE-38759
Change 3226139 on 2016/12/07 by Rolando.Caloca
DR - Fix recompute tangents disabling skin cache
- Make some macros into lambdas
#jira UE-39143
Change 3226212 on 2016/12/07 by Daniel.Wright
Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false
Change 3226213 on 2016/12/07 by Daniel.Wright
Scene Capture 2D can specify a global clip plane, which is useful for portals
* Requires the global clip plane project setting to be enabled
Change 3226214 on 2016/12/07 by Daniel.Wright
Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall
Change 3226258 on 2016/12/07 by Rolando.Caloca
DR - Typo fix
Change 3226259 on 2016/12/07 by Rolando.Caloca
DR - compile fix
#jira UE-39143
Change 3226932 on 2016/12/08 by Chris.Bunner
Re-saved Infiltrator maps to update reflection captures.
#jira UE-38759
Change 3227063 on 2016/12/08 by Mark.Satterthwaite
For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
#jira UE-37436
Change 3227120 on 2016/12/08 by Gil.Gribb
Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3227211 on 2016/12/08 by Arne.Schober
DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.
Change 3227257 on 2016/12/08 by Marc.Olano
Extension to PseudoVolumeTexture for more flexible layout
Change by ryan.brucks
Change 3227286 on 2016/12/08 by Rolando.Caloca
DR - Fix crash when using custom expressions and using reserved keywords
#jira UE-39311
Change 3227376 on 2016/12/08 by Mark.Satterthwaite
Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.
Change 3227415 on 2016/12/08 by Mark.Satterthwaite
Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.
Change 3227516 on 2016/12/08 by Daniel.Wright
Implemented UWidgetComponent::GetUsedMaterials
Change 3227521 on 2016/12/08 by Guillaume.Abadie
Fixes post process volume's indirect lighting color.
#jira UE-38888
Change 3227567 on 2016/12/08 by Marc.Olano
New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask
Change 3227628 on 2016/12/08 by Daniel.Wright
Removed redundant ResolveSceneDepthTexture from the merge
Change 3227635 on 2016/12/08 by Daniel.Wright
Forward renderer supports shadowing from movable lights and light functions
* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned
Change 3227660 on 2016/12/08 by Rolando.Caloca
DR - vk - Fix r.MobileMSAA on Vulkan
- r.MobileMSAA is now read-only (to be fixed on 4.16)
- Show time for PSO creation hitches
#jira UE-39184
Change 3227704 on 2016/12/08 by Mark.Satterthwaite
Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.
Change 3227705 on 2016/12/08 by Daniel.Wright
Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)
Change 3227787 on 2016/12/08 by Chris.Bunner
Added extent clear to motion blur pass to catch misized buffers bringing in errors.
Added early out to clear call when excluded region matches RT region.
#jira UE-39437
Change 3228177 on 2016/12/08 by Marc.Olano
Fix DCC sqrt(int) error
Change 3228285 on 2016/12/08 by Chris.Bunner
Back out changelist 3225449.
#jira UE-39528
Change 3228680 on 2016/12/09 by Gil.Gribb
Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3228940 on 2016/12/09 by Mark.Satterthwaite
Editor fixes for 4.15:
- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
- Don't start render-passes without a valid render-target-array in MetalRHI.
Change 3228950 on 2016/12/09 by Mark.Satterthwaite
Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
#jira UE-39256
Change 3229013 on 2016/12/09 by Mark.Satterthwaite
Further tidy up in SSkeletonTreeView as suggested by Nick.A.
Change 3229101 on 2016/12/09 by Chris.Bunner
Log compile error fix and updated cvar comments.
Change 3229236 on 2016/12/09 by Ben.Woodhouse
XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles
Change 3229430 on 2016/12/09 by Ben.Woodhouse
PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)
Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)
Change 3229580 on 2016/12/09 by Marcus.Wassmer
DepthBoundsTest for AMD.
Change 3229701 on 2016/12/09 by Michael.Trepka
Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2
Change 3229706 on 2016/12/09 by Chris.Bunner
Added GameUserSettings controls for HDR display output.
Removed Metal commandline as this should replace the need for it.
Change 3229774 on 2016/12/09 by Michael.Trepka
Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.
Change 3229819 on 2016/12/09 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3229948 on 2016/12/09 by Rolando.Caloca
DR - Fix d3d debug error
#jira UE-39589
Change 3230341 on 2016/12/11 by Mark.Satterthwaite
Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
#jira UE-39613
Change 3230860 on 2016/12/12 by Marcus.Wassmer
Experimental Nvidia AFR support.
Change 3230930 on 2016/12/12 by Mark.Satterthwaite
Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.
Change 3231252 on 2016/12/12 by Marcus.Wassmer
Fix NumGPU detection. (SLI only crash)
Change 3231486 on 2016/12/12 by Mark.Satterthwaite
Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.
Change 3231661 on 2016/12/12 by Mark.Satterthwaite
Retain the RHI samplers in MetalRHI to guarantee lifetime.
[CL 3231696 by Gil Gribb 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
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3154832 on 2016/10/07 by Rolando.Caloca
DR - vk - Fix crash on framebuffers with missing textures
Change 3154838 on 2016/10/07 by Rolando.Caloca
DR - vk - Enable clip distance
Change 3154840 on 2016/10/07 by Rolando.Caloca
DR - Remove branch per codereview
Change 3155118 on 2016/10/07 by Rolando.Caloca
DR - vk - Compute pipeline fixes
Change 3155129 on 2016/10/07 by Rolando.Caloca
DR - Added draw events for reflection captures
Change 3155167 on 2016/10/07 by Rolando.Caloca
DR - Use shader clear for platforms that can't use viewport or scissor
Change 3155168 on 2016/10/07 by Rolando.Caloca
DR - vk - Added submit gpu
- Some fixes for Geometry and Compute
Change 3155595 on 2016/10/07 by Rolando.Caloca
DR - vk - Use new render pass system
Change 3155720 on 2016/10/07 by Rolando.Caloca
DR - vk - static analysis fix
Change 3155732 on 2016/10/07 by Rolando.Caloca
DR - Fix clears for platforms that can't use viewports, excluderects or scissor on clear
Change 3156787 on 2016/10/10 by Rolando.Caloca
DR - Fix mem leaks
Change 3156805 on 2016/10/10 by Rolando.Caloca
DR - Improve check msg per licensee
Change 3156815 on 2016/10/10 by Rolando.Caloca
DR - Fix infinite recursion
Change 3157041 on 2016/10/10 by Rolando.Caloca
DR - vk - Fix key access from multiple threads
Change 3158253 on 2016/10/11 by Rolando.Caloca
DR - Fix comment
#jira UE-37128
PR #2852
Change 3158606 on 2016/10/11 by Rolando.Caloca
DR - vk - Accessors
Change 3160418 on 2016/10/12 by Daniel.Wright
Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser
Change 3160644 on 2016/10/12 by Arne.Schober
DR - [UE-32613] - OpenGL used to have custom code in the compiler to modify the source so that the same data and matricies can be used as DirectX, unfortunately that causes precission problem. Fortunately there is an extension available (glClipControl) which enables DirectX behaviour in OpenGL and it is widely supported. We only tested Linux and Windows and therfore only default enable on those platforms.
Change 3161219 on 2016/10/13 by Luke.Thatcher
[RENDERING] [!] Fix incorrect shader used in GPU Benchmark causing crash in OpenGL.
Change 3161838 on 2016/10/13 by Daniel.Wright
Fixed level getting added to the dirty list twice when legacy lightmaps are present
Change 3161884 on 2016/10/13 by Arne.Schober
DR - Fix Mac and DCC build
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3162491 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3162397:
More fixed type-casting on material attributes.
Swapped compiler::forcecast booleans to flags (and fixed a regression).
Change 3163266 on 2016/10/14 by Daniel.Wright
Fixed sublevels with legacy lighting data being added to the dirty packages list redundantly
Change 3163524 on 2016/10/14 by Mark.Satterthwaite
Bring over specific changes from Unicorn branch that increases the size of shader optional data so that it is considerably more useful.
Change 3163529 on 2016/10/14 by Mark.Satterthwaite
Move the Metal shader source code and compilation path into the newly enlarged shader optional data.
Change 3163553 on 2016/10/14 by Mark.Satterthwaite
Speculative fix for FORT-31590 also seen by a licensee - the Metal command buffer handler will be called from a dispatch queue thread that won't be registered with the stats system.
#jira FORT-31590
Change 3163562 on 2016/10/14 by Mark.Satterthwaite
Tidy up and extend the Metal debugging options:
- Added rhi.Metal.BufferScribble which when enabled will fill freed buffer regions with 0xCD to help identify any areas where we are writing to a buffer while it is still being processed on the GPU.
- Added rhi.Metal.BufferZeroFill which will zero-fill newly allocated buffer regions before any other data is read/written. Useful for catching cases where we might be reading uninitialised memory.
- Added rhi.Metal.ResourcePurgeOnDelete which will purge the backing store of resources prior to releasing them back to the system or the respective pool. This will make any use-after-free conditions much more likely.
- Added rhi.Metal.ResourceDeferDeleteNumFrames to defer releasing resources to the system or the resource pool by the specified number of frames (in addition to the current policy of waiting for the current end of frame & command-buffer completion). Useful for tracking down resource lifetime errors.
- Fixed a number of bugs related to the modifications to vertex stream handling and addition of the SetShaderBytes API.
- Track the start & end of FRingBuffer ranges - it appeared that the ring-buffer usage was invalid but it was in fact only my assumptions about the range that needed to be scribbled for rhi.Metal.BufferScribble. There is still the possibility that command-buffers that are implicitly parallelised by the driver may cause the ring-buffer range tracking to go awry - but with our data dependencies and the separation of the async. compute context I don't believe this is likely.
- Fix up the "nometalv2" flag so that we can disable the features only available on iOS/tvOS-10/macOS-10.12 on newer devices to save having to reboot all the time.
- Fixed the flickering geometry when enabling rhi.Metal.RuntimeDebugLevel=4 which breaks render passes into separate command-buffers - the occlusion query was waiting on the wrong command buffer in this case.
Change 3163752 on 2016/10/14 by Mark.Satterthwaite
Add missing parenthesis to fix compile error on iOS.
Change 3164151 on 2016/10/16 by Benjamin.Hyder
Submitting TM-AutoLOD level to QAGame
#jira UE-29618
Change 3164190 on 2016/10/16 by Uriel.Doyon
Materials now hold texture streaming data in the form of (UV scale X UV channel) for each texture.
This data can be disabled through "r.Streaming.UseMaterialData"
Defined a common framework in MeshComponent for texture streaming, used by both StaticMeshes and SkeletalMeshes.
Simplified component interface for using the texture streaming build framework.
Removed intermediate texture streaming build data from the static mesh components.
Fixed shader compilation errors with the decals (from merge with main).
Change 3164636 on 2016/10/17 by Rolando.Caloca
DR - vk - Fix validation spam
Change 3164679 on 2016/10/17 by Arne.Schober
DR - [OR-28457] Part1, Scene View Refactoring - Removed Previous VewMatrices from SceneInfo and pass in Previous and Current ViewMatrices into Uniform Buffer creation to uniform UseCase for Shadows and CustomDepth, Fixed a Bug in Shadows with help of Daniel where the SceneView was copied unnecessary copied again. Also simplified the code in that area.
Change 3164705 on 2016/10/17 by Daniel.Wright
When new levels are loaded, only the Indirect Lighting Cache Allocations intersecting the level's light probes are updated to minimize hitches. This optimization requires a lighting build to compute PrecomputedLightVolume bounds.
Change 3164834 on 2016/10/17 by Daniel.Wright
Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear)
Change 3164870 on 2016/10/17 by Arne.Schober
DR - [OR-28457] Part2, Custom Depth Jitter - Allowed to overwite the viewconstant buffer in the custom depth pass. There ia also a new Project Setting available. The default constructor of the ContextDataType has been explicitly deleted to enforce compile errors when the templated code like the StaticMeshDrawList accidently tries to create a context without ViewUniformBuffer.
Change 3164949 on 2016/10/17 by Rolando.Caloca
DR - vk - First version of pooled occlusion queries
Change 3165100 on 2016/10/17 by Rolando.Caloca
DR - vk - Added driver version for Nvidia. AMD doesn't have one yet.
Change 3165160 on 2016/10/17 by Rolando.Caloca
DR - vk - Fix for queries not ready
Change 3165230 on 2016/10/17 by Rolando.Caloca
DR - vk - More fixes for occlusion queries
Change 3165839 on 2016/10/18 by Rolando.Caloca
DR - hlslcc - Fix default parameters getting wrong values
Change 3166029 on 2016/10/18 by Rolando.Caloca
DR - Switch some clears to DrawClearQuad()
Change 3166066 on 2016/10/18 by Mark.Satterthwaite
Update ShaderVersion due to CL #3163524
Change 3166067 on 2016/10/18 by Mark.Satterthwaite
Update Mac hlslcc for RCO's 3165839.
Change 3166370 on 2016/10/18 by Brian.Karis
Improved hair AA
Change 3166389 on 2016/10/18 by Uriel.Doyon
Fixed lightmap having bigger resolutions than the engine can handle
#jira UE-34737
#review-3166193 @daniel.wright
Change 3166495 on 2016/10/18 by Rolando.Caloca
DR - vk - Fix occlusion queries
Change 3166516 on 2016/10/18 by Arne.Schober
DR - Fix shaderbuild issue
Change 3166650 on 2016/10/18 by Rolando.Caloca
DR - vk - Enable GRHISupportsFirstInstance
Change 3166799 on 2016/10/18 by Arne.Schober
DR - [OR-28508] - The velocity Rendering pass was missing the adjustment for the PDO
Change 3167855 on 2016/10/19 by Rolando.Caloca
DR - vk - Implemented texture streaming
Change 3168365 on 2016/10/19 by Rolando.Caloca
DR - Fix static analysis
Change 3168405 on 2016/10/19 by Mark.Satterthwaite
Fix the optional shader data changes from Unicorn to prevent FindOptionalData from erronesouly testing against the trailing optional data size, which can match the tag for optional data entries if you are unlucky.
#jira UE-37489
Change 3169467 on 2016/10/20 by Arne.Schober
DR - UE-28039 - Fixed flickering cached shadows on dynamic objects: Adding preshadows whose depths are cached so that GatherDynamicMeshElements will still happen, which is necessary for preshadow receiver stenciling.
Change 3169478 on 2016/10/20 by Arne.Schober
DR - UE-28039 - missing comment
Change 3169845 on 2016/10/20 by Arne.Schober
DR - UE-35937 - readd Merged out check
Change 3169859 on 2016/10/20 by Rolando.Caloca
DR - vk - Stop popping up dialog on every run as the device name in the API doesn't match our driver database
[CL 3170066 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3079316 on 2016/08/05 by Ben.Marsh
Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header.
Change 3080579 on 2016/08/08 by Ben.Marsh
Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h.
Change 3080587 on 2016/08/08 by Ben.Marsh
StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h.
Change 3080789 on 2016/08/08 by Ben.Marsh
Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them.
Change 3080815 on 2016/08/08 by Ben.Marsh
BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information.
Change 3081374 on 2016/08/08 by Ben.Marsh
UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment.
Change 3083152 on 2016/08/09 by Ben.Marsh
PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous)
Change 3084039 on 2016/08/10 by Ben.Marsh
BuildGraph: Add additional markup for parameter attributes. Also improve some documation.
Change 3084240 on 2016/08/10 by Ben.Marsh
Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times.
Change 3084337 on 2016/08/10 by Ben.Marsh
UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense.
Change 3085594 on 2016/08/11 by Ben.Marsh
Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now.
Change 3085999 on 2016/08/11 by Ben.Marsh
Add some missing #pragma once directives.
Change 3086146 on 2016/08/11 by Ben.Marsh
Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file.
Change 3086172 on 2016/08/11 by Ben.Marsh
Fixup some C-style header guards to use #pragma once instead.
Change 3087289 on 2016/08/12 by Ben.Marsh
Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files)
Change 3087310 on 2016/08/12 by Ben.Marsh
Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module.
Change 3087341 on 2016/08/12 by Ben.Marsh
UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included.
Change 3087457 on 2016/08/12 by Ben.Marsh
Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h).
Change 3088407 on 2016/08/13 by Ben.Marsh
Replace use of Windows SIZE_T define with the regular C++ size_t.
Change 3088416 on 2016/08/13 by Ben.Marsh
Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything.
Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH.
Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included.
Change 3088544 on 2016/08/14 by Ben.Marsh
Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it.
Change 3088552 on 2016/08/14 by Ben.Marsh
Fix compile errors for some modules that don't already include CoreUObject.h.
Change 3088925 on 2016/08/15 by Ben.Marsh
Remove circular include dependencies from VulkanRHI.
Change 3088926 on 2016/08/15 by Ben.Marsh
Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead.
Change 3088930 on 2016/08/15 by Ben.Marsh
Remove circular include dependency from PhysX.
Change 3088935 on 2016/08/15 by Ben.Marsh
OnlineSubsystemUtils: Move CPP files out of public header directory.
Change 3088965 on 2016/08/15 by Ben.Marsh
Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules.
Change 3088966 on 2016/08/15 by Ben.Marsh
Engine: Move CPP files out of public header directories.
Change 3089520 on 2016/08/15 by Ben.Marsh
BuildGraph: Change documentation command to output markdown.
Change 3090299 on 2016/08/16 by Ben.Marsh
D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation.
Change 3090303 on 2016/08/16 by Ben.Marsh
Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue.
Change 3091861 on 2016/08/17 by Ben.Marsh
Remove circular header dependencies, and fix ambiguous include paths in OSVR.
Change 3092068 on 2016/08/17 by Ben.Marsh
Moving VulkanDynamicRHI into its own header.
Change 3093133 on 2016/08/18 by Ben.Marsh
EC: Include additional context lines for Clang errors.
Change 3093147 on 2016/08/18 by Ben.Marsh
UBT: Add an error message when attempting to do a single-file compile with the wrong target selected.
Change 3093228 on 2016/08/18 by Ben.Marsh
Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config.
[CL 3093264 by Ben Marsh in Main branch]
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2955635 on 2016/04/26 by Max.Chen
Sequencer: Fix filtering so that folders that contain filtered nodes will also appear.
#jira UE-28213
Change 2955617 on 2016/04/25 by Dmitriy.Dyomin
Better fix for: Post processing rendering artifacts Nexus 6
this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment
#jira: UE-24067
Change 2955522 on 2016/04/25 by Max.Chen
Sequencer: Fix crash when resolving object guid and context is null.
#jira UE-29916
Change 2955504 on 2016/04/25 by Alexis.Matte
#jira UE-29926
Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do.
Change 2955500 on 2016/04/25 by Dan.Oconnor
Integration of 2955445 from Dev-BP
#jira UE-29012
Change 2955234 on 2016/04/25 by Lina.Halper
Fixed tool tip of twist node
#jira : UE-29907
Change 2955211 on 2016/04/25 by Ben.Marsh
Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default.
#jira UE-29842
Change 2955155 on 2016/04/25 by Jamie.Dale
Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit
#jira UE-28756
Change 2955144 on 2016/04/25 by Jamie.Dale
Fixed a case where editable text controls would fail to select their text when focused
There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped.
#jira UE-29818
#jira UE-29772
Change 2955136 on 2016/04/25 by Chad.Taylor
Merging to 4.12:
Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed.
#jira UE-22581
Change 2955134 on 2016/04/25 by Lina.Halper
Removed code that blocks moving actor when they don't have physics asset
#jira : UE-29796
#code review: Benn.Gallagher
Change 2955130 on 2016/04/25 by Zak.Middleton
#ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps.
(copy of 2955001 in Main)
#jira UE-29531
#lockdown Nick.Penwarden
Change 2955098 on 2016/04/25 by Marc.Audy
Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client
#jira UE-7539
Change 2955049 on 2016/04/25 by Richard.TalbotWatkin
Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds.
#jira UE-29753 - Add ability to display a SplineComponent in-game
Change 2955040 on 2016/04/25 by Chris.Gagnon
Fixed Initializer Order Warning in hot reload ctor.
#jira UE-28811, UE-28960
Change 2954995 on 2016/04/25 by Marc.Audy
Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors
#jira UE-29909
Change 2954970 on 2016/04/25 by Peter.Sauerbrei
fix for openwrite with O_APPEND flag
#jira UE-28417
Change 2954917 on 2016/04/25 by Chris.Gagnon
Moved a desired change from Main to 4.12
Added input settings to:
- control if the viewport locks the mouse on acquire capture.
- control if the viewport acquires capture on the application launch (first window activate).
#jira UE-28811, UE-28960
parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this)
Change 2954908 on 2016/04/25 by Alexis.Matte
#jira UE-29478
Prevent modal dialog to use 100% of a core
Change 2954888 on 2016/04/25 by Marcus.Wassmer
Fix compile issue with chinese locale
#jira UE-29708
Change 2954813 on 2016/04/25 by Lina.Halper
Fix when not re-validating the correct asset
#jira : UE-29789
#code review: Martin.Wilson
Change 2954810 on 2016/04/25 by mason.seay
Updated map to improve coverage
#jira UE-29618
Change 2954785 on 2016/04/25 by Max.Chen
Sequencer: Always spawn sequencer spawnables. Disregard collision settings.
#jira UE-29825
Change 2954781 on 2016/04/25 by mason.seay
Test map for Audio Occlusion trace channels
#jira UE-29618
Change 2954684 on 2016/04/25 by Marc.Audy
Add GetIsReplicated accessor to AActor
Deprecate specific GameplayAbility class implementations that was exposing bReplicates
#jira UE-29897
Change 2954675 on 2016/04/25 by Alexis.Matte
#jira UE-25430
Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs
Change 2954669 on 2016/04/25 by Alexis.Matte
#jira UE-29507
Import of rigid mesh animation is broken
Change 2954579 on 2016/04/25 by Ben.Marsh
Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later.
#jira UE-29842
Change 2954556 on 2016/04/25 by Taizyd.Korambayil
#jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class
Change 2954552 on 2016/04/25 by Taizyd.Korambayil
#jira UE-29877 Deleting BP class
Change 2954498 on 2016/04/25 by Ryan.Gerleve
Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server.
Transition actors to the new level in a second pass after non-transitioning actors are handled.
#jira UE-29213
Change 2954446 on 2016/04/25 by Max.Chen
Sequencer: Fixed spawning actors with instance or multiple owned components
- Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved
#jira UE-29774, UE-29859
Change 2954430 on 2016/04/25 by Marc.Audy
Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling
#jira UE-29118
#jira UE-29747
Change 2954292 on 2016/04/25 by Richard.TalbotWatkin
Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella)
CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport.
#jira UE-29265 - Crash when drag selecting curve keys in matinee
Change 2954262 on 2016/04/25 by Graeme.Thornton
Fixed a editor crash when destroying linkers half way through a package EndLoad
#jira UE-29437
Change 2954239 on 2016/04/25 by Marc.Audy
Fix error message
#jira UE-00000
Change 2954177 on 2016/04/25 by Dmitriy.Dyomin
Fixed: Hidden surface removal is not enabled on PowerVR Android devices
#jira UE-29871
Change 2954026 on 2016/04/24 by Josh.Adams
[Somehow most files got unchecked in my previous checkin, grr]
- ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android)
#lockdown nick.penwarden
#jira UE-29863
Change 2954025 on 2016/04/24 by Josh.Adams
- ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android)
#lockdown nick.penwarden
#jira UE-29863
Change 2953946 on 2016/04/24 by Max.Chen
Sequencer: Fix crash on undo of a sub section.
#jira UE-29856
Change 2953898 on 2016/04/23 by mitchell.wilson
#jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing
Change 2953859 on 2016/04/23 by Maciej.Mroz
Merged from Dev-Blueprints 2953858
#jira UE-29790 Editor crashes when opening KiteDemo
Change 2953764 on 2016/04/23 by Max.Chen
Sequencer: Remove "Experimental" tag on the Level Sequence Actor
#jira UETOOl-625
Change 2953763 on 2016/04/23 by Max.Chen
Cinematics: Change text to "Edit Existing Cinematics"
#jira UE-29102
Change 2953762 on 2016/04/23 by Max.Chen
Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges.
#jira UE-29658
Change 2953652 on 2016/04/22 by Rolando.Caloca
UE4.12 - vk - Workaround driver bugs wrt texture format caps
#jira UE-28140
Change 2953596 on 2016/04/22 by Marcus.Wassmer
#jira UE-20276
Merging dual normal clearcoat shading model.
2863683
2871229
2876362
2876573
2884007
2901595
Change 2953594 on 2016/04/22 by Chris.Babcock
Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver
#jira UE-29851
#ue4
#android
Change 2953520 on 2016/04/22 by Rolando.Caloca
UE4.12 - vk - Enable deferred resource deletion
- Added one resource heap per memory type
- Improved DumpMemory()
- Added ensures for missing format features
#jira UE-28140
Change 2953459 on 2016/04/22 by Taizyd.Korambayil
#jira UE-29748 Resaved Maps to Fix EC Build Warnings
#jira UE-29744
Change 2953448 on 2016/04/22 by Ryan.Gerleve
Fix Mac/Linux compile.
#jira UE-29545
Change 2953311 on 2016/04/22 by Ryan.Gerleve
Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism.
Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior.
To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call.
#jira UE-29545
Change 2953219 on 2016/04/22 by mason.seay
Test map for show collision features
#jira UE-29618
Change 2953199 on 2016/04/22 by Phillip.Kavan
[UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size.
change summary:
- improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry)
- modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization
- added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value)
- removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above)
- modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default)
#jira UE-29449
Change 2953195 on 2016/04/22 by Max.Chen
Sequencer: Fix crash in actor reference track in the cached guid to actor map.
#jira UE-27523
Change 2953124 on 2016/04/22 by Rolando.Caloca
UE4.12 - vk - Increase temp frame buffer
#jira UE-28140
Change 2953121 on 2016/04/22 by Chris.Babcock
Rebuilt lighting for all levels
#jira UE-29809
Change 2953073 on 2016/04/22 by mason.seay
Test assets for notifies in animation composites and montages
#jira UE-29618
Change 2952960 on 2016/04/22 by Richard.TalbotWatkin
Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color.
#jira UE-28410 - Eye dropper selects color without clicking
Change 2952934 on 2016/04/22 by Allan.Bentham
Ensure pool's refractive index >= 1
#jira UE-29777
Change 2952881 on 2016/04/22 by Jamie.Dale
Better fix for UE-28560 that doesn't regress thumbnail rendering
We now just silence the warning if dealing with an inactive world.
#jira UE-28560
Change 2952867 on 2016/04/22 by Thomas.Sarkanen
Fix issues with matinee-controlled anim instances
Regression caused by us no longer saving off the anim sequence between updates.
#jira UE-29812 - Protostar Neutrino spawns but does not Animate or move.
Change 2952826 on 2016/04/22 by Maciej.Mroz
Merged from Dev-Blueprints 2952820
#jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail
Change 2952819 on 2016/04/22 by Josh.Adams
- Fixed crash in a Vulkan shader printout
#lockdown nick.penwarden
#jira UE-29820
Change 2952817 on 2016/04/22 by Rolando.Caloca
UE4.12 - vk - Revert back to simple layouts
#jira UE-28140
Change 2952792 on 2016/04/22 by Jamie.Dale
Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready
Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before.
#jira UE-28560
Change 2952783 on 2016/04/22 by Taizyd.Korambayil
#jira UE-28477 Resaved Flying Template Map
Change 2952767 on 2016/04/22 by Taizyd.Korambayil
#jira UE-29736 Resaved Map to Fix EC Warnings
Change 2952762 on 2016/04/22 by Allan.Bentham
Update reflection capture to contain only room5 content.
#jira UE-29777
Change 2952749 on 2016/04/22 by Taizyd.Korambayil
#jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error
Change 2952688 on 2016/04/22 by Martin.Wilson
Fix for BP notifies not displaying when they derive from an abstract base class
#jira UE-28556
Change 2952685 on 2016/04/22 by Thomas.Sarkanen
Fix CIS for non-editor builds
#jira UE-29308 - Fix crash from GC-ed animation asset
Change 2952664 on 2016/04/22 by Thomas.Sarkanen
Made up/down behaviour for console history consistent and reverted to old ordering by default
Pressing up or down now brings up history.
Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes.
#jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating
Change 2952655 on 2016/04/22 by Jamie.Dale
Changed the class filter to use an expression evaluator
This makes it consistent with the other filters in the editor
#jira UE-29811
Change 2952647 on 2016/04/22 by Allan.Bentham
Back out changelist 2951539
#jira UE-29777
Change 2952618 on 2016/04/22 by Benn.Gallagher
Fixed naming error in rotation multiplier node
#jira UE-29583
Change 2952612 on 2016/04/22 by Thomas.Sarkanen
Fix garbage collection and undo/redo issues with anim instance proxy
UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases.
Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now).
#jira UE-29308 - Fix crash from GC-ed animation asset
Change 2952608 on 2016/04/22 by Richard.TalbotWatkin
Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes.
#jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects.
Change 2952599 on 2016/04/22 by Dmitriy.Dyomin
Disabled vulkan pipeline cache as it causes rendering artifacts right now
#jira UE-29807
Change 2952540 on 2016/04/22 by Maciej.Mroz
#jira UE-29787 Obsolete nativized files are never removed
merged from Dev-Blueprints 2952531
Change 2952372 on 2016/04/21 by Josh.Adams
- Fixed Vk memory allocations when reusing free pages
#lockdown nick.penwarden
#jira ue-29802
Change 2952350 on 2016/04/21 by Eric.Newman
Added support for UEReleaseTesting backends to Orion and Ocean
#jira op-3640
Change 2952140 on 2016/04/21 by Dan.Oconnor
Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12
#jira UE-28971
Change 2952135 on 2016/04/21 by Jeff.Farris
Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly.
Manual re-implementation of CL 2948123 in 4.12 branch.
#jira UE-29634
Change 2952121 on 2016/04/21 by Lee.Clark
PS4 - 4.12 - Fix staging and deploying of system prxs
#jira UE-29801
Change 2952120 on 2016/04/21 by Rolando.Caloca
UE4.12 - vk - Move descriptor allocation to BSS
#jira UE-21840
Change 2952027 on 2016/04/21 by Rolando.Caloca
UE4.12 - vk - Fix descriptor sets lifetimes
- Fix crash with null texture
#jira UE-28140
Change 2951890 on 2016/04/21 by Eric.Newman
Updating locked common dependencies for OrionService
#jira OP-3640
Change 2951863 on 2016/04/21 by Eric.Newman
Updating locked dependencies for UE 4.12 OrionService
#jira OP-3640
Change 2951852 on 2016/04/21 by Owen.Stupka
Fixed meteors destruct location
#jira UE-29714
Change 2951739 on 2016/04/21 by Max.Chen
Sequencer: Follow up for integral keys.
#jira UE-29791
Change 2951717 on 2016/04/21 by Rolando.Caloca
UE4.12 - Fix shader platform names
#jira UE-28140
Change 2951714 on 2016/04/21 by Max.Chen
Sequencer: Fix setting a key if it already exists at the current time.
#jira UE-29791
Change 2951708 on 2016/04/21 by Rolando.Caloca
UE4.12 - vk - Separate upload cmd buffer
#jira UE-28140
Change 2951653 on 2016/04/21 by Marc.Audy
If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future
Remove now unused bRenameRequired parameter
#jira UE-29612
Change 2951619 on 2016/04/21 by Chris.Babcock
Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR
#jira UE-29786
#ue4
Change 2951603 on 2016/04/21 by Cody.Albert
#jira UE-29785
Revert Github readme page back to original
Change 2951599 on 2016/04/21 by Ryan.Gerleve
Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter)
#jira UE-29778
Change 2951558 on 2016/04/21 by Chris.Babcock
Always rename destroyed child actor
#jira UE-29709
#ue4
Change 2951552 on 2016/04/21 by James.Golding
Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision'
#jira UE-29303
Change 2951539 on 2016/04/21 by Allan.Bentham
Use screenuv for distortion with ES2/31.
#jira UE-29777
Change 2951535 on 2016/04/21 by Max.Chen
We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded.
#jira UE-29711
Change 2951521 on 2016/04/21 by Taizyd.Korambayil
#jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM
Change 2951492 on 2016/04/21 by Jeremiah.Waldron
Fix for Android IAP information reporting back incorrectly.
#jira UE-29776
Change 2951486 on 2016/04/21 by Taizyd.Korambayil
#jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map
Change 2951450 on 2016/04/21 by Gareth.Martin
Fix non-editor build
#jira UE-16525
Change 2951380 on 2016/04/21 by Gareth.Martin
Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa
#jira UE-16525
Change 2951357 on 2016/04/21 by Richard.TalbotWatkin
Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed.
#jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field
Change 2951352 on 2016/04/21 by Richard.TalbotWatkin
Added slider bar thickness as a new property in FSliderStyle.
#jira UE-19173 - SSlider is not fully stylable
Change 2951344 on 2016/04/21 by Gareth.Martin
Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker.
- Also fixes landscape spline lines not showing up on a flat landscape
#jira UE-25114
Change 2951326 on 2016/04/21 by Taizyd.Korambayil
#jira UE-28477 Resaving Maps
Change 2951271 on 2016/04/21 by Jamie.Dale
Fixed a crash when pasting a path containing a class into the asset view of the Content Browser
#jira UE-29616
Change 2951237 on 2016/04/21 by Jack.Porter
Fix black screen on PC due to planar reflections
#jira UE-29664
Change 2951184 on 2016/04/21 by Jamie.Dale
Fixed crash in FCurveStructCustomization when no objects were selected for editing
#jira UE-29638
Change 2951177 on 2016/04/21 by Ben.Marsh
Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858.
#jira UE-29757
Change 2951171 on 2016/04/21 by Matthew.Griffin
Fixed issue with Rebuild not working when installed in Program Files (x86)
The brackets seem to cause lots of problems in combination with the if/else ones
#jira UE-29648
Change 2951163 on 2016/04/21 by Jamie.Dale
Changed the text customization to use the property handle functions to get/set the text value
That ensures that it both transacts and notifies correctly.
Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API:
- FPropertyHandleBase::SetPerObjectValue
- FPropertyHandleBase::GetPerObjectValue
- FPropertyHandleBase::GetNumPerObjectValues
These replace the need to cache the raw pointers.
#jira UE-20223
Change 2951103 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951101 on 2016/04/21 by Allan.Bentham
Enable mobile HQ DoF
#jira UE-29765
Change 2951097 on 2016/04/21 by Thomas.Sarkanen
Standalone games now benefit from parallel anim update if possible
We now simply use the fact we want root motion to determine if we need to run immediately.
#jira UE-29431 - Parallel anim update does not work in non-multiplayer games
Change 2951036 on 2016/04/21 by Lee.Clark
PS4 - Fix WinDualShock working with VS2015
#jira UE-29088
Change 2951034 on 2016/04/21 by Jack.Porter
ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues
#jira UE-29666
Change 2950995 on 2016/04/21 by Jack.Porter
ProtoStar - delete unneeded maps
#jira UE-29665
Change 2950787 on 2016/04/20 by Nick.Darnell
SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd.
#jira UE-29749
#codeview Ben.Marsh
Change 2950786 on 2016/04/20 by Nick.Darnell
Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference.
#jira UE-29749
Change 2950769 on 2016/04/20 by Ben.Marsh
Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release.
Change 2950724 on 2016/04/20 by Lina.Halper
Support for negative scaling for mirroring
- Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12
#jira: UE-27453
Change 2950293 on 2016/04/20 by andrew.porter
Correcting sequencer test content
#jira UE-29618
Change 2950283 on 2016/04/20 by Marc.Audy
Don't route FlushPressedKeys on PIE shut down
#jira UE-28734
Change 2950071 on 2016/04/20 by mason.seay
Adjusted translation retargeting on head bone of UE4_Mannequin
-Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted.
#jira UE-29618
Change 2950049 on 2016/04/20 by Mark.Satterthwaite
Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006.
#jira UE-29006
#jira UE-29140
Change 2949977 on 2016/04/20 by Max.Chen
Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor.
#jira UE-29660
Change 2949836 on 2016/04/20 by Gareth.Martin
Fix landscape components flickering when perfectly flat (bounds size is 0)
- This often happens for newly created landscapes
#jira UE-29262
Change 2949768 on 2016/04/20 by Thomas.Sarkanen
Moving parent & grouped child actors now does not result in deltas being applied twice
Grouping and attachment now interact correctly.
Also fixed up according to coding standard.
Discovered and proposed by David.Bliss2 (Rocksteady).
#jira UE-29233 - Delta applied twice when moving parent and grouped child actors
From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html
Change 2949759 on 2016/04/20 by Thomas.Sarkanen
Fix split pins not working as anim graph node inputs
Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier.
#jira UE-12326 - Splitting a struct in an Anim Blueprint does not work
Change 2949739 on 2016/04/20 by Thomas.Sarkanen
Fix layered bone per blend accessed from a struct in the fast-path
Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call).
Covered struct source->array dest case.
Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data.
#jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct.
Change 2949715 on 2016/04/20 by Max.Chen
Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position)
#jira UE-29661
Change 2949712 on 2016/04/20 by Taizyd.Korambayil
#jira UE-28544 adjusted Player crosshair to be centered
Change 2949710 on 2016/04/20 by Alexis.Matte
#jira UE-29477
Pixel Inspector, UI get polish and adding "scene color" inspect property
Change 2949706 on 2016/04/20 by Alexis.Matte
#jira UE-29475
#jira UE-29476
Favorite allow all UProperty to be favorite (the FStruct is now supported)
Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite
Change 2949691 on 2016/04/20 by Mark.Satterthwaite
Fix typo from previous commit - retain not release...
#jira UE-29140
Change 2949690 on 2016/04/20 by Mark.Satterthwaite
Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal.
#jira UE-29140
Change 2949616 on 2016/04/20 by Marc.Audy
'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12
#jira UE-00000
Change 2949572 on 2016/04/20 by Jamie.Dale
Fixed crash undoing a text property changed caused by a null entry in the array
#jira UE-20223
Change 2949562 on 2016/04/20 by Alexis.Matte
#jira UE-29447
Fix the batch fbx import "not show options" dialog where some option can be different.
Change 2949560 on 2016/04/20 by Alexis.Matte
#jira UE-28898
Avoid importing multiple static mesh in the same package
Change 2949547 on 2016/04/20 by Mark.Satterthwaite
You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically.
#jira UE-29672
Change 2949443 on 2016/04/20 by Allan.Bentham
Disable sRGB textures when ES31 feature level is set.
Only use vk's sRGB formats when feature level > ES3_1
#jira UE-29623
Change 2949428 on 2016/04/20 by Allan.Bentham
Back out changelist 2949405
#jira UE-29623
Change 2949405 on 2016/04/20 by Allan.Bentham
Disable sRGB textures when ES31 feature level is set.
Only use vk's sRGB formats when feature level > ES3_1
#jira UE-29623
Merging using Dev-Mobile_->_Release-4.12
Change 2949391 on 2016/04/20 by Richard.TalbotWatkin
PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client.
#jira UE-26037 - Cumbersome workflow when running PIE with 2 clients
#jira UE-26905 - First client window does not gain focus or mouse control when launching two clients
Change 2949389 on 2016/04/20 by Richard.TalbotWatkin
Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports.
#jira UE-29058 - Viewport settings are not saved after shutting down editor
Change 2949388 on 2016/04/20 by Richard.TalbotWatkin
Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport.
#jira UE-29257 - Auto import does not import assets
Change 2949203 on 2016/04/19 by Max.Chen
Sequencer: Fix spawnables not getting default tracks.
#jira UE-29644
Change 2949202 on 2016/04/19 by Max.Chen
Sequencer: Fix particles not firing on loop.
#jira UE-27881
Change 2949201 on 2016/04/19 by Max.Chen
Sequencer: Fix multiple labels support
#jira UE-26812
Change 2949200 on 2016/04/19 by Max.Chen
Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.
#jira UE-29516
Change 2949197 on 2016/04/19 by Max.Chen
Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest.
#jira UE-22228
Change 2949196 on 2016/04/19 by Max.Chen
Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up.
#jira UE-29657
Change 2949195 on 2016/04/19 by Max.Chen
MovieSceneCapture: Default image compression quality to 100 (rather than 75).
#jira UE-29657
Change 2949194 on 2016/04/19 by Max.Chen
Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion.
#jira UETOOL-467
Change 2949193 on 2016/04/19 by Max.Chen
Sequencer - Fix issues with level visibility.
+ Don't mark sub-levels as dirty when the track evaluates.
+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
+ Null check for when an objects world is null but the track is still evaluating.
+ Remove UnrealEd references.
#jira UE-25668
Change 2948990 on 2016/04/19 by Aaron.McLeran
#jira UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2948890 on 2016/04/19 by Jamie.Dale
Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists
#jira UE-28858
Change 2948860 on 2016/04/19 by Mike.Beach
Mirroring CL 2940334 (from Dev-Blueprints):
Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.)
#jira UE-28911
Change 2948857 on 2016/04/19 by Jamie.Dale
Added an Asset Localization context menu to the Content Browser
This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset.
#jira UE-29493
Change 2948854 on 2016/04/19 by Jamie.Dale
UAT now stages all project translation targets
#jira UE-20248
Change 2948831 on 2016/04/19 by Mike.Beach
Mirroring CL 2945994 (from Dev-Blueprints):
Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes).
#jira UE-29035
Change 2948825 on 2016/04/19 by Jamie.Dale
Fixed shadow warning
#jira UE-29212
Change 2948812 on 2016/04/19 by Marc.Audy
Gracefully handle failure to load configurable engine classes
#jira UE-26527
Change 2948791 on 2016/04/19 by Jamie.Dale
Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete
Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed
#jira UE-29494
#jira UE-28886
Change 2948761 on 2016/04/19 by Jamie.Dale
Sub-fonts are now only used when they contain the character to be rendered
#jira UE-29212
Change 2948718 on 2016/04/19 by Jamie.Dale
Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready
This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset).
#jira UE-29649
Change 2948717 on 2016/04/19 by Jamie.Dale
Removed the AssetRegistry's dependency on MessageLog
It was only there to add a category that was only ever used by the AssetTools module.
#jira UE-29649
Change 2948683 on 2016/04/19 by Phillip.Kavan
[UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes.
change summary:
- modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types.
#jira UE-18419
Change 2948681 on 2016/04/19 by Phillip.Kavan
[UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well.
change summary:
- added external linkage to UK2Node_GetClassDefaults::FindClassPin().
- added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h.
- added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl.
- modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected.
- modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types.
#jira UE-17794
Change 2948638 on 2016/04/19 by Lee.Clark
PS4 - Fix SDK compile warnings
#jira UE-29647
Change 2948401 on 2016/04/19 by Taizyd.Korambayil
#jira UE-29250 Revuilt Lighting for Landscapes Map
Change 2948398 on 2016/04/19 by Mark.Satterthwaite
Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame.
#jira UE-29170
Change 2948366 on 2016/04/19 by Taizyd.Korambayil
#jira UE-29109 Replaced Box Mesh with BSP Floor
Change 2948360 on 2016/04/19 by Maciej.Mroz
merged from Dev-Blueprints 2947488
#jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial
#jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing
#jira UE-29559
- fixed private enum access
- fixed private bitfield access
- removed forced PostLoad
- add BodyInstance.FixupData call to fix ResponseChannels
- ignored RelativeLocation and RelativeRotation in converted root component
- fixed AttachToComponent (UE-29559)
Change 2948358 on 2016/04/19 by Maciej.Mroz
merged from Dev-Blueprints 2947953
#jira UE-29605 Wrong bullet trails in nativized ShowUp
Fixed USimpleConstructionScript::GetSceneRootComponentTemplate.
Change 2948357 on 2016/04/19 by Maciej.Mroz
merged from Dev-Blueprints 2947984
#jira UE-29374 Crash when hovering over Create Widget node in blueprints
Safe UK2Node_ConstructObjectFromClass::GetPinHoverText.
Change 2948353 on 2016/04/19 by Maciej.Mroz
merged from Dev-Blueprints 2948095
#jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile
"Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs"
Change 2948332 on 2016/04/19 by Benn.Gallagher
Fixed old pins being left as non-transactional
#jira UE-13801
Change 2948203 on 2016/04/19 by Lee.Clark
PS4 - Use SDK 3.508.031
#jira UEPLAT-1225
Change 2948168 on 2016/04/19 by mason.seay
Updating test content:
-Added Husk AI to level to test placed AI
-Updated Spawn Husk BP to destroy itself to prevent spawn spamming
#jira UE-29618
Change 2948153 on 2016/04/19 by Benn.Gallagher
Missed mesh update for Owen IK fix.
#jira UE-22540
Change 2948130 on 2016/04/19 by Benn.Gallagher
Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface.
#jira UE-22540
Change 2948117 on 2016/04/19 by Taizyd.Korambayil
#jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates
Change 2948063 on 2016/04/19 by Lina.Halper
- Anim composite notify change for better
- Fixed all nested anim notify
- Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12
#jira : UE-29101
Change 2948060 on 2016/04/19 by Lina.Halper
Fix for composite section metadata saving for montage
Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12
#jira : UE-29228
Change 2948029 on 2016/04/19 by Ben.Marsh
EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once.
Change 2947986 on 2016/04/19 by Benn.Gallagher
Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics.
#jira UE-27783
Change 2947976 on 2016/04/19 by Mark.Satterthwaite
Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring.
#jira UE-29006
Change 2947975 on 2016/04/19 by Mark.Satterthwaite
Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format.
#jira UE-29150
Change 2947679 on 2016/04/19 by Jack.Porter
Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK
#jira UE-29601
Change 2947657 on 2016/04/18 by Jack.Porter
Update protostar reflection capture contents
#jira UE-29600
Change 2947301 on 2016/04/18 by Ben.Marsh
EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference.
Change 2947263 on 2016/04/18 by Marc.Audy
Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12
Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient
#jira UE-29209
Change 2946984 on 2016/04/18 by Ben.Marsh
GUBP: Allow Ocean cooks in the release branch (fixes build startup failures)
Change 2946870 on 2016/04/18 by Ben.Marsh
Remaking CL 2946810 to fix compile error in ShooterGame editor.
Change 2946859 on 2016/04/18 by Ben.Marsh
GUBP: Don't exclude Ocean from builds in the release branch.
Change 2946847 on 2016/04/18 by Ben.Marsh
GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing.
Change 2946771 on 2016/04/18 by Ben.Marsh
EC: Correct initial agent type for release branches. Causing full branch syncs on all agents.
Change 2946641 on 2016/04/18 by Ben.Marsh
EC: Remove rogue comma causing branch definition parsing to fail.
Change 2946592 on 2016/04/18 by Ben.Marsh
EC: Adding branch definition for 4.12 release
#lockdown Nick.Penwarden
[CL 2962354 by Ben Marsh in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2932679 on 2016/04/04 by Martin.Mittring
remove hack/cvar that is not longer needed as we fixed the bug
#rb:Bob.Tellez
#code_review:Bob.Tellez
Change 2932681 on 2016/04/04 by Martin.Mittring
fixed cvars in consolevariables.ini can affect engine even if marked with cheat (no longer load consolevariables.ini in shipping and test), unified 3 code path, added testcase, cvars with cheat in ini file other than consolevariables.ini now trigger ensure, =on/off/true/false/.. works in all ini files,
added enure if non scalability setting are used in ScalabilityIni (get now ignored)
#rb:David.Hill
#code_review:Marcus.Wassmer, Michael.Noland
Change 2932719 on 2016/04/04 by Marcus.Wassmer
Merge 3 band SH back to DevRendering
#rb Daniel.Wright
Change 2932760 on 2016/04/04 by Zabir.Hoque
Migrating high resolution cubemaps for skylight and reflection probes.
#rb: Daniel.Wright
Change 2933121 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix free blocks not getting joined
- Fix compile issue
Change 2933122 on 2016/04/05 by Rolando.Caloca
DR - Do not shorten dumped shaders path
Change 2933126 on 2016/04/05 by Rolando.Caloca
DR - vk - Index Buffers using new resource management
Change 2933127 on 2016/04/05 by Rolando.Caloca
DR - vk - Extract multibuffer off index buffer
Change 2933131 on 2016/04/05 by Rolando.Caloca
DR - vk - Transition to vb's using mutlibuffer
Change 2933136 on 2016/04/05 by Rolando.Caloca
DR - vk - Change staging buffers to use resource allocation system
- Fix free block not getting joined
- Remove define
Change 2933140 on 2016/04/05 by Rolando.Caloca
DR - vk - 'static' textures now use resource mgmt
- Release free pages back to the OS
- Remove ensure
Change 2933152 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix aliasing granularity
- Fix renderpass end/copy buffer ensure
Change 2933155 on 2016/04/05 by Rolando.Caloca
DR - SCW - Fix for -directcompile to directly load file for preprocessor
Change 2933158 on 2016/04/05 by Rolando.Caloca
DR - hlslcc - Error on Metal if trying to R & W on RWTextures
- Fix indices on RW reads to be unsigned
#codereview Mark.Satterthwaite, Michael.Trepka
Change 2933169 on 2016/04/05 by Rolando.Caloca
DR - vk - Move header to public to match changes on DevMobile
Change 2933173 on 2016/04/05 by David.Hill
Deferred decal rendering with negative scale
#rb:Matrin.Mittring
#jira:UE-27389
Change 2933273 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix renderdoc markers
Change 2933274 on 2016/04/05 by Rolando.Caloca
DR - Support for -AttachDebugger
Change 2933316 on 2016/04/05 by Rolando.Caloca
DR - vk - Compile fix whene enabling define
Change 2933334 on 2016/04/05 by Rolando.Caloca
DR - Compile fix
#codereview Martin.Mittring
Change 2933805 on 2016/04/05 by Brian.Karis
Temporal AA dynamic antighosting.
Fixed DOF
Change 2933811 on 2016/04/05 by Brian.Karis
Fixed area light NaNs. Improvements to area lights. Horizen handling for wrap around.
Change 2933812 on 2016/04/05 by Brian.Karis
Fixed fresnel on SSS skin.
Change 2933813 on 2016/04/05 by Brian.Karis
Tessellation fix
Change 2933816 on 2016/04/05 by Brian.Karis
Improved forward shading support
[CL 2943241 by Gil Gribb in Main branch]
==========================
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]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2868448 on 2016/02/16 by Mark.Satterthwaite
Bring MetalRHI & MetalShaderFormat mostly up to Dev-Platform CL #2867146 to address JIRA UE-26181 and as the first part of addressing JIRA UE-23208. Only CL #2854142 has been omitted for compatibility with the 4.11 branch.
#jira UE-26181
Change 2868454 on 2016/02/16 by Mark.Satterthwaite
Shader changes necessary to properly fix Mobile Preview under Mac Metal (JIRA UE-23208) - Mac ES 3.1 doesn't support framebuffer fetch & is in fact a Mobile Emulation shader platform.
#jira UE-23208
Change 2868650 on 2016/02/16 by Matthew.Griffin
Allow Developer modules to be pre-compiled when the target is editor.
#jira UE-26802
Change 2868859 on 2016/02/16 by Nick.Whiting
Merging StereoPanorama fixes from Main to Release-4.11 (CL 2811839)
#jira UE-25066
Change 2868927 on 2016/02/16 by Mieszko.Zielinski
Fixed some regular-use crashes in LogVisualizer #UE4
#rb Lukasz.Furman
#jira UE-27003
Change 2868994 on 2016/02/16 by Lina.Halper
Fix refresh UI issue with remove joint
#jira : UE-26529
#rb: Martin.Wilson
Change 2868996 on 2016/02/16 by Lina.Halper
Fix node stop working when negative value of LODThreshold
#jira: UE-26828
#rb:Martin.Wilson
Change 2868998 on 2016/02/16 by Lina.Halper
Fix with crash when invalid index has entered
#jira : UE-26715
#rb : Martin.Wilson
Change 2869003 on 2016/02/16 by Ori.Cohen
- Fix thread safety issue when cloth child collision or environment collision is used.
- Fix cloth bounds growing when stale transform data is used.
#JIRA OR-14990
#rb James.Golding
Change 2869109 on 2016/02/16 by mason.seay
Updated test assets for Restitution testing
#jira UE-24473
Change 2869223 on 2016/02/16 by Taizyd.Korambayil
#jira UE-19083 Disabled LOD on SkySphere BP
Change 2869558 on 2016/02/16 by Dan.Oconnor
Conservative fix for crash that occurs when adding a weak object ptr to an array of object ptrs in a blueprint
#jira UE-25893
Change 2869891 on 2016/02/17 by Thomas.Sarkanen
Fix crash when re-compiling anim BPs that are dependencies of 'parent' Blueprints
Force a re-initialzation of nodes when initializing the whole anim instance. The bInitialized flag was intended as a runtime optimization - we assume our function will not change for the lifetime of the UAnimInstance. While parts of the graph will be re-initialized we dont need to re-acquire our UFunction ptrs (etc.) unless the whole instance is getting re-initialized.
#rb Martin.Wilson
#jira UE-26642 - Switch Skeletal Mesh node crashes the editor if the blueprint is compiled.
Change 2869956 on 2016/02/17 by Tim.Hobson
#Jira UE-26550 - Added three new icons for Arrow, Locked, and Unlocked per request from IanS.
Change 2869965 on 2016/02/17 by Gareth.Martin
Fix check() being hit when loading KiteDemo x1_y1 (and other old foliage maps)
#jira UE-26930
Change 2870007 on 2016/02/17 by Richard.TalbotWatkin
Merging from //UE4/Dev-Editor CL 2867609
Fixed auto-generation of unique object/package names when duplicating, so they generate the same names if they the source object was named the same as its package.
#jira UE-25769 - Crash when Copy+Pasting numbered umaps in the content browser
#RB Bob.Tellez
Change 2870072 on 2016/02/17 by Michael.Schoell
Level Blueprints will no longer preload newly created Blueprints that they reference when they are reloaded.
#jira UE-23637 - Use of Blueprint delegate in sub-level script causes errors on startup
Change 2870087 on 2016/02/17 by Matthew.Griffin
Removed Android and IOS from list of platforms to build only for UnrealMatch3, so that they can be cooked and packaged correctly.
Change 2870141 on 2016/02/17 by mason.seay
Test content for Copy Pose From Mesh
#jira UE-24473
Change 2870195 on 2016/02/17 by Mieszko.Zielinski
PR #2052: Added missing Super::BeginPlay() (Contributed by Skylonxe)
#jira UE-26915
Change 2870325 on 2016/02/17 by Steve.Robb
[CL 2882948 by Matthew Griffin in Main branch]
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.
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2719147 on 2015/10/07 by Mark.Satterthwaite
Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.
Change 2719182 on 2015/10/07 by Mark.Satterthwaite
Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.
Change 2719185 on 2015/10/07 by Mark.Satterthwaite
Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.
Change 2719434 on 2015/10/07 by Mark.Satterthwaite
Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.
Change 2724764 on 2015/10/12 by Josh.Adams
[Initial AppleTV support]
Merging //depot/YakBranch/... to //UE4/Dev-Platform/...
Change 2726266 on 2015/10/13 by Lee.Clark
PS4 - Calc reserve size required for DMA copy when using unsafe command buffers
Change 2726401 on 2015/10/13 by Mark.Satterthwaite
Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
#jira UE-15228
Change 2726421 on 2015/10/13 by Lee.Clark
PS4 - Don't try to clear invalid targets
Change 2727040 on 2015/10/13 by Michael.Trepka
Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72
Change 2729783 on 2015/10/15 by Keith.Judge
Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.
Change 2729847 on 2015/10/15 by Mark.Satterthwaite
Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
#jira UE-21992
Change 2729865 on 2015/10/15 by Keith.Judge
Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.
Change 2729897 on 2015/10/15 by Keith.Judge
Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.
Change 2729972 on 2015/10/15 by Keith.Judge
Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.
This should be marginally quicker as it stops a double call to ClearState().
Change 2731503 on 2015/10/16 by Keith.Judge
Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2731928 on 2015/10/16 by Michael.Trepka
PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)
Change 2731934 on 2015/10/16 by Michael.Trepka
PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)
Change 2732018 on 2015/10/16 by Mark.Satterthwaite
Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.
Change 2732365 on 2015/10/16 by Josh.Adams
- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)
Change 2733170 on 2015/10/18 by Terence.Burns
Fix for Android IAP query not returning entire inventory.
Change 2733174 on 2015/10/18 by Terence.Burns
Fix Movie player issue where wait for movie to finish isnt being respected.
Seems a stray bUserCanceled event flag was causing this not to be observed.
Added some verbose logging to apple movie player.
Change 2733488 on 2015/10/19 by Mark.Satterthwaite
Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.
Change 2735226 on 2015/10/20 by Mark.Satterthwaite
Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
#jira UE-21214
#jira UE-19913
Change 2736722 on 2015/10/21 by Daniel.Lamb
Improved performance of cooking stats system.
Change 2737172 on 2015/10/21 by Daniel.Lamb
Improved cooking stats performance for ddc stats.
CL 2704794 2704931 2704948 2704962 2705238 2706353 2700643 2705458
Uniform Buffer layout name
and
more debug info for this and other bugs: OR-7159 CRASH: Client crashed at start of match in D3D11Commands.cpp
Adding OptionalData (key value pairs) to the shaders (to put shader name into the shader code for better debugging), affects all RHI, invalidate DDC key for all shaders, cleanup existing code (was adding 0/1/5 bytes and had to compensate in many areas)
OptionalData:
key is a char, value is up to 255 bytes, up to 64K in total
#platformnotify Josh.Adams
[CL 2706923 by Martin Mittring in Main branch]