#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 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3276199 on 2017/01/27 by Rolando.Caloca
DR - Typo fixes
Change 3277152 on 2017/01/30 by Chris.Bunner
Fixed typos in various engine material functions (contributed by Luos and KVogler).
Change 3277700 on 2017/01/30 by Olaf.Piesche
#jira UE-38060 - inconsistent ribbon trails
When advancing source particle index, make sure it's not already in use by another trail
Change 3278069 on 2017/01/30 by Daniel.Wright
[Copy] Added LODDistanceFactor to SceneCaptureComponent
* Can be used to make scene captures and planar reflections much cheaper to render if the scene has good LODs setup
Change 3278094 on 2017/01/30 by Daniel.Wright
[Copy] Scene color resolves are restricted to the views. Fixes inefficiency with adaptive pixel density where the views don't match the view family size.
Change 3278140 on 2017/01/30 by Daniel.Wright
[Copy] When using a full prepass, the base pass no longer writes depth.
* Saves .3ms of SceneDepthResolve on 970 GTX with MSAA. Also allows masked materials to get EarlyZ in the base pass.
* Fixed primitives with bUseAsOccluder=false being excluded from a full depth pass in static draw lists
* Added 'r.BasePassWriteDepthEvenWithFullPrepass' for verifying that the base pass depths match the prepass depths
Change 3278166 on 2017/01/30 by Daniel.Wright
[Copy] Quad overdraw viewmode works in the forward renderer
Change 3279100 on 2017/01/31 by Chris.Bunner
CVar null checks.
#jira UE-41096
Change 3279409 on 2017/01/31 by Rolando.Caloca
DR - vk - Fix for validation
Change 3279624 on 2017/01/31 by Rolando.Caloca
DR - Move defines out of cs into h
#fyi Arne.Schober,Ben.Woodhouse
Change 3279895 on 2017/01/31 by Ben.Salem
Modified PerformanceMonitor to take all of its config from defaultgame.ini
#tests Ran several tests successfully.
Change 3279906 on 2017/01/31 by Ben.Salem
Had a weird spurious declare in the config parsing function. Fixed it.
#tests compiled.
Change 3280451 on 2017/01/31 by Arne.Schober
Fix Dx12 in content examples where M_Light_Bulb_Glass taking a lot of resources (9 CBVs)
Change 3281592 on 2017/02/01 by Mark.Satterthwaite
Update Metal SRV support to include structured-buffers which are now used by DistanceField rendering systems.
Change 3281850 on 2017/02/01 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3281582 (//UE4/Dev-Rendering)
Change 3282353 on 2017/02/01 by Benjamin.Hyder
built lighting for QA-LightsStatic
Change 3282549 on 2017/02/01 by Arne.Schober
Fix DX12 crash on SkinMaterial
Change 3282637 on 2017/02/02 by Marcus.Wassmer
Probably fix non-unity build
Change 3283125 on 2017/02/02 by Marcus.Wassmer
Fix linux case sensitivity.
[CL 3284689 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3226413 on 2016/12/07 by Jeff.Farris
Fixed potential crash in USkeletalMeshComponent::InitArticulated().
Change 3226257 on 2016/12/07 by Mike.Beach
Mirroring CL 3219381 from Dev-Blueprints
Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast).
#jira UE-39272
Change 3226147 on 2016/12/07 by Aaron.McLeran
Implementing UE-39421 fix into odin
Change 3225906 on 2016/12/07 by Jeff.Farris
Merge-copied 3216144 from Dev-Framework to Odin (Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.)
Change 3225097 on 2016/12/07 by Zak.Middleton
#odin-ue4 - Fix GameEngine.cpp compile error (FMessageDialog not declared).
Change 3225050 on 2016/12/07 by Jeff.Farris
Added forward declaration to IOculusRiftPlugin.h to fix compile error in Test builds.
Change 3224757 on 2016/12/07 by Ben.Marsh
Merge CL 3224750 from //UE4/Main: Removing -forcelogflush parameter from UAT invocations of the editor to improve cook times.
Change 3224451 on 2016/12/06 by Max.Chen
Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval.
Copy from Dev-Sequencer
#jira UE-39419
Change 3223856 on 2016/12/06 by Guillaume.Abadie
Fixes merge collision of Base Pass's selective outputs and MSAA alpha to coverage
Change 3223673 on 2016/12/06 by Zak.Middleton
#odin-ue4 - Fixed crash when opening data table assets and working with some types of nodes in the graph editor.
Merged fixes from Dev-Editor: CL 3156326, 3172078, 3187276, 3210983.
Change 3223381 on 2016/12/06 by Nick.Whiting
Merging using UE4_MAIN_to_ODIN @ CL 3221533
Change 3223325 on 2016/12/06 by Alex.Delesky
Plugin wizard definition for creating Odin game mods. Currently this just creates an empty Content Only plugin.
This also enables the mod creation window to be shown on editor startup (can be toggled off) or invoked via a toolbar button.
Change 3221825 on 2016/12/05 by Nick.Whiting
Updating VCToolChain.cs file, which was skipped in last integration
Change 3221793 on 2016/12/05 by Zak.Middleton
#odin - Back out changelist 3218159. Going to move to trace by profile in the future instead.
Change 3219668 on 2016/12/02 by Alex.Delesky
Partially duplicating CL 3185126 into Odin:
-Fixes an issue where adding a new plugin could unnecesarily added to the additional plugin directory, which can cause build failures.
Change 3219558 on 2016/12/02 by Zak.Middleton
#odin - Fix adapative pixel density crash (again). INI settings are dumb and locally saved INIs ignore the change to the base I pushed yesterday, so pushing a code fix instead. Wrapped in "DO NOT MERGE" since this crash is fixed in Dev-VR.
Change 3218953 on 2016/12/02 by Alex.Delesky
Back out changelist 3216159 - Reintroducing Plugin Wizard Definition for defining New Plugin Wizard functionality
Change 3218822 on 2016/12/02 by Matthew.Griffin
Remove modding from folder paths
Add logging for delete task
Delete more temp files from Copy and DDC process
Change 3218410 on 2016/12/01 by Zak.Middleton
#ue4-odin - Fix crash when unloading levels or exiting the editor when objects placed in levels had a MID set in construction scripts.
CLs from Dev-Editor: 3203739, 3205814
Change 3218277 on 2016/12/01 by Zak.Middleton
#ue4-odin - Fixed crash when opening data table assets.
Merged small fixes from Dev-Editor: CL 3156326, 3172078, 3187276.
#jira ODIN-2096
Change 3218178 on 2016/12/01 by Jeff.Farris
Fix for bad merge in InheritableComponentHandler (discovered via shadow var warning)
Change 3218159 on 2016/12/01 by Zak.Middleton
#ue4-odin - Wrap blueprint trace functions using trace channels to a generic helper that uses any collision channel. Before we decide whether to expose object channel or general collision channel functions to blueprints, this allows games to at least build off the general functions.
Change 3216502 on 2016/11/30 by Nick.Whiting
Missed files from merge
Change 3216490 on 2016/11/30 by Nick.Whiting
Merge Main -> Odin, up to CL 3202946
Change 3216159 on 2016/11/30 by Zak.Middleton
#odin - Back out changelist 3216005
Change 3216005 on 2016/11/30 by Alex.Delesky
Adding the IPluginWizardDefinition interface, which is used to determine the functionality of the new plugin wizard along with what kind of plugins can actually be created. This can be used to change the behavior of the plugin wizard to create new game mods.
Change 3215329 on 2016/11/30 by Jeff.Farris
Re-expose collision settings on EQSTestingPawn so users can make the test pawn agent dimensions match the pawn they are trying to simulate.
Change 3213875 on 2016/11/29 by Jeff.Farris
Turned off collision on EQSRenderingComponent for EQSTestingPawns. Fixes issue with bogus agent dimensions.
Change 3213027 on 2016/11/29 by Matthew.Griffin
Added Modding Build steps to copy everything needed for an installed editor build
Added BuildCommand to run GenerateDistillFileSetsCommandlet and copy the resulting file list to another location
Fix for APEX .pdb paths
Change 3206638 on 2016/11/21 by Dan.Oconnor
Fix for compile error, digging out authorative class from trash class
Change 3206175 on 2016/11/21 by Nick.Atamas
#umg exposed support for explicit wrap width in WrapBox.
Change 3204658 on 2016/11/18 by Alan.Villani
#odin Wiring up new intro cinematic to game flow.
Change 3201200 on 2016/11/16 by Alan.Villani
#odin Spectator/Leaderboards: Added console var vr.bAllowSpectatorTexture to enable/disable the display of the spectator texture. Also enabling spectator panel and leaderboards with this change.
Change 3201064 on 2016/11/16 by Wyeth.Johnson
Support new billboards
Change 3199357 on 2016/11/15 by Alan.Villani
#odin OnlineSubsystemOculus: Removing logging now that problem has been fixed.
Change 3199302 on 2016/11/15 by Alan.Villani
#odin OnlineSubsystemOculus: Skip reinit if not a successful init in ovr_ResetInitAndContext(). Also added logging to shutdown.
Change 3198947 on 2016/11/15 by Alan.Villani
#odin Spectator/Leaderboards: Reinstating CL 3197812 with fix to make InitWithWindowsPlatform() return warnings instead of errors.
Change 3198803 on 2016/11/15 by Jeff.Farris
Copied CL 3198691 frojm Dev-Sequencer (Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks.)
Change 3198525 on 2016/11/15 by Alan.Villani
#odin ODIN-1758. Spectator/Leaderboards: Back out changelist 3197812. This change was causing the automated packaged build to fail. Since the root cause hasn't been found, reverting the change.
Change 3197909 on 2016/11/15 by Alan.Villani
#odin OnlineSubsystemOculus: Fix for linking issue with Odin Monolithics build.
Change 3197812 on 2016/11/14 by Alan.Villani
#odin Spectator and leaderboard code support:
Support for enhanced oculus leaderboard functionality. Player's score is uploaded on FinishLevel(). Added delegate function to allow Rift render code to render an additional passed in texture - this is used to display spectator information in the mirrored window. GetMissionRowName() can now return the row name for the intro mission.
This is only code support. Blueprint support to follow.
Change 3196940 on 2016/11/14 by Nick.Whiting
Fix for include path
Change 3196897 on 2016/11/14 by Nick.Whiting
Integrating IKinema plugin. Note that there are some deprecation warnings that have not been fixed up because of the refactoring. We're going to avoid fixing that up for now, because it's a large refactor, and the plugin is only needed for this week.
Change 3194897 on 2016/11/11 by Zak.Middleton
#ue4 - (Odin) -- Downgrade warning log spam when sweeping skeletal mesh components.
Change 3194799 on 2016/11/11 by Nick.Atamas
Added better normals for curved WidgetComponent.
Change 3194697 on 2016/11/11 by Chris.Bunner
Duplicated CL 3194665 from Dev-Rendering: Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194383 on 2016/11/11 by Zak.Middleton
#ue4 - (Odin) - Avoid calling ComponentOverlapComponent() when handling overlap checks if either component is a SkeletalMeshComponent. That function returns false for those, however a normal global overlap check would return a valid result.
Also elevated warnings (from log) when trying to use above function with SkeletalMeshComponents.
Change 3194380 on 2016/11/11 by Zak.Middleton
#ue4 - (Odin) - UPrimitiveComponent::GetCollisionEnabled() checks the owner Actor enable collision setting. Handles cases where the BodyInstance doesn't have physics state.
Also merge CL 3136709 to fix overlap events spam.
Change 3192616 on 2016/11/09 by Zak.Middleton
#odin - Jump arcs only draw in editor if Navigation is shown, or when selected in editor.
Change 3192310 on 2016/11/09 by Daniel.Wright
[Copy] Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3191042 on 2016/11/08 by Nick.Atamas
#slate/umg
Added SetIsExapanded_Animated() method to SExpandableArea.
Added anim length to ExpandableArea's widget style.
Change 3190411 on 2016/11/08 by Guillaume.Abadie
Adds some randomness in particul collisions.
Change 3186455 on 2016/11/03 by Stanley.Hayes
Fixed Tangents the mesh generation of Widget Component, now works with Bump Offset! -- The Impl for non-planar widgets is wrong but works as a temp fix
Change 3186335 on 2016/11/03 by Alan.Villani
#odin Oculus Input:
Fix for haptic feedback not processing unless both touch controllers are active.
Change 3184215 on 2016/11/02 by Daniel.Wright
Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only
Change 3182542 on 2016/11/01 by Nick.Atamas
Applied feedback after code review:
- Fixed bug with incorrectly assigned LocalHitLocation
- PerformTrace is now const
- Clarified comments.
Potentially fixed jira ODIN-1590, pending verification.
Change 3181845 on 2016/11/01 by Nick.Atamas
Details panel filters now show a distinct visual state (yellow highlight) when a filter is active.
https://jira.it.epicgames.net/browse/UE-11088
Change 3179037 on 2016/10/28 by Zak.Middleton
#ue4 - (Odin) - Avoid crash in PropertyChangeListener when WeakObjectPtr goes null. Prevent passing null objects in array to delegates that don't null check the elements. Repro steps still unclear, adding ensure() to catch it for more info.
Change 3177127 on 2016/10/27 by Alan.Villani
#odin Menu Shell:
Put in cvar to allow disabling of haptics.
Change 3174582 on 2016/10/26 by Zak.Middleton
#ue4 - Changed Actor::GetForwardVector, GetUpVector, and GetRightVector to just wrap to the FQuat functions. These use inline constants rather than a memory fetch to the static FVector::ForwardVector etc, so the multiplies are better optimized in-place by the compiler (ie with constant folding).
Change 3174401 on 2016/10/25 by Maciej.Mroz
In nativized code Nullptr is always casted to UObject type.
#jira ODIN-1560
Change 3173310 on 2016/10/25 by Guillaume.Abadie
Fix a bug in the forward shading particule collision hack using ddx/ddy to compute the normal and implement an accurate way of compute the normal requiering two addtional scene depth buffer fetches for neighboorhing pixels and use it as default.
Change 3172997 on 2016/10/24 by Nick.Atamas
Cylindrical Widget - First Pass Support.
Change 3172707 on 2016/10/24 by Nick.Whiting
Integrating fix for haptic effects with sound waves crashing when no sound wave is loaded.
Change 3172167 on 2016/10/24 by Jeff.Farris
Merged 3120587 from Dev-Sequencer to Odin (Fbx Export: Fix double transforms on an exported mesh.)
Change 3170221 on 2016/10/21 by Zak.Middleton
#ue4 - Fix projectiles and characters not moving at all when frame delta time is very low (time dilation is very low, framerate is very high, or a combination of both).
Change 3170036 on 2016/10/20 by Zak.Middleton
#ue4 - Make Ragdoll collision profile ignore Visibility channel (to match CharacterMesh collision profile).
Change 3169728 on 2016/10/20 by Zak.Middleton
#ue4 - Fix comment.
Change 3169727 on 2016/10/20 by Zak.Middleton
#ue4 - Fix spacing/indentation.
Change 3169277 on 2016/10/20 by Zak.Middleton
#ue4 - Lower default simulations per second in PredictProjectilePath. Now that it is more accurate (after CL 3124174), this will still maintain quality with better performance.
Change 3169272 on 2016/10/20 by Zak.Middleton
#ue4 - Change some array Reset() calls back to Empty(), since blueprints typically keep these arrays around forever and we don't want them to stay large.
Change 3168157 on 2016/10/19 by Jeff.Farris
Merging 3168079 from Dev-Framework to Odin (Fix timing issue that causes snapshotpose to t-pose.)
Change 3167894 on 2016/10/19 by Chris.Bunner
Updated tooltip comment.
Change 3167569 on 2016/10/19 by Jeff.Farris
#engine Fixed issue with cine camera component where blueprint-accessible FOV data could be incorrect in some circumstances
Change 3166950 on 2016/10/18 by Zak.Middleton
#ue4 - Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656.
Change 3166807 on 2016/10/18 by Zak.Middleton
#ue4 - Make all GameplayStatics functions take const WorldContextObjects, so they are more usable from C++.
Change 3166540 on 2016/10/18 by Jeff.Farris
Merging 3164818 from Dev-Framework to Odin (Added a pose snapshot feature that allows users to convert an existing skeletal mesh pose into a node inside the anim blueprint. This is useful for things like getup from ragdoll.)
Change 3166323 on 2016/10/18 by Jeff.Farris
#engine Fixed issue where Navlink smartlinks wouldn't respect the Direction property proprely.
Change 3163415 on 2016/10/14 by Chris.Bunner
Allow surface actor particles to inherit UV coordinates through the dynamic parameter struct.
Change 3162716 on 2016/10/13 by Jeff.Farris
#engine Made UPathFollowingComponent::HasReachedCurrentTarget() virtual
Change 3161602 on 2016/10/13 by Jeff.Farris
#engine removed a comment I left in
Change 3161037 on 2016/10/12 by Alan.Villani
#odin Loading Screens:
Modified AsyncLoadingSplash to use platform specific max layer number.
Change 3160690 on 2016/10/12 by Jeff.Farris
#engine Added PathFollowingComponent::bIsDecelerating to know when AI is in its "decelerate at the end of the path" state
Change 3160686 on 2016/10/12 by Jeff.Farris
#engine Fixed comment on NavMovementComponent::bUseAccelerationForPaths
Change 3160200 on 2016/10/12 by Zak.Middleton
#odin - Added Odin versions of Sphere, Capsule, Box trace functions taking any trace channel.
Change 3156847 on 2016/10/10 by Maciej.Mroz
#jira ODIN-1345
In nativized code, value of output array parameter is reset before the funtion, that will fill the parameter, is called. The same mechanism is already used by bytecode comiler.
Change 3155495 on 2016/10/07 by Zak.Middleton
#ue4 - RootComponent fixup in AActor::PostLoadSubojects should handle constructors that also try to fix up the old root component on their own.
Additionally we should attach the old root component to the new one, otherwise it has no parent.
Change 3154962 on 2016/10/07 by Chris.Bunner
Duplicating CL 3148934, 3148994 from Dev-Rendering - Added pre-skinned local position material graph node, vertex shader only.
Change 3154255 on 2016/10/06 by Zak.Middleton
#ue4 - Add AIController to the delegate for move completion for blueprint "AI Move To Location or Actor" nodes, so you can know which AI finishes the move.
Change 3154217 on 2016/10/06 by Mike.Beach
Backing out changelist 3146883, as it was causing properties to clear on load (in Gun_Shotgun/BP_RightHand).
Change 3154199 on 2016/10/06 by Zak.Middleton
#ue4 - Inline a few simple functions in UKismetSystemLibrary for performance in nativized builds.
Change 3153427 on 2016/10/06 by Jeff.Farris
Updated Oculus AppID to the full game ID
Change 3148205 on 2016/10/02 by Zak.Middleton
#ue4 - Perf: Add simple path for UPrimitiveComponent::UpdatePhysicsVolume() when there are no physics volumes placed in a level. Avoid checking overlapping components for any volumes at all.
Change 3148089 on 2016/10/01 by Phillip.Kavan
Merging in CLs 3148022 and 3148033 from //UE4/Dev-Blueprints/...
Note: These were dependent on the following additional CLs, which have also been merged in:
=> 3081010,3116021,3123581,3131318,3132348,3133072,3133817,3137800,3137851
Change 3148054 on 2016/10/01 by Nick.Whiting
Adding much smaller footprint entitlement check
Change 3147910 on 2016/10/01 by Nick.Whiting
Back out changelist 3147807
Change 3147909 on 2016/10/01 by Nick.Whiting
Back out changelist 3147787
Change 3147810 on 2016/09/30 by Zak.Middleton
#odin - Fix "Delay" nodes in macros not working correctly. This made simultaneous instances of our "UndilatedDelay" and "0-1 Lerp" macros incorrect.
(Mirror CL 3119502 from Dev-Blueprints)
Change 3147807 on 2016/09/30 by Nick.Whiting
Blueprint cyclic dependency fixes, submitted on behalf of DanO.
Change 3147787 on 2016/09/30 by Nick.Whiting
Adding Oculus Entitlement check for Odin
Change 3147732 on 2016/09/30 by Daniel.Wright
From Guillaume: Skip ClearStencilFromBasePass by using a single bit of stencil as a sandbox bit. This requires all passes that use stencil to setup a proper read / write mask, as other stencil bits will be non-zero. Saves .14ms
Change 3147285 on 2016/09/30 by Dan.Oconnor
Back out changelist 3147258
Introduced "Detaching from existing linker" crash
Change 3147258 on 2016/09/30 by Dan.Oconnor
Making sure we defer objects that have unserialized archetypes
Change 3146985 on 2016/09/30 by Daniel.Wright
Skip Prepass ResolveSceneDepthTexture if there's no way decals or shadows will use it, since there's another resolve after the base pass. Saves .1ms in the planar reflection pass.
Change 3146883 on 2016/09/30 by Dan.Oconnor
Fix for component data getting lost on load. Two primary causes:
1. Loading component, then loading its template and reinitializing it from parent
2. Discarding inheritable component handler on load because it 'matched' the unloaded super (or it was unloaded and matched a loaded super, or both of them weren't yet loaded and they matched)
Change 3145504 on 2016/09/29 by Daniel.Wright
Capsule indirect shadows are now affected by DynamicShadows showflag
Change 3145416 on 2016/09/29 by Wyeth.Johnson
optimized vector to radial value to use atan2fast. Small polish to weapon available indicators, slightly smaller, radial res in, get brighter right before pickup to match the glow transition
Change 3144359 on 2016/09/28 by Zak.Middleton
#ue4 - Add IsPointInBox() and IsPointInBoxWithTransform() to KismetMathLibrary.
Change 3144302 on 2016/09/28 by Daniel.Wright
New SceneCapture functions for managing the ShowOnly list: RemoveShowOnlyComponent, RemoveShowOnlyActorComponents, ClearShowOnlyComponents
Change 3144210 on 2016/09/28 by Daniel.Wright
Manual copy - Shadow stencil optimisation from Ben Woodhouse with cvar (enabled by default). Saves .2ms in Odin.
Change 3144208 on 2016/09/28 by Daniel.Wright
Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970
Change 3143778 on 2016/09/28 by Ryan.Vance
Disabling motion blur scale behavior. We want the motion blur scale to be consistent regardless of time dilation.
Cleaning up the velocity bias change made yesterday for odin, need to ensure it doesn't make it back to main as it will break TAA.
Change 3143728 on 2016/09/28 by Jeff.Farris
Made AIController::MoveTo virtual
Change 3142740 on 2016/09/27 by Nick.Whiting
Fix for dynamic object velocity rendering not working. MSAA was breaking it, needed to add a bias in the VelocityShader in order to pass depth tests
Change 3142665 on 2016/09/27 by Ryan.Vance
Fixing incorrect uniform/buffer references for passes that aren't drawn with ISR when ISR is turned when using forward.
Change 3142488 on 2016/09/27 by Zak.Middleton
#ue4 - Expose Character::MovementModeChangedDelegate to blueprints. Fix category on OnReachedJumpApex event.
Change 3142360 on 2016/09/27 by Frank.Fella
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Change 3142204 on 2016/09/27 by Zak.Middleton
#odin - Nav jump links update their nav data in realtime as the start and end points are moved. Still need to color the predicted path based on the nav data.
Change 3141695 on 2016/09/27 by Guillaume.Abadie
Fixes depth buffer collision on GPU particle in the forward render by computing the world normal using a cross(ddx(), ddy()) of the world position.
#review-3141656 @ben.woodhouse
Change 3141013 on 2016/09/27 by Zak.Middleton
#ue4 - NavLinkProxy properly calls SetNavigationRelevancy() when created in the editor. Fixes the need to uncheck/recheck bSmartLinkIsRelevant.
Change 3140878 on 2016/09/26 by Zak.Middleton
#ue4 - Add MarkRenderStateDirty() to UNavLinkCustomComponent::SetLinkData(), so visualizers update asap after link data changes.
Change 3140863 on 2016/09/26 by Nick.Whiting
Adding in vr.MonoCapture, which disables the right eye for capturing in order to give a performance boost
Change 3140790 on 2016/09/26 by Zak.Middleton
#ue4 - Make LineBatchComponent's FLineBatcherSceneProxy::GetViewRelevance() respect show flags (such as hidden in game).
Change 3140175 on 2016/09/26 by Dan.Oconnor
Mirror of 3140143
#jira UE-36395
Change 3139622 on 2016/09/26 by Maciej.Mroz
Fixed const local variables in Nativized code
Change 3139257 on 2016/09/24 by Jeff.Farris
Added GetGrabbedComponent() to UPhysicsHandleComponent.
Change 3139050 on 2016/09/23 by Nick.Whiting
Support for trailer capturing, as well as gamepad controls for adjustment
Change 3138644 on 2016/09/23 by Zak.Middleton
#ue4 - Added FPredictProjectilePathPointData::Reset(). Presize path points array in UGameplayStatics::PredictProjectilePath().
Change 3138521 on 2016/09/23 by Ryan.Vance
#jira UE-36114
We need to bind the right eye's forward lighting state when ISR is enabled and branch depending on which eye instance we're drawing.
Added a copy of FForwardGlobalLightData, NumCulledLightsGrid CulledLightDataGrid, and ForwardLocalLightBuffer for the right eye and set them when drawing with ISR
Moved ForwardLightingResources from FViewInfo up to FSceneView for access
Removed USE_CULLED_LOCAL_LIGHTS as it wasn't being used and complicated the shader refactor
TODO: This can be greatly simplified by generating the FForwardGlobalLightData uniform assignment shader code similar to how I'm handling the view uniforms. To clean up the branching for the grid buffers we should write both eyes into a single buffer and just use an offset.
Change 3138178 on 2016/09/23 by Zak.Middleton
#ue4 - Add FVector::DistXY() and Dist2D() (as an alias). Add FVector::Distance() as an alias for Dist(), and FVector::DistSquared2D() as an alias for DistSquaredXY(). Fixed comment in FVector2D::Distance() saying it was the squared distance.
- This is more in line with the Size2D(), SizeSquared2D(), GetSafeNormal2D() naming, but maintains backwards compat for a large amount of code.
Change 3138162 on 2016/09/23 by Lukasz.Furman
fixed navmesh crash on attempt to regenerate an empty tile layer
Change 3137578 on 2016/09/23 by Maciej.Mroz
#jira ODIN-1017 [Nativization] Crash while loading Hub_env level
Ensured, that CreateExport (and fully construction) is called for loaded DynamicClass.
Change 3136774 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
#jira ODIN-1013
Change 3136491 on 2016/09/22 by Jeff.Farris
Removed an unnnecessary ensure in ApplyPhysicalAnimationProfileBelow.
Change 3136412 on 2016/09/22 by Zak.Middleton
#ue4 - Inlined more functions in KismetMathLibrary that used error reporting (eg divide by zero errors). Moved the actual error reporting to the cpp so the inline overhead and compilation overhead is negligible.
Change 3136288 on 2016/09/22 by Zak.Middleton
#ue4 - Inline KismetMathLibrary functions where appropriate. Improves performance in nativized builds where the calls were not inlined even for the most simple functions (like "Not Bool", "Add Ints").
Change 3136162 on 2016/09/22 by Ben.Marsh
Merge CL 3136158 to fix issues generating project files with Visual Studio Express.
Change 3135403 on 2016/09/22 by Jeff.Farris
GameplayStatics::ApplyPointDamage and ApplyDamage now return the actual damage that was applied
Change 3135052 on 2016/09/21 by Zak.Middleton
#ue4 - Add new GameplayStatics::PredictProjectilePath functions with added functionality.
- Option to trace for collision by trace channel, object type, or both.
- Added versions that take input and output struct parameters.
- Output now includes location, velocity, and time for each point on the path.
Change 3134757 on 2016/09/21 by Guillaume.Abadie
Removes all resolve operations from distortion pass and support MSAA for the forward shader.
#review-3134758 @daniel.wright
Change 3134635 on 2016/09/21 by Jeff.Farris
Merged from Dev-Physics-Upgrade to Odin. This is the upgrade to PhysX 3.4.
Change 3134101 on 2016/09/21 by David.Hill
Post process CombineLUT shouldn't be per eye.
Also disable weighted-average post process passes for bloom when filter size is set to zero.
#review-3134102 @chris.bunner
Change 3133191 on 2016/09/20 by Guillaume.Abadie
Normalizes material's Opacity Mask according to Opacity Mask Clip Value.
Change 3133082 on 2016/09/20 by Brian.Karis
Static light source shapes in reflection captures will fade out when outside influence instead of going black.
Change 3132936 on 2016/09/20 by Jeff.Farris
Fixed some engine issues with setting mass overrides.
Change 3132821 on 2016/09/20 by Guillaume.Abadie
Adds support for MSAA on masked material using shader implemented alpha to coverage.
#review-3130154 @daniel.wright
Change 3132522 on 2016/09/20 by Zak.Middleton
#ue4 - Cache conversion of WalkableSlopeAngle to the cosine value in FWalkableSlopeOverride struct, when used in the override modes. Avoids computing this conversion (potentially multiple times per frame) for every character movement move and floor test.
Change 3130457 on 2016/09/19 by Daniel.Wright
Reuse ESceneColorFormatType::HighEndWithAlpha if the format allows it - prevents two scene color textures being allocated with planar reflections with r.SceneColorFormat=4
Change 3129467 on 2016/09/16 by Zak.Middleton
#ue4 - Improve Accuracy of final point in UGameplayStatics::PredictProjectilePath() to respect MaxSimTime. Previously the sim could have exceeded the max time if (MaxSimTime / SimFrequency) had a fractional part.
Change 3129327 on 2016/09/16 by Daniel.Wright
Added r.NormalCurvatureToRoughnessExponent for tweaking
NormalCurvatureToRoughness is now applied to clearcoat roughness
Change 3129324 on 2016/09/16 by Daniel.Wright
Added r.TemporalAACurrentFrameWeight for debugging
Change 3128812 on 2016/09/16 by Daniel.Wright
Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3.
Change 3128811 on 2016/09/16 by Daniel.Wright
Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path.
Change 3126195 on 2016/09/15 by Maciej.Mroz
#jira UE-35262 Incompatible pins give generate warning, when error is necessary.
Fixed incompatible pins validation.
Manually merged cl#3124667 from Dev-Blueprints
Change 3126108 on 2016/09/14 by Nick.Whiting
Added GetLaunchOption blueprint node to check if command line arguments are set
Added -demo path for Odin, which disables pause, and changes opening flow
Change 3125819 on 2016/09/14 by Zak.Middleton
#ue4 - Add option for accurate bounds for LineBatchComponent, on by default. Corrects attempts to focus on actors using them causing the view to zoom out to HALF_WORLD_MAX.
Turned this off for world debug line visualizers, to avoid affecting perf for those (and they often have lines/points all over anyway).
Change 3125686 on 2016/09/14 by Zabir.Hoque
Slimed down when and where we resolve RT particularly for forward rendering.
Change 3124174 on 2016/09/13 by Zak.Middleton
#ue4 - Improved accuracy and performance of PredictProjectilePath(). Switched to semi-implicit Euler integration. Fixed not being able to pass in const WorldContextObjects (only an issue when used from code, BP didn't care).
Change 3124121 on 2016/09/13 by Zak.Middleton
#odin - Integrate CL 3122728 from Dev-Editor:
UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface.
Change 3124116 on 2016/09/13 by Zak.Middleton
#odin - Back out revision 3 from //Odin/Main/Engine/Source/Runtime/UMG/Private/Components/WidgetInteractionComponent.cpp
Change 3123485 on 2016/09/13 by Stanley.Hayes
Added optional trace channels to WidgetInterationComponent
Change 3123301 on 2016/09/13 by Zak.Middleton
#ue4 - Added ENGINE_API to some functions in ULineBatchComponent that were not exported: DrawLines, DrawLine, DrawPoint, DrawSolidBox, DrawMesh.
Change 3122632 on 2016/09/13 by Maciej.Mroz
Improved ReverseForEachLoop macro in StandardMacros
Change 3122351 on 2016/09/12 by Nick.Whiting
Adding 90fps tracking to the FPS summary chart creation
Change 3122325 on 2016/09/12 by Wyeth.Johnson
Needed a 5 minute breather. Updated Editor splash screen because reasons
Change 3121869 on 2016/09/12 by Zak.Middleton
#ue4 - (Merge to Odin) Fix UGameplayStatics::SpawnEmitterAttached() using wrong scale when SnapToTarget (Keep World Scale) option is used. Improve comments for SpawnEmitterAttached().
#jira UE-34482
(Integrate Framework->Odin)
Change 3121407 on 2016/09/12 by Wyeth.Johnson
Fixed shopfront for Oz, big bot WIP
Change 3121253 on 2016/09/12 by Zak.Middleton
#ue4 - Fix CharacterMovement braking when using acceleration for paths.
- Fixed pathfinding using friction in GetPathFollowingBrakingDistance() and using wrong formula for stopping distance. Pathfinding adjusts analog input to achieve this deceleration, so friction is never applied and should not be included here.
- Added virtual "GetMaxBrakingDeceleration()" function to CharacterMovementComponent. Returns deceleration value set for current movement mode (ie BrakingDecelerationWalking, BrakingDecelerationFlying, etc).
Change 3121231 on 2016/09/12 by Wyeth.Johnson
Fixed procedural Stuff, now to fix aliasing :)
[CL 3226598 by Nick Whiting in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
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 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer 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 3170391 on 2016/10/21 by Ben.Woodhouse
Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens.
#jira UE-37437
#fyi rolando.caloca, marcus.wassmer
Change 3170659 on 2016/10/21 by Rolando.Caloca
DR - vk - Prep work for state key changes
Change 3170676 on 2016/10/21 by Rolando.Caloca
DR - vk - Reworked blend state keys
- Added depth/stencil to pipeline key
Change 3170848 on 2016/10/21 by Daniel.Wright
Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden.
Change 3170849 on 2016/10/21 by Daniel.Wright
Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear
Change 3170995 on 2016/10/21 by Rolando.Caloca
DR - vk - Show object on vulkan validation msgs
Change 3171085 on 2016/10/21 by Rolando.Caloca
DR - vk - Fix pipelines being used with incompatible renderpasses
Change 3171159 on 2016/10/21 by Rolando.Caloca
DR - vk - Fix layout when reading textures on CPU
Change 3171167 on 2016/10/21 by Rolando.Caloca
DR - vk - compile fix
Change 3172462 on 2016/10/24 by Daniel.Wright
Added a warning about shader compile times to the material tooltip
Change 3172463 on 2016/10/24 by Daniel.Wright
Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh
Change 3172716 on 2016/10/24 by Brian.Karis
Fix for crash UE-37369 when reimporting over a generated LOD.
Change 3172967 on 2016/10/24 by Rolando.Caloca
DR - vk - Fix writing buffers while GPU was using them
Change 3174187 on 2016/10/25 by Olaf.Piesche
UE-37020
Change 3174718 on 2016/10/26 by Rolando.Caloca
DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k
Change 3175960 on 2016/10/26 by Rolando.Caloca
DR - Added support for hlslcc header to have custom parsing
Change 3176611 on 2016/10/27 by David.Hill
DrawWireCone confusion:
In response to a UDN, I'm updating confusing parameter names and comments for
DrawWireCone() and DrawWireSphereCappedCone()
Change 3177111 on 2016/10/27 by Rolando.Caloca
DR - vk - Fix timestamps for frame
Change 3177192 on 2016/10/27 by Arne.Schober
DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState
Change 3177278 on 2016/10/27 by Olaf.Piesche
UE-37484
Change 3177297 on 2016/10/27 by Rolando.Caloca
DR - vk - Enable GRHISupportsBaseVertexIndex
Change 3177607 on 2016/10/27 by Rolando.Caloca
DR - vk - SM4 UB prep
Change 3178052 on 2016/10/28 by Arne.Schober
DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition.
Change 3178156 on 2016/10/28 by Rolando.Caloca
DR - vk - Added query timer
- Fixed inline issues
Change 3178158 on 2016/10/28 by Rolando.Caloca
DR - vk - Fixes for out of stencil bits
Change 3178462 on 2016/10/28 by Rolando.Caloca
DR - vk - Fixes for Elemental
Change 3179131 on 2016/10/28 by Rolando.Caloca
DR - vk - Fix for r.Vulkan.UseRealUBs
Change 3179139 on 2016/10/28 by Rolando.Caloca
DR - vk - Move UB ring buffer to context
Change 3179145 on 2016/10/28 by Rolando.Caloca
DR - vk - Fix buffer barriers
Change 3179888 on 2016/10/31 by Rolando.Caloca
DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD
Change 3179923 on 2016/10/31 by Rolando.Caloca
DR - vk - Wait for swapchain counter
Change 3180430 on 2016/10/31 by Rolando.Caloca
DR - vk - Properly wait for occlusion queries/cmd buffer
- Actual log error if trying to use occlusion queries out of order
Change 3180746 on 2016/10/31 by Rolando.Caloca
DR - vk - Undo some waiting as it was on the wrong thread
Change 3182115 on 2016/11/01 by Rolando.Caloca
DR - hlslcc Linux path fix
Change 3182118 on 2016/11/01 by Daniel.Wright
Fixed global distance field seam artifacts from landscapes with no subsections
Change 3182368 on 2016/11/01 by Daniel.Wright
Dynamic Indirect Shadows for static meshes using distance fields
* These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost
* Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project
* New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility
* New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar
* The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation
* DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues.
Change 3182408 on 2016/11/01 by Rolando.Caloca
DR - vk - Reworked occlusion queries, fixes flickering on AMD
Change 3182585 on 2016/11/01 by Daniel.Wright
PS4 compile fix
Change 3183151 on 2016/11/02 by Rolando.Caloca
DR - vk - Fix issue when processing super quick cmd buffers
Change 3183160 on 2016/11/02 by Rolando.Caloca
Dr - vk - Call reset queries outside render pass
Change 3183182 on 2016/11/02 by Rolando.Caloca
DR - Switch clear
Change 3183194 on 2016/11/02 by Rolando.Caloca
DR - Try to catch crash ahead of time
Change 3183268 on 2016/11/02 by Rolando.Caloca
DR - vk - Rename RenderPassState to TransitionState
Change 3183440 on 2016/11/02 by Daniel.Wright
Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow'
Change 3183793 on 2016/11/02 by Daniel.Wright
Added ShadowResolutionScale to lightcomponent
Change 3183796 on 2016/11/02 by Daniel.Wright
Improved bSimulatePhysics comment, with info on why it might be greyed out
Change 3183797 on 2016/11/02 by Daniel.Wright
Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization.
Change 3183915 on 2016/11/02 by Rolando.Caloca
DR - vk - Remove redundant renderpasses
Change 3183991 on 2016/11/02 by Daniel.Wright
Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only
Change 3184001 on 2016/11/02 by Daniel.Wright
Better draw event for IndirectCapsuleShadows in stereo
Change 3184096 on 2016/11/02 by Chris.Bunner
HDR for D3D11 - NVAPI toggle and encoding, UI compositing.
Removed some outdated tonemamping cvars and modes.
Change 3184399 on 2016/11/02 by Daniel.Wright
Static analysis workaround
Change 3184455 on 2016/11/02 by Mark.Satterthwaite
Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration.
#jira UE-38164
Change 3184953 on 2016/11/03 by Chris.Bunner
Fixing CIS warnings.
[CL 3186011 by Marcus Wassmer 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 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
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 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
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 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
CL 3094723 - Matt.Oelfke
Make MatineeActor extensible
CL 3106243 - Steve.Polge
FBatchedElements::AddTranslucentLine
CL 3111035 and 3114239 - Steve.Polge
NetStats can be available Shipping
CL 3113964 - Matt.Oelfke
BeginSpectatingState() won't unpossess a pawn that when it's not authority
Timeline component replication adjustment
CL 3126827 - John.Pollard via Peter.Knepley
Flush async loading when loading replay checkpoint
==========================
MINOR FEATURES + CHANGES
==========================
CL 3140532 - Peter.Knepley
Undo CVar changes that were mistakenly made in 3113964
[CL 3143291 by Peter Knepley in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3091951 on 2016/08/17 by Chris.Bunner
(Duplicate) CL 3090919: Fixed edge case interactions in HLOD ray rejection logic in Lightmass.
Change 3093162 on 2016/08/18 by Ben.Woodhouse
Fix minor memory leak (missing delete of RT Heartbeat thread)
Change 3093470 on 2016/08/18 by Ben.Woodhouse
Fix minor leak in FMonitoredProcess - the Thread member would get leaked if the FMonitoredProcess was cancelled, because it gets NULLed without deleting it. Fix is to add a bool to keep track of whether the thread is running, rather than using the Thread pointer.
Also fixes a race condition where the FMonitoredProcess::Thread member could get initialized after the thread had completed. This would cause IsRunning to never return false, even if the thread has completed, and the editor would hang on startup (this was fixed by setting bIsRunning to true before creating the thread)
Change 3093698 on 2016/08/18 by Daniel.Wright
Translucent lighting volume draw event cleanup
Change 3093700 on 2016/08/18 by Daniel.Wright
Clamp on box reflection capture transition distance visualizer
Change 3093755 on 2016/08/18 by Ryan.Vance
Merging stereo planar reflections from Odin.
Change 3094060 on 2016/08/18 by Daniel.Wright
Fully featured base pass reflection captures with blending and parallax correction
* Used in the forward renderer when materials opt-in to 'High Quality Reflections'
* Used in the deferred renderer for translucent 'Surface ForwardShading' materials
* Reflection captures are culled to a frustum space grid using the same reverse linked-list method as lights in the forward renderer
* Fixed grid culling in stereo / splitscreen
* The ReflectionEnvironment compute shader used in the deferred path also uses the culled grid now which reduces its cost from .93ms -> .70ms on 970 GTX. PS4 cost is about the same.
* Capsule indirect self-shadowing is now reduced in the forward path to match deferred, and both are controlled by r.CapsuleIndirectShadowSelfShadowIntensity
* SetupHZB is now skipped when SSAO / SSR / HZB are all disabled
Change 3094160 on 2016/08/18 by Daniel.Wright
CIS fixes
Change 3094899 on 2016/08/19 by Ben.Woodhouse
Batching optimization for dragging components onto blueprints, reported on UDN. Adding 2300 static mesh actors now takes 3 seconds instead of 40 minutes.
https://udn.unrealengine.com/questions/305821/suspected-rhi-uniform-buffer-leak-when-adding-stat.html
#jira UE-34937
Change 3095256 on 2016/08/19 by Daniel.Wright
Disabled ISR warning spamming CIS
Change 3095468 on 2016/08/19 by Daniel.Wright
Fixed refcounting on hit proxy render targets
Change 3095470 on 2016/08/19 by Daniel.Wright
Added bVisibleInReflectionCaptures to primitive component, which is useful for hiding objects too close to the capture point
Change 3096274 on 2016/08/22 by Rolando.Caloca
DR - vk - added missing BC4
Change 3096291 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix image views for some rendertarget formats
- Fix ImageViews on sub mips
Change 3096579 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix rendering for shaders with no descriptors
Change 3096584 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix 3d texture update
Change 3096813 on 2016/08/22 by Rolando.Caloca
DR - Fix GL linking errors
PR #2615
Change 3097062 on 2016/08/22 by Rolando.Caloca
DR - vk - Added unified mem flag
- Added Mip index into UAV
- Switched compute descriptor set index 0
Change 3097065 on 2016/08/22 by Rolando.Caloca
DR - vk - Framebuffer barriers now wait on STAGE_FRAGMENT_SHADER instead of STAGE_BOTTOM_OF_PIPE
Change 3097084 on 2016/08/22 by Daniel.Wright
Enabled r.VertexFoggingForOpaque by default to match other forward renderer choices (fast by default)
Change 3097086 on 2016/08/22 by Rolando.Caloca
DR - vk - Missed file
Change 3097943 on 2016/08/23 by Rolando.Caloca
DR - hlslcc - Remove duplicated definitions out into a common header
Change 3098166 on 2016/08/23 by Rolando.Caloca
DR - Custom Renderer callback after getting SceneColor
Change 3098418 on 2016/08/23 by Olaf.Piesche
Moving vertex factory dirtying to always happen in-editor for mesh emitters on dynamic data reinitialization; there are several cases in which this needs to happen (some material changes, mesh reimports...) which are difficult to track, so in-editor we just always recreate the mesh particle vertex factory with the dynamic data.
#jira UE-34838
Change 3098448 on 2016/08/23 by Rolando.Caloca
DR - vk - fixes for depth/stencil descriptors
- Minor debug dump improvement
Change 3098463 on 2016/08/23 by Daniel.Wright
Static lights with MinRoughness = 1.0 don't get their source shapes drawn into reflection captures, since they are being used as virtual area lights
Change 3098556 on 2016/08/23 by Daniel.Wright
Lightmass area shadows only mark texels as mapped inside the light's influence, which fixes multiple stationary lights with bUseAreaShadowsForStationaryLight interfering.
Change 3098672 on 2016/08/23 by Rolando.Caloca
DR - vk - Fixed crash when using vertex shaders with no descriptors
Change 3099173 on 2016/08/24 by Ben.Woodhouse
Fixed various issues with subsurface profile, for checkerboard and non-checkerboard code paths
- Re-enable non-checkerboard skin by default
- Checkerboard issues fixed:
- Emissive lighting was being applied twice due to not taking checkerboard pattern into account
- Emissive lighting was modulated by basecolor in the recombine
- Metallic materials were contributing specular lighting to the diffuse channel
- Non-checkerboard fixes:
- Fix write mask during SkyLightDiffuse so alpha is updated correctly
- Metallic specular lighting was broken (specularColor was lerping to white instead of baseColor)
- Optimisation: Fall back to default lit for pixels where the opacity is 0.
- For non-checkerboard, this gives better handling of metallic/emissive for pixels where SSS is not required (non-CB RGBA encoding for diffuse/spec doesn't cope well with colored specular or emissive)
- For checkerboard, this gives similar results in terms of shading, but we get full-resolution shading on non SSS pixels
#jira UE-34561
Change 3099673 on 2016/08/24 by Daniel.Wright
Removed unused reflection shape variables
Change 3099674 on 2016/08/24 by Daniel.Wright
Fixed translucent materials not working in DrawMaterialToRenderTarget (fallout from cl 3089208)
Fixed ensure with FRendererModule::DrawTile in the forward renderer, trying to bind light attenuation texture
Change 3099700 on 2016/08/24 by Daniel.Wright
Disabled log spam when a Rift is connected but not being used
Change 3099730 on 2016/08/24 by Daniel.Wright
MSAA depth resolve uses depth of closest surface, hides some artifacts with dynamic shadowing against the skybox
Change 3099789 on 2016/08/24 by Brian.Karis
FloatRGB is now always supported.
If 11:11:10 isn't supported by hardware this format by definition will map to a different format meaning it is always supported.
Change 3099987 on 2016/08/24 by Daniel.Wright
Fixed light grid debug asserts on PS4
* Always creating the local light buffer, even if it won't be used by the shader
* Transition ViewState FRWBuffers to writable at the beginning of a new frame
Change 3100120 on 2016/08/24 by Rolando.Caloca
DR - vk - Use 256MB pages for GPU memory
Change 3100151 on 2016/08/24 by Daniel.Wright
PS4 gracefully falls back to Temporal AA when MSAA is requested, as the GNM RHI doesn't support MSAA yet
Change 3100302 on 2016/08/24 by Rolando.Caloca
DR - vk - Mem system changes
- Now allocates a readback heap from GPU->CPU
- Removed bad total memory on heap/type
- Added fallback to another mem type if it's OOM
Change 3101110 on 2016/08/25 by Rolando.Caloca
DR - vk - Remove r.Vulkan.UseGLSL
Change 3101121 on 2016/08/25 by Rolando.Caloca
DR - vk - Initial support for HiResShot
Change 3101450 on 2016/08/25 by Rolando.Caloca
DR - vk - Remove imagelayout from textures; renamed a method for clarity
Change 3101462 on 2016/08/25 by Daniel.Wright
Planar reflections no longer update GPU particles, fixes Scene Depth particle collision
Change 3101525 on 2016/08/25 by Frank.Fella
Niagara - Remove public include modules from niagara, and remove the public include dependency on niagara from UnrealEd, and fix up fallout.
Change 3101613 on 2016/08/25 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3101686 on 2016/08/25 by Frank.Fella
Niagara - Move asset type actions into the niagara module.
Change 3101865 on 2016/08/25 by Rolando.Caloca
DR - vk - Fix compile issue when enabling dump layer
Change 3101946 on 2016/08/25 by Frank.Fella
Orion - Fix include error caused by niagara include fixup.
Change 3101999 on 2016/08/25 by Frank.Fella
Fortnite - Fix include error caused by niagara include fixup.
Change 3102035 on 2016/08/25 by Frank.Fella
Ocean - Fix include error caused by niagara include fixup.
Change 3102047 on 2016/08/25 by Frank.Fella
UnrealTournament - Fix include error caused by niagara include fixup.
Change 3102627 on 2016/08/26 by Frank.Fella
Niagara - Move stats group declaration to the niagara module and move the stats declarations in the niagara module into the cpp files.
Change 3102654 on 2016/08/26 by Ben.Woodhouse
Fix for D3D error with mismatched vertex/pixel shader registers for SV_POSITION input. Remove unused PixelPosition attribute from interpolators
#jira UE-33424
Change 3102780 on 2016/08/26 by Ben.Woodhouse
Make shadow culling take FOV into account, via LODDistanceFactor
Also set the LODDistanceFactorSquared member of the view, which was previously uninitialized
#jira UE-33873
Change 3102930 on 2016/08/26 by Rolando.Caloca
DR - vk - Do not require backbuffer at start, like Metal
Change 3103061 on 2016/08/26 by Rolando.Caloca
DR - vk - More debug dump to help track down issues
Change 3103143 on 2016/08/26 by Rolando.Caloca
DR - vk - Added partial image view for each texture for Depth/Stencil
- Removed some unused members from textures
Change 3104162 on 2016/08/29 by Gil.Gribb
Merging //UE4/Dev-Main@3104155 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3104491 on 2016/08/29 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3104500 on 2016/08/29 by Rolando.Caloca
DR - Rebuilt hlslcc libs after merge
Change 3104978 on 2016/08/29 by John.Billon
-Moved Particle Cutouts to the Required Module
-Pre-existing SubUVAnimation data is automatically moved to required on Init.
-Added Default Particle Cutouts project setting that will attempt to find and use a texture on a particle's material for a cutout by default.
Change 3105249 on 2016/08/29 by John.Billon
Fixing non-editor compile error.
Change 3105326 on 2016/08/29 by Zabir.Hoque
SIMD Movie Player on XB1
Change 3105813 on 2016/08/30 by John.Billon
Fixing static analysis warning.
Change 3106322 on 2016/08/30 by Matt.Kuhlenschmidt
Removed duplicated view uniform shader parameters initialization between slate and scene rendering. Moved all the duped initialization into a single shared method. The shared method should be where new parameters are initialized if they are required for the view to work properly.
Change 3106350 on 2016/08/30 by Rolando.Caloca
DR - vk - Added missing texture formats
- Added texture debug name
Change 3106547 on 2016/08/30 by Rolando.Caloca
DR - Added ESimpleRenderTargetMode::EExistingColorAndClearDepth
Change 3106631 on 2016/08/30 by Uriel.Doyon
Dirty Texture Streaming Build do not dirty maps anymore.
#jira UE-35241
Change 3106919 on 2016/08/30 by Rolando.Caloca
DR - Temp workaround to get Vulkan up & running, might require hlslcc fix
Change 3106974 on 2016/08/30 by Uriel.Doyon
Changed lightmass exports version from GUID to INT in order to shorten filenames.
Change 3106988 on 2016/08/30 by Uriel.Doyon
New project specific config value r.Streaming.CheckBuildStatus used to specify whether the engine should check if the "Texture Streaming Build" is dirty (false by default).
#jira UE-35227
Change 3107927 on 2016/08/31 by John.Billon
-Duplicating OpenGL4 ClearUAV Implementation from 4.13
-Fixed uav clear format.
#Jira UE-35345
Change 3108095 on 2016/08/31 by Marc.Olano
Restore initialization of noise textures, accidentally removed in @3106322
#jira UE-35369
Change 3108557 on 2016/08/31 by John.Billon
Fixing HTML5 compile error
[CL 3109297 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3055495 on 2016/07/19 by Marc.Olano
Allow Noise material node on mobile
No reason to exclude mobile, except for Fast Gradient Noise, which uses 3D textures. Allow this node on ES2 for all of the other noise functions.
#jira UE-33345
Change 3055602 on 2016/07/19 by Luke.Thatcher
Fix crash bug in D3D11 RHI when selecting adapters.
- Array of adapter descriptors will get out of sync with the adapter index if any adapter is skipped (e.g. the Microsoft Basic Render Device).
#jira UE-33236
Change 3055890 on 2016/07/19 by Daniel.Wright
Improved the assert in LoadModuleChecked so we won't have to check the log to see which module it was
Change 3055891 on 2016/07/19 by Daniel.Wright
Fixed Global Distance Field not dirtying previous object position on UpdateTransform - left behind a phantom shadow on teleports
* This will effectively double partial distiance field update costs until clipping of the update regions is implemented
Change 3055892 on 2016/07/19 by Daniel.Wright
Higher poly light source shapes drawn into reflection captures
Change 3055893 on 2016/07/19 by Daniel.Wright
More info to 'Incompatible surface format' GNM assert
Change 3055904 on 2016/07/19 by Daniel.Wright
Reflection environment normalization improvements
* Indirect specular from reflection captures is now mixed with indirect diffuse from lightmaps based on roughness, such that a mirror surface will have no mixing. Reflection captures now match other reflection methods like SSR and planar reflections much more closely.
* When a stationary skylight is present, Reflection captures are now normalized as if the initial skylight will always be present, giving consistent results with static skylight reflections. The skylight and reflection captures with sky removed used to be normalized separately, compacting the relative brightness between the sky and scene.
* Added r.ReflectionEnvironmentLightmapMixing for debugging lightmap mixing issues. This toggle was previously not possible due to prenormalizing the capture data.
* The standard deferred reflection path (r.DoTiledReflections 0) can no longer match the results of the compute path or base pass reflections, as it would require MRT to accumulate the average brightness
* Removed unused r.DiffuseFromCaptures
* Cost of reflection environment on PS4 increased from 1.52ms -> 1.75ms with this change, but decreased back to 1.58ms by reducing tile size to 8x8
Change 3055905 on 2016/07/19 by Daniel.Wright
Workaround for RTDF shadows not working on PS4 - manual clear of ObjectIndirectArguments instead of RHICmdList.ClearUAV
Change 3059486 on 2016/07/21 by Nick.Penwarden
Testing #uecritical
Change 3060558 on 2016/07/21 by Daniel.Wright
Fixed skylight with specified cubemap being black
Change 3061999 on 2016/07/22 by Marcus.Wassmer
Disable old AMD driver hacks for DX11. QA has already tested with them off and given thumbs up.
Change 3062241 on 2016/07/22 by Daniel.Wright
Fixed bug in RHISupportsSeparateMSAAAndResolveTextures that was preventing MSAA for any non-Vulkan platforms
Change 3062244 on 2016/07/22 by Daniel.Wright
Discard old prenormalized reflection environment data on load
Change 3062283 on 2016/07/22 by Daniel.Wright
MSAA support for the forward renderer
* AntiAliasing method is chosen in Rendering project settings, DefaultSettings category
* Deferred passes like shadow projection, fogging and decals are only computed per-pixel and can introduce aliasing
* Added Rendering project setting VertexFoggingForOpaque, which makes height fog cheaper and work properly with MSAA
* The AntiAliasing method in PostProcessSettings has been removed, this may affect existing content
* Added r.MSAACount which defaults to 4
* Integrated wide custom resolve filter from Oculus renderer, controlled by r.WideCustomResolve
* GBuffer targets are no longer allocated when using the forward renderer
* Decal blend modes that write to the GBuffer fall back to SceneColor emissive only
Change 3062666 on 2016/07/23 by Uriel.Doyon
Added legend to streaming accuracy viewmodes
Added a new helper class FRenderTargetTemp to be reused in different canvas rendering.
Exposed the pass through pixel shader so that it can be reused.
#review-3058986 @marcus.wassmer
Change 3063023 on 2016/07/25 by Luke.Thatcher
Fix "RecompileShaders Changed" when using Cook On The Fly.
#jira UE-33573
Change 3063078 on 2016/07/25 by Ben.Woodhouse
Add -emitdrawevents command line option to emit draw events by default. This is useful when capturing with Renderdoc
Change 3063315 on 2016/07/25 by Ben.Woodhouse
Fix div 0 in motion blur. This caused artifacts in some fairly common cases
#jira UE-32331
Change 3063897 on 2016/07/25 by Uriel.Doyon
Fixed missing qualifier on interpolants
Change 3064559 on 2016/07/26 by Ben.Woodhouse
Fix for cooker crash with BC6H textures (XB1, but may affect other platforms). Also fixes corruption issue with texture slices not being a multiple of 4 pixels (expanding as necessary), courtesy of Stu McKenna at the Coalition
Tested fix on xbox, PC and PS4, using QAGame
#jira UE-28592
Change 3064896 on 2016/07/26 by Ben.Woodhouse
Fix compile errors on PS4 (the variable "sample" was conflicting with a keyword, causing compile errors). Also making encoding consistent on new shaders (ansi rather than UTF16)
Change 3064913 on 2016/07/26 by Ben.Marsh
Fix spelling of "Editor, Tools, Monolithics & DDC" node in Dev-Rendering build settings.
Change 3065326 on 2016/07/26 by Uriel.Doyon
Fixed UnbuiltInstanceBoundsList not being reset correctly, creating broken rendered primitives.
#jira UE-32585
Change 3065541 on 2016/07/26 by Daniel.Wright
Materials with a GBuffer SceneTexture lookup will fail to compile with forward shading
Change 3065543 on 2016/07/26 by Daniel.Wright
Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413
Change 3065545 on 2016/07/26 by Daniel.Wright
Added material property bNormalCurvatureToRoughness, which can slightly reduce aliasing. Tweakable impact with r.NormalCurvatureToRoughnessScale.
Fixed reflection capture feedback with base pass reflections
Change 3066783 on 2016/07/27 by Daniel.Wright
Moved PreShadowCacheDepthZ out of FSceneRenderTargets and into FScene, which fixes issues with cached preshadows and multiple scenes, including HighResScreenShot
Disabled GMinScreenRadiusForShadowCaster on per-object shadows, which fixes popping when trying to increase shadow resolution from the defaults (r.Shadow.TexelsPerPixel 3)
Change 3066794 on 2016/07/27 by Daniel.Wright
Fixed crash rendering planar reflections due to NULL PostProcessSettings
Change 3067412 on 2016/07/27 by Daniel.Wright
Fix for OpenGL4 with uint interpolator
Change 3068470 on 2016/07/28 by Daniel.Wright
Fixed crash rendering translucency with translucent shadows which were determined to be invisible
Change 3069046 on 2016/07/28 by Daniel.Wright
Handle null Family in SetupAntiAliasingMethod
Change 3069059 on 2016/07/28 by Daniel.Wright
Added r.ReflectionEnvironmentBeginMixingRoughness (.1) and r.ReflectionEnvironmentEndMixingRoughness (.3), which can be used to tweak the lightmap mixing heuristc, or revert to previous behavior (mixing even on a mirror surface)
Change 3069391 on 2016/07/28 by Daniel.Wright
Fixed AverageBrightness being applied to reflections in gamma space in the mobile base pass, causing ES2 reflections to be overbright
Change 3070369 on 2016/07/29 by Daniel.Wright
r.ReflectionEnvironmentBeginMixingRoughness and r.ReflectionEnvironmentEndMixingRoughness set to 0 can be used to achieve old non-roughness based lightmap mixing
Change 3070370 on 2016/07/29 by Daniel.Wright
Bumped reflection capture DDC version to get rid of legacy prenormalized data
Change 3070680 on 2016/07/29 by Marcus.Wassmer
Fix slate ensure that is most likely a timing issue exposed by rendering.
#ue-33902
Change 3070811 on 2016/07/29 by Marcus.Wassmer
Fix ProjectLauncher errors when loading old versions
#ue-33939
Change 3070971 on 2016/07/29 by Uriel.Doyon
Updated ListTextures outputs to fix cooked VS non cooked differences and also to put enphasis on disk VS memory
Change 3071452 on 2016/07/31 by Uriel.Doyon
Updated the legend description for the (texture streaming) primitive distance accuracy view mode
[CL 3072803 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3045482 on 2016/07/11 by Zabir.Hoque
DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall.
Change 3045929 on 2016/07/12 by Simon.Tovey
Removing some deprecated node types from Niagara
Change 3045951 on 2016/07/12 by Ben.Woodhouse
D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types)
Change 3046019 on 2016/07/12 by Chris.Bunner
Fixed typo in material input name.
#jira UE-5575
Change 3046053 on 2016/07/12 by Rolando.Caloca
DR - Fix GL4 shutdown
#jira UE-32799
Change 3046055 on 2016/07/12 by Rolando.Caloca
DR - vk - Fix NumInstances=0
Change 3046063 on 2016/07/12 by Rolando.Caloca
DR - vk - Added flat to uint layouts per glslang
- Fix bad extension on dumped shaders
Change 3046067 on 2016/07/12 by Rolando.Caloca
DR - vk - Fix check when not using color RT
- Added queue submit & present counters
Change 3046088 on 2016/07/12 by Ben.Woodhouse
Live GPU stats
A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording.
Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion)
The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing)
Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled
Tested on PC, XB1, PS4
Change 3046128 on 2016/07/12 by Olaf.Piesche
Max draw distance and fade range for lights, requested by JonL
Change 3046183 on 2016/07/12 by Ben.Woodhouse
PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden)
Change 3046223 on 2016/07/12 by Luke.Thatcher
Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components.
#jira UE-32345
Change 3046228 on 2016/07/12 by Marc.Olano
Add Voronoi noise to Noise material node.
Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each.
Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise.
Change 3046269 on 2016/07/12 by Rolando.Caloca
DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL)
Change 3046294 on 2016/07/12 by Rolando.Caloca
DR - Fix static analyisis
warning C6326: Potential comparison of a constant with another constant.
Change 3046295 on 2016/07/12 by Rolando.Caloca
DR - Fix the previous fix
Change 3046731 on 2016/07/12 by Marc.Olano
Fix typo in shader random number constant: repeated extra digit made it too big.
Change 3046796 on 2016/07/12 by Uriel.Doyon
The texture streaming manager now keeps a set of all valid textures.
This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp.
#jira UE-33048
Change 3046800 on 2016/07/12 by Rolando.Caloca
DR - vk - Added create image & renderpass dump
Change 3046845 on 2016/07/12 by John.Billon
Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations.
Change 3047023 on 2016/07/12 by Olaf.Piesche
Niagara:
-a bit of cleanup
-now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes
-removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants
-some code simplification
-removed some deprecated structs and code used only by old content
Change 3047052 on 2016/07/12 by Zabir.Hoque
Unshelved from pending changelist '3044062':
PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke)
Change 3047727 on 2016/07/13 by Luke.Thatcher
Fix Scene Capture Components only updating every other frame.
#jira UE-32581
Change 3047919 on 2016/07/13 by Olaf.Piesche
CMask decode, use in deferred decals, for PS4
Change 3047921 on 2016/07/13 by Uriel.Doyon
"Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales.
Also, several texture messages are packed on the same line if they relate to the same material.
Change 3047952 on 2016/07/13 by Rolando.Caloca
DR - vk - Initial prep pass for separating combined images & samplers
Change 3048648 on 2016/07/13 by Marcus.Wassmer
Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame
Change 3049058 on 2016/07/13 by Rolando.Caloca
DR - vk - timestamps
Change 3049725 on 2016/07/14 by Marcus.Wassmer
Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection
Change 3049742 on 2016/07/14 by Rolando.Caloca
DR - Fix warning
Change 3049902 on 2016/07/14 by Rolando.Caloca
DR - Fix typo
Change 3050345 on 2016/07/14 by Olaf.Piesche
UE-23925
Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit).
Change 3050409 on 2016/07/14 by Olaf.Piesche
Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash
Change 3050809 on 2016/07/14 by Rolando.Caloca
DR - vk - Remove redundant validation layers
Change 3051319 on 2016/07/15 by Ben.Woodhouse
Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection
The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized
#jira UE-31976
Change 3051692 on 2016/07/15 by Rolando.Caloca
DR - vk - Enable RHI thread by default
Change 3052103 on 2016/07/15 by Uriel.Doyon
Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting).
#jira UE-32765
Change 3052140 on 2016/07/15 by Rolando.Caloca
DR - vk - Fix shader snafu
Change 3052495 on 2016/07/15 by Rolando.Caloca
DR - Fix for Win32 compile
#jira UE-33349
Change 3052536 on 2016/07/15 by Uriel.Doyon
Fixed texture streaming overbudget warning when using per texture bias.
[CL 3054554 by Gil Gribb in Main branch]
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3016060 on 2016/06/16 by Gareth.Martin
Fixed check being hit in AActor::InvalidateLightingCacheDetailed when building lighting with grass (cloned from 4.12)
#jira UE-31766
Change 3016346 on 2016/06/16 by Gareth.Martin
Fixed crash when editing landscape component properties and then clicking in the editor viewport (cloned from 4.12)
#jira UE-32060
Change 3016366 on 2016/06/16 by Gareth.Martin
Refactor Landscape Select / Mask tools so that they don't share a common brush stroke class
- they had no common code, there was just a massive if statement in there selecting between the two behaviours
Change 3017787 on 2016/06/17 by Gareth.Martin
Added Copy/Transform Algos
Change 3019479 on 2016/06/20 by Gareth.Martin
Fix for user-reported crash in landscape circle brush
(https://udn.unrealengine.com/questions/298966/crash-in-flandscapebrushcircletick.html)
Change 3020927 on 2016/06/21 by Gareth.Martin
Fixed "Obj in another map" error when packaging a project containing Landscape for Android
#jira UE-32194
Change 3021318 on 2016/06/21 by Gareth.Martin
Fixed crash in PIE while using Landscape Splines with bPlaceSplineMeshesInStreamingLevels
#jira UE-32034
Change 3024769 on 2016/06/23 by Gareth.Martin
Allow creation of transient objects during saving, as they wouldn't be saved anyway
(and the slate font system did during autosave and hit this check)
#jira UE-32194
Change 3026457 on 2016/06/24 by Gareth.Martin
Fixed crash when setting landscape component collision mip to an invalid value while in collision viewmode (cloned from 4.12)
#jira UE-32415
Change 3032336 on 2016/06/29 by Gareth.Martin
Fixed a long-standing issue with undo/redo nulling lazy pointers
- Two objects are created which reference each other with lazy object pointers (e.g. ULandscapeComponent and ULandscapeHeightfieldCollisionComponent)
- Undo
- During undo, the first object saves its state and restores itself to a deleted (pendingkill) state
- the second object then tries to save its state, but as the other object is marked pending kill it fails to resolve its lazy ptr and saves null instead
- Redo
- Lazy ptr is restored to the saved null instead of the actual original value
Change 3032818 on 2016/06/29 by Gareth.Martin
Removed all use of deferred exec commands from the landscape code
This solves numerous crashes during commandlets etc with landscape infos not being initialized because they don't tick the engine
#jira UE-31654
#jira UE-29568
Notes:
Split CreateLandscapeInfo from GetLandscapeInfo (removing the default-true bool param from GetLandscapeInfo in the process), so it only gets created where intended
Removed some unused properties/functions, e.g. ULandscapeInfo::bIsValid, bCurrentlyEditing
Removed legacy landscape world composition code
General cleanup
Change 3032820 on 2016/06/29 by Gareth.Martin
File missing from CL 3032818 (P4! Grr)
Change 3037033 on 2016/07/04 by Gareth.Martin
Capitalised variable names in Algo::Accumulate at Core's request
Change 3037035 on 2016/07/04 by Gareth.Martin
Improved Algo::Accumulate when used with movable types (e.g. FString)
Change 3037373 on 2016/07/05 by Gareth.Martin
Added FText property handle type
Change 3039183 on 2016/07/06 by Gareth.Martin
Landscape data plugin API - part 1: Import
Change 3042473 on 2016/07/08 by Gareth.Martin
Landscape data plugin API - part 2: Re-Import
Change 3042484 on 2016/07/08 by Jack.Porter
Pull request from AndrewScheidecker https://github.com/EpicGames/UnrealEngine/pull/1279 and updated to 4.13.
Adapted GetStaticBatchElementVisibility to support changing visibility of batches with a single element (for view-dependent culling of static mesh elements)
Added GetStaticBatchElementShadowVisibility that allows culling static mesh elements when rendering shadow depths using information about the light
** Any user-created vertex factory that implements GetStaticBatchElementVisibility will need to set bRequiresPerElementVisibility on their FMeshBatch.
#1279
Change 3044665 on 2016/07/11 by Gareth.Martin
Renamed Engine/FixedSizeArrayView to Core/Containers/ArrayView
Note: The new and improved TArrayView (as agreed with core team) is *not* const-propogating. const TArrayView<T> does not imply "const T" and will not bind to a const TArray! You want TArrayView<const T>
Change 3045936 on 2016/07/12 by Gareth.Martin
Worked around Visual Studio 2013 bug with the new TArrayView
#jira UE-33037
Change 3045964 on 2016/07/12 by Gareth.Martin
Fix "cannot find shader" crash when using landscape with XY offsets
#jira UE-33042
Change 3046311 on 2016/07/12 by Gareth.Martin
Landscape data plugin API - part 3: Tiled landscapes
Change 3047701 on 2016/07/13 by Gareth.Martin
Landscape data plugin API - cleanup
Change 3047894 on 2016/07/13 by Gareth.Martin
Landscape data plugin API - part 4: Support inherent scale in landscape heightmap formats
Change 3049656 on 2016/07/14 by Gareth.Martin
Landscape data plugin API - Fix right-click layer import option to show plugin filetypes in the file selector
Change 3050073 on 2016/07/14 by Gareth.Martin
Update sequence recorder to new TArrayView following merge from main
Change 3050096 on 2016/07/14 by Gareth.Martin
Landscape data plugin API - part 5: Export!
Change 3051521 on 2016/07/15 by Gareth.Martin
Landscape data plugin API - part 6: Finishing up
Change 3051783 on 2016/07/15 by Gareth.Martin
Fixed the landscape info map not being transacted correctly, resulting in a crash if you undo the deletion of a landscape
#jira UE-33291
Change 3053322 on 2016/07/18 by Gareth.Martin
Fix landscapes not being registered correctly with their landscape info when hiding/showing them in world composition
#jira UE-33346
Change 3053513 on 2016/07/18 by Jack.Porter
Added LANDSCAPE_API to Landscape MaterialExpression classes
#jira UE-25145
#1927
Change 3053591 on 2016/07/18 by Gareth.Martin
Attempt to fix VS 2013 ICE
#jira UE-33382
[CL 3053789 by Gareth Martin in Main branch]
Made IsTranslucentBlendMode inline in the header.
#jira UE-32655
#rb marcus.wassmer
#lockdown nick.penwarden
[CL 3039895 by Luke Thatcher in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028439 on 2016/06/27 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3028090
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3028437 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3027952 on 2016/06/26 by Jurre.deBaare
- Integrating code fixes/changes from Simplygon for Normals issue on Simplygon Swarm + landscape culling
- Readded landscape/volume culling for in-engine static mesh merging path
- Fixed issue with r.HLOD force -1 (now stops forcing hlods)
- Marked hlodcullingvolume as experimental
- Added Landscape culling flag + precision level
#codereview Michael.Noland
#rb Michael.Noland
#tests build clusters locally/cloud + landscape culling tests
Change 3027702 on 2016/06/25 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 3027698
#RB:none
#Tests:none
Change 3027312 on 2016/06/24 by Daniel.Lamb
Changed the way reentry data is stored in the cooker, reduce work load by main thread, also fix issue with reentry data being used from incorrect packages.
#rb Peter.Sauerbrei
#test QA game launch on and cook by the book + cook on the fly paragon
Change 3027165 on 2016/06/24 by Daniel.Lamb
Fix compiler warnings from cvars changes.
#rb none
#test cook paragon
Change 3026900 on 2016/06/24 by Daniel.Lamb
Change the way low quality lightmap shaders are enabled / disabled as the engine can't be used in the should cache function.
#rb Marcus.Wasmer
#test Cook on the fly paragon
#codereview Rolando.Caloca
Change 3026874 on 2016/06/24 by Olaf.Piesche
#jira OR-18363
fix distortion in particle macro UVs with camera movement
#rb frank.fella
#tests PC Editor/Game
Change 3026494 on 2016/06/24 by jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3026460
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3026476 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 3026381 on 2016/06/24 by Graeme.Thornton
Strip particle modules, emitters and lodlevels from cooked server data. Saves ~10mb of runtime memory on Paragon
#rb simon.tovey
#codereview dmitry.rekman
#tests pc cooked client/server, golden path
Change 3025760 on 2016/06/23 by jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3025687
#RB:none
#tests:none
#ROBOMERGE-SOURCE: CL 3025709 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Sword/Meshes/sword.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Sword/Meshes/sword_Skeleton.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3025661 on 2016/06/23 by Mieszko.Zielinski
Added a feature to PathfollowingComponent allowing it to identify when it starts following a navigation link #UE4
#rb Lukasz.Furman
#test golden path
Change 3025359 on 2016/06/23 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
#online,externalui,ps4
- expose access to reset cookies before invoking embedded web browser
- fixed not capturing resulting Url when PS4 browser is closed
#rb none
#tests ps4
#ROBOMERGE-SOURCE: CL 3025356 in //Orion/Release-28/... via CL 3025358
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3025184 on 2016/06/23 by Lina.Halper
Fix crash with morphtargets
#jira: OR-24257
#rb: Rolando.Caloca
#tests: switching mesh with different morphtargets in editor
Change 3024714 on 2016/06/23 by Lukasz.Furman
added vlog extension to visual debugger tool, added object whitelist to vlog to include selected minion data in games started with -LogBotGame param
#rb Mieszko.Zielinski
#tests server game with and without LogBotGame cmdline
Change 3024709 on 2016/06/23 by Daniel.Lamb
Added support for async save when saving seperate bulk data file.
Added mb saved to cooking package stats.
#rb Andrew.Grant,Wes.Hunt
#test Cook Paragon
Change 3024674 on 2016/06/23 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
Merging //Orion/Release-28 to Main (//Orion/Main)
#online,identity,ps4
- add psplus flag to online account after privilege check
#rb none
#tests ps4 login flow
#ROBOMERGE-SOURCE: CL 3024672 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3024510 on 2016/06/23 by Graeme.Thornton
Added more info to the dumpparticlesystems exec command output
#rb simon.tovey
#tests cooked pc client, golden path
Change 3024504 on 2016/06/23 by Graeme.Thornton
Asset registry memory optimisation - make sure all dependency node link arrays are sized exactly as they need to be (saves ~1mb)
#rb robert.manuszewski
#tests windows cooked client, golden path
Change 3024213 on 2016/06/22 by Ryan.Gerleve
Handle a rare case in replays where the spectator controller is null but we still find a valid NetGUID for it.
Added an ensure before a check that would fail in this case so we'll know if it happens again.
#tests replays
#rb john.pollard
Change 3024127 on 2016/06/22 by John.Pollard
Bulk merge using Dev-Networking_->_Dev-General_(Orion)
3002989
Add ability to skip missing/changed properties in FFastArraySerializer
3003072
Fix crash related to new replay backwards compatibility changes
3008097
Renaming CompatibleReplayout to NetFieldExportGroup preparing to unify ability to use FNetFieldExportGroup for both RepLayout and FClassNetCache
3009684
Added ability to use FNetFieldExportGroups for FClassNetCache as well as FRepLayout
* Adds ability to track missing/changed custom delta properties names
* Adds ability to track missing/changed RPC's
3013455
Add ability to skip over RPC parameters that have changes/missing in replays for backwards compatibility
* We now mark FClassNetCache properties as bIncompatible so we don't spam forever when they are out of date
* No longer factor in parameters when building checksum for RPC's
* Save FNetFieldExport handle for FClassNetCache fields
* Use WriteIntWrapped when saving FClassNetCache fields FNetFieldExport handles (and use NetFieldExportGroup->NetFieldExports.Num() to determine max value)
* Lots of cleanup and sanity checking improvements
3018078
Optimize replay checkpoints
* Share work that was already done during normal replication, and re-use this data to remove the need to compare any checkpoint properties
* When saving a checkpoint, we no longer create a new connection and new channels, instead we re-use the existing channels, and added the ability to make this a transient operation
* To make custom delta serialize properties work, we compare against the CDO state instead of current state when saving out a checkpoint
3021196
Fix issue with Fast tarray exporting package map info during checkpoints
* Add ability to save and restore package map ack status
* Save package map ack status before saving checkpoint, and then restore it back afterwards, this will then allow the stream that writes afterward to re-export anything that was new in the checkpoint
* No longer queue up reliable bunches on ack list for internal ack connections
3024033
Prune the cached change list before using when saving out checkpoints
* Fixes issues when saving checkpoint, and the live properties change array size, which throws everything off when it comes time to use the LifetimeChangelist
3024034
Don't close channels when saving checkpoints, fixes issue where it creates a bunch with bOpen/bClose (because we're forcing all SendBunches to re-open channels), which throws off the stream
#rb RyanG
#tests Replays
Change 3024021 on 2016/06/22 by Dmitry.Rekman
Fix PS4 build.
#rb Michael.Noland
#tests none
#codereview Michael.Noland, Dan.Youhon, Sammy.James
Change 3023734 on 2016/06/22 by Lukasz.Furman
added replication for input events and tool state for both gameplay debugger categories and extensions
#ue4
#rb Mieszko.Zielinski
#tests PIE, server game
Change 3023708 on 2016/06/22 by Dmitry.Rekman
Add a separate macro for a poison malloc proxy usage.
#rb Michael.Noland
#codereview Michael.Noland, Gil.Gribb
#tests Compiled OrionServer-Linux-Debug, ran it
Change 3023670 on 2016/06/22 by Nick.Darnell
Home screen - Fixing safezones on the homescreen. Adding a scale option to the XP_Fill widget. Adding better animations to the tiles. Showing subtitles again. Hero XP summary widget now takes you to that hero.
#rb none
#tests PIE
Change 3023632 on 2016/06/22 by Dmitry.Rekman
Fix incorrect matching condition in comments.
#rb none
#tests Compiled OrionServer-Linux-Debug
#codereview Michael.Noland
Change 3023475 on 2016/06/22 by Rolando.Caloca
O - Back out changelist 3022847 as it broke SSS on PC
#rb none
#tests re-run editor on PC
Change 3023178 on 2016/06/22 by Michael.Noland
Engine: Added system memory and % of time spent hitching to analytics
#rb bob.tellez
#tests Tested a match in Paragon
Change 3022963 on 2016/06/22 by Mieszko.Zielinski
Fixed a subtle navigation repathing bug #UE4
While repathing to a location, rather than an actor, the navigation query used path's end while it should be using the original query's EndLocation.
#rb Lukasz.Furman
#test golden path
Change 3022865 on 2016/06/22 by David.Ratti
gameplay cue editor: remove "GameplayCue_" prefix from default GameplayCueNotify filename in default ability system projects
#rb none
#tests ability system sample project
Change 3022847 on 2016/06/22 by Rolando.Caloca
O - Remove checkerboard SSS rendering and recombine post process pass when SSS not enabled
#rb Marcus.Wassmer
#codereview Marcus.Wassmer, Brian.Karis
#tests Load Agora_P, check perf, toggle r.SSS.Quality 1/0, check characters with skin
Change 3022804 on 2016/06/22 by Mieszko.Zielinski
Fixed AIController clearing out CachedGameplayTasksComponent on UnPosses, even if Pawn was not the CachedGameplayTasksComponent's owner #UE4
Also, made running BT not clearing info in BB if AI's current BB is compatible with the one required by BT
#rb Lukasz.Furman
#test golden path
Change 3022674 on 2016/06/22 by Robert.Manuszewski
Reimplementing CL #2993969 (Dev-Blueprints) by Maciej.Mroz:
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
#jira OR-23997
#rb me
#tests Golden path in editor build, selecting Venus
Change 3022405 on 2016/06/21 by Ryan.Gerleve
Fix for OR-23948, crash with death cam enabled. Use a weak pointer to store the viewer on the DemoNetDriver and update it when the game player controller is received.
#rb john.pollard
#tests bug repro
Change 3022387 on 2016/06/21 by Ryan.Gerleve
Added the ability to disable ticking of individual worlds.
#tests golden path
#rb john.pollard
#codereview marc.audy
Change 3022312 on 2016/06/21 by Nick.Darnell
Home Screen - Adding a max aspect ratio lock to SBox, may need some more fine tuning math may still be a bit pants in some cases. The XP ovewview panels now have a basic support for account and hero progression. Hero one shows the last hero you played, widget is invisibile until you play your first game. The tiles now use the Max Aspect Ratio to prevent stretching forever on 21:9 monitors causing them to just look crazy. Weekly quests now show the weekly quests screen when clicked. OrionUserWidgetBase no longer prevents blueprints from running code in reponse to mouse down/up actions if the userwidget consumes input - it always calls the blueprint code first, and always returns handled if it consumes input.
#rb none
#tests PIE
Change 3022207 on 2016/06/21 by Wes.Hunt
Fix Analytics provider to retain passed in AppVersion string instead of using default %VERSION%.
#rb none
#tests run windows server with one bot connecting and checking analytics version is what is expected.
Change 3021808 on 2016/06/21 by Jason.Bestimt
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - call GetTotalMicroseconds instead of GetTotalMilliseconds * 1000
#rb none
#tests compile run ps4
#ROBOMERGE-SOURCE: CL 3021805 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3021663 on 2016/06/21 by Jason.Bestimt
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - CancelFindSessions() didn't null out search result
- future FindSession() calls would fail with "search in progress"
#rb joe.wilcox
#tests UT matchmaking
#ROBOMERGE-SOURCE: CL 3021655 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3021508 on 2016/06/21 by Marcus.Wassmer
Remove anti-ghosting AA for now.
Causes dithered transparency to be very wrong (Dekker shoulders)
And also a border around all characters of 'noisy fuzz' even when they are not moving
#rb none
#test PC/PS4
#codereview Brian.Karis,Jordan.Walker
Change 3021475 on 2016/06/21 by Marcus.Wassmer
Duplicate fix for subsurface spec in prep for PS4 optimization. (DevRendering 3018664)
unified some code for easier maintainance, fixed missing multiply from former change
#rb none
#test PS4/PC agora
Change 3021468 on 2016/06/21 by Michael.Noland
Physics: Added more information when convex cooking partially succeeds (fails initially but succeeds with inflation) indicating the full path of the mesh that failed
#rb ori.cohen
#tests Compiled changes, will provide more information when issue reoccurs in build machine cooks
#jira OR-24082
Change 3021460 on 2016/06/21 by Michael.Noland
Engine: Added time spent in each hitch bucket to FPS chart .log output and analytics output
#rb bob.tellez
#tests Tested a match in Paragon
#codereview dmitry.rekman
Change 3021368 on 2016/06/21 by Marcus.Wassmer
Create Tonemapper configuration with no ColorFringe to save .15ms on PS4 when colorfringe is not used.
#rb rolando.caloca
#test agora with/wo new config
#codereview brian.karis
Change 3021119 on 2016/06/21 by David.Ratti
Make -notimeouts work during initial connecting phase
#codereview John.Pollard
#rb none
#tests pie agora
Change 3021048 on 2016/06/21 by David.Ratti
minor tweaks to gameplay cues:
-Descriptions of engine GC notify classes
-Added 'auto attach to owner' flag on actor notify class.
#rb none
#test ability system sample project
Change 3020694 on 2016/06/20 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3020301
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3020674 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#CodeReview: cody.haskell
Change 3020624 on 2016/06/20 by Michael.Noland
Engine: Pushing more fps chart analytics up to engine level code from Paragon
Engine: Pushing benchmark config vars up to engine level code from Paragon, and added records of individual sub-steps of benchmarks
#rb Bob.Tellez
#tests Golden path Solo VS AI in Paragon and forced a match
#codereview bob.tellez, peter.knepley
Change 3020181 on 2016/06/20 by Dmitry.Rekman
Re-do allowing allocations in NullRHI (OR-24029).
- Originally CL 2990582 by MarcusW, stomped during merge by CL 3006926.
#rb none
#codereview Marcus.Wassmer, Andrew.Grant
#tests none
Change 3020139 on 2016/06/20 by Ryan.Gerleve
Added ability to pause replay recording while keeping the current replay open.
#rb john.pollard
#tests paused deathcam recording while disabled
Change 3019817 on 2016/06/20 by Dmitry.Rekman
Poison allocated/freed memory in Debug and Development (non-editor) configs.
- With this Paragon client may be more likely to crash on start.
#rb Steve.Robb
#codereview Robert.Manuszewski, Michael.Noland, Andrew.Grant, Gil.Gribb, Steve.Robb
#tests Built Linux server and Windows client, ran them, also built Windows Orion editor.
Change 3019599 on 2016/06/20 by Rolando.Caloca
O - Fix flickering on heroes with morph targets
#rb Marcus.Wassmer
#tests Load Agora_P
#jira OR-23866
Change 3019581 on 2016/06/20 by Wes.Hunt
Fix crash reporter client analytics for internal builds. (Pushing critical fix immediately from //UE4/Orion-Staging)
#rb Chris.Wood
#tests none
Change 3019524 on 2016/06/20 by David.Ratti
call APawn::OnRep_Controller when ClientRetryClientRestart sets the pawn directly
#rb none
#tests golden path
Change 3019406 on 2016/06/20 by Marcus.Wassmer
Duplicate 3014956 from Dev-Rendering
Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
#rb none
#test none
#codereview Jordan.Walker
Change 3019371 on 2016/06/20 by Graeme.Thornton
Optimize cooked asset registry dependency node data structures. Saves ~10mb on Paragon.
#rb robert.manuszewski
#tests tested with cooked pc client + server
Change 3018492 on 2016/06/17 by Laurent.Delayen
FBoneReferenceCustomization: support editing properties in AnimBP defaults.
#rb none
#tests: Sword.
Change 3017974 on 2016/06/17 by Ryan.Gerleve
Add an option to toggle deathcam in the gameplay settings UI if the OrionRuntimeOption for deathcam is enabled.
#rb cody.haskell
#tests settings menu, enabled and disabled deathcam
Change 3017913 on 2016/06/17 by Robert.Manuszewski
Fixing leaked log archive.
#rb Steve.Robb
#tests Cooked Win64 client + server
Change 3017873 on 2016/06/17 by Daniel.Lamb
Fix warning in diff cooked build.
#test none
#rb none
Change 3017676 on 2016/06/17 by Sam.Zamani
#online,identity,mcp
fix for uninitialized variable
#rb dmitry.rekman
#tests none
Change 3017671 on 2016/06/17 by Robert.Manuszewski
Fxied and improved log message when cluster assumptions are violated.
#rb Steve.Robb
#tests Win64 client + server (cooked) golden path
Change 3017358 on 2016/06/16 by Nick.Atamas
Checking in Darnell's change that adds correct geometry to widgets inside retainer widgets.
#rb none
#test PIE
Change 3017242 on 2016/06/16 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3017179
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3017233 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/UI/Tooltips/Hero/AbilityTooltip.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3017237 on 2016/06/16 by Dmitry.Rekman
Fix accessing uninitialized field (kills valgrind warnings).
#rb none
#codereview Michael.Noland, Andrew.Grant, Ori.Cohen
#tests Compiled and ran Linux server.
Change 3017236 on 2016/06/16 by Dmitry.Rekman
Initialize missed field (kills valgrind warnings).
#rb none
#codereview Michael.Noland, Andrew.Grant
#tests Compiled and ran Linux server.
Change 3017186 on 2016/06/16 by Dmitry.Rekman
Linux: Add hooks for libcrypto memory functions.
- Libcurl uses OpenSSL, which allocates memory using libcrypto's CRYPTO_malloc() and apparently on purpose does not initialize it.
- This change a) redirects these allocations to use UE's malloc b) initializes it with zeros, avoiding valgrind's warnings.
- This behavior is not used on Shipping configurations because the impact on entropy is not understood (TBD later).
#rb Michael.Noland, Rob.Cannaday (original version)
#codereview Michael.Noland, Rob.Cannaday, Alex.Fennel, Chris.Babcock, Sam.Zamani
#tests Compiled Linux server and ran it.
Change 3017037 on 2016/06/16 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Merging content fix for driver crash from Release-27
#ROBOMERGE-SOURCE: CL 3017036 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3016838 on 2016/06/16 by Alexis.Matte
#jira UE-31901 fix to export all blueprint component to obj
#rb uriel.doyon
#codereview matt.kuhlenschmidt
#test export a blueprint containing multiple staticmesh component to obj
Change 3016629 on 2016/06/16 by Dmitry.Rekman
Make Binned default on Linux non-editor builds.
#codereview Andrew.Grant
#rb none
#tests none
Change 3016615 on 2016/06/16 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Temporarily disabling jemalloc for Linux
#rb #tests none
[CodeReviewed] Dmitry.Rekman
#ROBOMERGE-SOURCE: CL 3016612 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3016566 on 2016/06/16 by Michael.Noland
Engine: Fixed a regression that broke safe zone debugging features in Windows by reintroducing code from CL# 2861030 that was accidentally deleted in a merge
#codereview andrew.grant
#rb dan.hertzka
#tests Tested r.DebugSafeZone.Mode 1 with r.DebugSafeZone.TitleRatio 0.9 in PIE and confirmed that SSafeZone obeyed it and the red overlay appeared
Change 3016521 on 2016/06/16 by Ryan.Gerleve
Client recoreded replay fixes and optimizations from Dev-Networking (and one from //UE4/Main), for deathcam.
Includes the following CLs from Dev-Networking:
2997908
2998001
2998832
2999054
2999057
2999749
3000051
3001361
3001365
3004958
3009972
3009973
And this CL from //UE4/Main:
3015528
#tests golden path, replays
#rb john.pollard
Change 3016503 on 2016/06/16 by Brian.Karis
Fixed uninitialized variables on particle lights. Fixes hair shading.
#rb none
#tests editor
Change 3016429 on 2016/06/16 by Max.Chen
Sequencer: Fix StartTime when clamping start offset 0. Follow up to CL #3009386.
#jira UE-29167
#tests Load up AnnounceMaster and adjust leading edge of animation clips
#rb Frank.Fella
Change 3016356 on 2016/06/16 by Lina.Halper
- Fix crash on rampage morphtarget
Merging using //UE4/Dev-Framework_to_//Orion/Dev-General
- this is dupe change from Dev-Framework
#jira: https://jira.ol.epicgames.net/browse/OR-23194
#rb: Ori.Cohen
#tests: editor/pie spawn as rampage's alt skin
Change 3015696 on 2016/06/15 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3015646
This re-unifies our build pipeline. Fingers crossed. (only 6 files are actually different)
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3015672 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3015642 on 2016/06/15 by Mieszko.Zielinski
Fixes to multiple reasons AI bots were getting stuck #Orion
#rb Lukasz.Furman
#test golden path
Change 3015622 on 2016/06/15 by Mieszko.Zielinski
fixed FMetaNavMeshPath doing navmesh path update without checking nav agent if pathfinding should be postponed #UE4
#rb Lukasz.Furman
#test golden path
Change 3015514 on 2016/06/15 by Uriel.Doyon
Fixed GlobalMipBias not affecting max texture resolution.
This fix is implemented differently in Dev-Rendering in CL 301498.
#jira OR-23511
#rb marcus.wassmer
#test played game with different quality settings
Change 3015258 on 2016/06/15 by Lina.Halper
Fix crash with recursive reference between two assets
#rb: Ori.Cohen
#tests: Sword
Change 3014988 on 2016/06/15 by Wes.Hunt
Fix Cook Analytics to correctly use the Legacy provider since it sends to a local data collector.
#rb daniel.lamb
#tests compile Orion
Change 3014962 on 2016/06/15 by Olaf.Piesche
Replicating CL 3013696 from Dev-Rendering; making quality level spawn rate scale work for GPU emitters.
#rb simon.tovey
#tests PC editor game
Change 3014958 on 2016/06/15 by Laurent.Delayen
Added SkeletalMeshComponent::bIncludeComponentLocationIntoBounds to help in cases where SMU_OnlyTickPoseWhenRendered is set, and an animation pushed the mesh beyond the capsule.
This ensures that when the capsule is in view, the mesh will remain updated.
#rb Michael.Noland
#test Sword ultimate from another player's view.
Change 3014833 on 2016/06/15 by Laurent.Delayen
Fix for Base Heroes having their locomotion blendspace broken.
#rb Thomas.Sarkanen
#codereview Thomas.Sarkanen
#tests Gadget networked PIE
Change 3014688 on 2016/06/15 by Nick.Darnell
UMG - Fixing IsHovered on UUserWidgets. SObjectWidget did not properly call the super for MouseEnter/MouseLeave allowing SWidget's implementation to set and unset the bool.
#rb none
#tests PIE
Change 3014325 on 2016/06/15 by Marcus.Wassmer
Duplicate 3012706:
Scalability CVAR for ContactShadows
#rb john.billon
#test flip cvar in editor.
Change 3014230 on 2016/06/15 by Robert.Manuszewski
Fix potentially missing log output when serializing text of length equal to the async log writer buffer size.
#rb Steve.Robb
#tests Tested in editor build (client + server)
Change 3013913 on 2016/06/14 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Updating from DMM (updated from 27.1MM)
#RB:none
#Tests:compiled
#ROBOMERGE-SOURCE: CL 3013912 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3013437 on 2016/06/14 by Simon.Tovey
Speculative fix for OR-23158
Couldnt' repro NANs but did see it reading garbage.
Reinstated the check that direct accesses for particles in a zero size emitter will return null.
Altered selection code to reselect when partilce is dead or returns null and to not allow new selection on zero size emitters.
#tests GoldenPath, No broken fx and no more reading garbage.
#rb Olaf.Piesche
Change 3013063 on 2016/06/14 by Jason.Bestimt
#ORION_DG - Unclog robomerge from DMM Merge
#RB:none
#tests:none
Change 3012936 on 2016/06/14 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#rb sam.zamani
#tests multiple account login, frontend only
Merge from FN CL 3011647, plus fixing one other location expecting "application/json"
Change 3012696 on 2016/06/14 by Max.Chen
Sequencer: Select actors for corresponding selected keys or sections.
Copy from Dev-Sequencer
#jira UE-30727
#tests Load up AnnounceMaster and select keyframes
#rb none
Change 3012691 on 2016/06/14 by Max.Chen
Sequencer: Fix dragging the leading edge of a skeletal animation section so that it adjusts the start offset of the animation clip.
Copy from Dev-Sequencer
#jira UE-29167
#tests Load up AnnounceMaster and adjust leading edge of animation clips
#rb Frank.Fella
Change 3012690 on 2016/06/14 by Andrew.Grant
Removed Linux work-around for memory stomp alignment
#rb none
#tests compiled
Change 3012687 on 2016/06/14 by Max.Chen
Sequencer: Fix lower bound when doing post render tick so that the start of a shot doesn't render with the previous shot's time.
Copy from Dev-Sequencer
#rb none
#tests Load up AnnounceMaster and played through sequence
Change 3012627 on 2016/06/14 by Mieszko.Zielinski
Added logging of current MoveID to PathfollowingComponent's vlog snapshot #UE4
#rb none
#test golden path
Change 3012615 on 2016/06/14 by Mieszko.Zielinski
Improved fix to BTDecorator_Blackboard's latent tasks aborting #UE4
#rb Lukasz.Furman
#test golden path
Change 3012572 on 2016/06/14 by Dmitry.Rekman
Fix realloc with non-default alignment in jemalloc (OR-23541).
- Removed obsolete check(), the code was already there since CL 1834526.
#rb none
#codereview Andrew.Grant, Robert.Manuszewski
#tests none
Change 3012481 on 2016/06/14 by David.Ratti
ability system #include fixups and move orion attribute capture marcros into base engine ability system execution class
#rb none
#tests ability system sample project
Change 3012457 on 2016/06/14 by Andrew.Grant
Un-fix misaligned memory-stomp fix for Linux
#rb none
#tests compiled
Change 3012320 on 2016/06/14 by Graeme.Thornton
Fixes for MemoryAnalyser2 solution
- Upgraded to VS 2015
- Clean up solution configurations. Only leave "Any CPU"
- Switch project to build with "Any CPU" rather than "x64".
Reimplementation of CL 3012221 from Dev-Core
#rb robert.manuszewski
#tests opened the main window form correctly in visual studio
Change 3012316 on 2016/06/14 by Thomas.Sarkanen
Fix copying non-POD structs in the fast path
Prevents double-deletions of TArrays etc.
#jira UE-31394 - Fix problems with non-POD UStructs using the anim BP fast-path
#tests Played PIE & died as Sword in OrionEntry, Exited PIE.
#rb Martin.Wilson
Change 3012187 on 2016/06/14 by Graeme.Thornton
Corrected error message when not specifying linux server device command line correctly in UAT
#rb Dmitry.Rekman
#tests Checked error message was useful when wrong command line was specified
Change 3012026 on 2016/06/13 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3011936
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3011996 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/oriongame/Content/Characters/Heroes/Hammer/Abilities/Subjugate/FX/P_SubjugateSwirls.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3011969 on 2016/06/13 by Brian.Karis
Tweaks for hair
Change 3011638 on 2016/06/13 by Andrew.Grant
Fixed issue where RepLayout could use unaligned memoryfor property construction if allocator did not use a suitable default (fixes crash when running with MemStomp).
Also added sanity check in UScriptStruct::InitializeStruct that memory is correctly aligned before calling constructor
#codereview Dave.Ratti, John.Pollard
#rb none
#tests Ran with/without memstomp
Change 3011575 on 2016/06/13 by jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3011414
NOTE - Card data was altered. Shame shame shame. Not authoritative in DUI
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith, sammy.james, matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 3011552 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 3011462 on 2016/06/13 by Alexis.Matte
#jira UE-31901 The outputdevice is adding 2 uninitialize character at the end of any log, this is cause by the terminator logic. The fix is to not add those characters when no terminator should be add.
#rb nick.darnell
#codereview Robert.Manuszewski
#test export a obj file and verify all object are exported in maya or max
Change 3011424 on 2016/06/13 by Martin.Wilson
Hack out fastpath anim bp code until heap corruption issue can be fixed.
#rb Laurent.Delayen
#tests Persona + PIE
Change 3011191 on 2016/06/13 by Mieszko.Zielinski
Added missing initialization of PathFollowingComponent::CurrentMoveInput #UE4
#rb none
#test golden path
Change 3011138 on 2016/06/13 by Mieszko.Zielinski
Switched bots over from travel mode to sprinting #Orion
#rb Lukasz.Furman
#test golden path
Change 3011075 on 2016/06/13 by David.Ratti
Default GameplayAbility instancing policy to InstancePerExecution
#rb BenZ
#tests compile
Change 3011051 on 2016/06/13 by David.Ratti
Add missing include so GameplayAbilitySet.h can be included on its own.
#rb none
#tests compile
Change 3010968 on 2016/06/13 by Mieszko.Zielinski
Fixed console variables crashing on "" string #UE4
#rb Lukasz.Furman
#codereview Martin.Mittring
#test PIE
Change 3010888 on 2016/06/13 by Alexis.Matte
#jira OR-23301 Close the OS handle when closing the FAsyncWriter.
#rb Robert.Manuszewski
#codereview Robert.Manuszewski
#test try to export a obj file
Change 3010239 on 2016/06/11 by Michael.Noland
UMG - Adding back the logic to use the normal WidgetTree when the DesignerWidgetTree is not defined. [duplicated fix from CL# 2998267]
#jira UE-31570
#tests Compiled some blueprints
#rb none
Change 3009870 on 2016/06/10 by Wes.Hunt
Remove logging of analytics payloads from dedicated servers #jira UE-31858
#codereview:dmitry.rekman
#rb none
#tests All testing was done in Dev-Framework. This change was redone in this branch to get it here faster.
Change 3009599 on 2016/06/10 by Michael.Noland
Rendering: Corrected a misleading help comment on r.StaticMeshLODDistanceScale, explaining how it affects LOD calculations (it multiplies the effective distance, so larger numbers make transitions happen sooner)
#tests Verified in the output of the help command
#rb none
#rn
Change 3009559 on 2016/06/10 by Marcus.Wassmer
Fix 11/11/10 SceneColorFormat option, enable AntiGhosting on TemporalAA, ensure TemporalAA output is the correct format for accumulating results. Set SceneColorFormat to 2 on PS4 and lowspec PC. All in all saves .3-.5ms on PS4 and improves temporalAA ghosting.
#rb Brian.Karis
#test Agora PS4 / PC
Change 3009525 on 2016/06/10 by David.Ratti
Fix case where ObjectLIbrary would not be able to find classes when searching "/Game" path.
#rb none
#tests object libraries in paragon
Change 3009228 on 2016/06/10 by David.Ratti
remove world check. Can be triggered in editor with PIE
#rb none
#tests pie
Change 3009050 on 2016/06/10 by Dmitry.Rekman
Fix LinuxClient platform not being built on Windows, and not instantiating a target platform instance.
- Fixes by BenM.
#rb none
#codereview Ben.Marsh
#tests Compiled OrionEditor on Linux.
Change 3008973 on 2016/06/10 by Marcus.Wassmer
Fix Windualshock on VS2015
#rb Rolando.Caloca
#test PS4 controller on VS2015 build
Change 3008970 on 2016/06/10 by David.Ratti
Fix warning about minimal replication tag count
-Made bit count a config setting. Bumped to 5
-Minor optimization to UAbilitySystemGlobals::Get()
#rb none
#tests goldne path, pie
Change 3008478 on 2016/06/09 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 3008469
#RB:none
#Tests:none
Change 3008416 on 2016/06/09 by Andrew.Grant
Adding 'config' as an option to set both clientconfig / serverconfig when using BuildCookRun
#review-3008417 Ben.Marsh, Justin.Sargent
#rb none
#tests BuildCookRun with config
Change 3008286 on 2016/06/09 by Dmitry.Rekman
Add LinuxClient target platform.
#rb none
#tests Compile OrionEditor on Linux.
#codereview Brad.Angelcyk, Ben.Marsh
Change 3007978 on 2016/06/09 by jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3007507
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith
#ROBOMERGE-SOURCE: CL 3007968 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3007771 on 2016/06/09 by Laurent.Delayen
Fixed GetIntFromComp breaking with INDEX_NONE. Fixes crash in OrientationWarping node.
#rb martin.wilson
#codereview martin.wilson
#tests Sword Leap.
Change 3007436 on 2016/06/09 by David.Ratti
change designer facing parameter name
#rb none
#test compile
Change 3007408 on 2016/06/09 by David.Ratti
WaitGameplayEffectBlockedImmunity - ability task for listening to immunity events
#rb danY
#tests pie
Change 3007250 on 2016/06/09 by bruce.nesbit
Banner impact location fix. (OR-23179)
#rb none
#tests Game+PIE
Change 3007228 on 2016/06/09 by Ben.Marsh
BuildGraph: Rename -SkipNodesWithoutTickets parameter to -SkipTargetsWithoutTickets, to reflect that it's filtering the list of targets rather than the full graph.
#rb none
#tests none
Change 3007225 on 2016/06/09 by Ben.Marsh
EC: Set the -TicketSignature=... parameter for all BuildGraph jobs started by EC to the URL of the current job.
Change 3006985 on 2016/06/08 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3006936
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3006978 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 3006926 on 2016/06/08 by Andrew.Grant
Merging //UE4/Main @ 300872 via //UE4/Orion-Staging
#rb none
#tests engine QA, orion qa smoke
Change 3006444 on 2016/06/08 by Ben.Marsh
BuildGraph: Add mechanism to specify that nodes can only be built once for a given changelist. Nodes can have an associated ticket file, and they are only permitted to build if the ticket is assigned to the current job. Tickets are created if they don't exist, and written with a signature specific to the job specified via the -TicketSignature="..." parameter. By default, builds will fail if a ticket has been already granted to another job, but the -SkipNodesWithoutTickets parameter instructs the graph to skip affected nodes instead.
#rb none
#tests none
Change 3006389 on 2016/06/08 by Daniel.Lamb
Delay the processing of packages which aren't ready till the end of the cook.
This allows other packages to be processed sooner.
#rb Peter.Sauerbrei
#test cook orion.
Change 3006306 on 2016/06/08 by Michael.Noland
Rendering: Added FreezeRendering to the console autocomplete list
#rn
Change 3006305 on 2016/06/08 by Michael.Noland
HLOD: Added a way to control how far down the HLOD hierarchy to allow showing (can be used to limit quality loss and streaming texture memory usage on high scalability settings for example)
Controlled by the new cvar r.HLOD.MaximumLevel, which can be set to the following values:
-1: No maximum level (default)
0: Prevent ever showing a HLOD cluster instead of individual meshes
1: Allow only the first level of HLOD clusters to be shown
2+: Allow up to the Nth level of HLOD clusters to be shown
Note: This does not affect the memory used by the HLOD meshes itself or their always loaded low mip levels, it will only save the memory associated with streaming in the higher mip levels
HLOD: Allowed r.HLOD console command to be used in Test configurations
HLOD: Removed some dead code in ALODActor and scene view / scene proxy relating to a different way to force visualization that has no trigger
HLOD: Fixed an uninitialized memory bug in the static mesh scene proxy HLODcoloration visualization code
#rn
#codereview jurre.debaare
#rb marc.audy
#tests Tested with various settings in Paragon and tried creating some new clusters in the editor
Change 3006304 on 2016/06/08 by Michael.Noland
Engine: Changed the code in AActor::IncrementalRegisterComponents to obey bAutoRegister for the root component rather than asserting that it is true. Note: If children components have bAutoRegister=true, they will still pull the root component into the fray and cause it to be registered first
#rb marc.audy
#tests Tested with code that registers or unregisters HLOD clusters at varying levels in Paragon
Change 3006041 on 2016/06/08 by Andrew.Grant
Added buildidoverride to shipping whitelist
#rb none
#tests compiled and used param in shipping
Change 3005678 on 2016/06/08 by Ben.Marsh
Back out changelist 3004395
#rb none
#tests none
Change 3005265 on 2016/06/07 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3005120
#RB: none
#Tests: none
#ROBOMERGE-SOURCE: CL 3005250 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 3005081 on 2016/06/07 by Daniel.Lamb
Reworked the way packages which are renamed on load are added to the cooked package list.
Cooker now has options for MaxMemoryAllowance as a percentage and also MinFreeMemory (which takes into account used system memory not just total system memory).
#rb Andrew.Grant, Marcus.Wasmer
#test cook orion
Change 3004752 on 2016/06/07 by Daniel.Lamb
Requeue packages to the next package on the list instead of to the end of the list.
#rb Andrew.Grant
#test cook orion
Change 3004560 on 2016/06/07 by David.Ratti
Kill timelines, latent actions, timer when recycling gameplay cues
#rb danY
#tests pie
Change 3004559 on 2016/06/07 by David.Ratti
Object Library:
-Added bool bIncludeOnlyOnDiskAssets that can be set by owner. Passed on to the AR filter when gathering assets.
GameplayCue Editor:
-Fix issue with new notifies not showing up after being created through the GC Editor (until restart).
-Fix issue for new projects, that don't have gameplayclue tags defined, not being able to add gameplay cue tags through the editor without restarting once.
#rb none
#tests editor
Change 3004395 on 2016/06/07 by Ben.Marsh
BuildGraph: Add a script function to ensure exclusive access to a given resource. The AcquireLockFile() function takes two arguments; a path to a text file, and the name of an owner. The file is created and the owner name written to it if it doesn't already exist, otherwise the contents of it are compared against the given owner string. The operation happens transactionally, and the function returns true if file contains the given owner string on exit. Logical and/or conditions are now also short-circuited, so the result of the AcquireLockFile() function can be used to control derived property definitions within an executing job.
#rb none
#tests none
Change 3004164 on 2016/06/07 by David.Ratti
Ability system: use player controller netmode over avatar actor when possible. Fixes issue if torn off, authority, client side actor tries to activate an ability.
#rb danY
#tests multi pie
Change 3003837 on 2016/06/07 by David.Ratti
Ability system engine work
-Default to /Game as search path for gameplay cues, if no explicit paths are set in the config.
#rb none
#tests ability sample project
Change 3002800 on 2016/06/06 by Marcus.Wassmer
Fix shader crash in PIE
#rb none
#test PIE
Change 3002657 on 2016/06/06 by Dmitry.Rekman
Do not copy to clipboard on crash if headless or on the wrong thread.
- Could result in crash handler crashing itself in some circumstances.
#rb none
#codereveiw Brad.Angelcyk
#tests Compiled Linux dedicated server and CrashReportClient.
Change 3002546 on 2016/06/06 by Daniel.Lamb
Improve cooking performance.
Allow cooker to save other packages opportunistically if main package is compiling shaders.
Allow cooker to load more packages if there aren't many packages to save.
#rb Josh.Adams
#test cook orion
Change 3002369 on 2016/06/06 by Marcus.Wassmer
Project setting for optional rendering features to reduce shader compile times.
# of shaders per material is reduced by ~30-40% depending on material
#rb Daniel.Wright
#test Editor with/without all options, cooked ps4.
Change 3002142 on 2016/06/06 by David.Ratti
Ability system engine level:
-Fix crash when gameplay cue editor starts if there are no gameplay cue paths specified
-Fix crash when GameplayCue tag is not specified
#rb none
#tests sample ability system project, paragon
Change 3002106 on 2016/06/06 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
#orion
- add support for code tokens which can be shared/redeemed
- refactor of existing friend founder's pack codes to be displayed in a generic way using code token info
- added CodeToken.FounderFriendInviteT0 for new paragon tier 0 code which grants access to game without also giving a Founder's pack
- added CodeToken.FounderFriendInviteT1 to replace existing CodeToken.FriendPC and CodeToken.FriendPS4 Founder's pack codes. Existing codes aliased to the new CodeToken.FounderFriendInviteT1 code
- No longer differentiation between PC/PS4 friend codes
- "Share Friend Code" button will now process all available codes that can be issued instead of just 1
- updated Orion service Mcp call for getUnredeemedCodes() to ignore the code template id and return all available codes. Each returned code will also include the type
[CodeReviewed]: david.nikdel, jason.bestimt
#rb david.nikdel
#tests PC PIE using localhost and profile proxy for granting codes, also existing account with legacy codes
#ROBOMERGE-SOURCE: CL 3002104 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3001218 on 2016/06/05 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3001162
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3001200 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 2999508 on 2016/06/03 by jason.bestimt
#ORION_MAIN - Merge 27 @ CL 2999463
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2999498 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Audio/ClassesAndMixes/Classes/Master.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 2999465 on 2016/06/03 by Robert.Manuszewski
Whitelisting more DLLs for injection.
#rb none
#tests none
Change 2999455 on 2016/06/03 by Lukasz.Furman
disabled path invalidation events for minions
#orion
#rb Mieszko.Zielinski
#tests PIE with additional debug logging
Change 2998488 on 2016/06/02 by Michael.Noland
Engine: Prevent forced drawing of spline components in Test configuration
#codereview james.golding
#tests Ran a cooked Test build on a map with splines in it
#rb david.ratti
#robomerge: main
Change 2997954 on 2016/06/02 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jon.lietz
OR-22425
no longer try to updat the tag map and modifiers when the gameplay effect that is being removed was not active.
#RB Dave.Ratti
#Tests golden path
#ROBOMERGE-SOURCE: CL 2997940 in //Orion/Release-0.27/... via CL 2997943
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2997750 on 2016/06/02 by Graeme.Thornton
Add FPakFile::Check() that attempts to open and read the data out of every file in a pak, to check for corruption
Added -checkpak option for force a check of every mounted pak file
#rb robert.manuszewski
#tests tested against cooked pc client. made sure my data succeeded. made sure corrupted data throws an error.
[CL 3031715 by Andrew Grant in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3006483 on 2016/06/08 by Simon.Tovey
Fix for UE-31653
Instance params from the Spawn, Required and TypeData modules were not being autopopulated.
Change 3006514 on 2016/06/08 by Zabir.Hoque
MIGRATING FIX @ Request
Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction.
#CodeReview: Marcus.Wassmer, Daniel.Wright
Change 3006605 on 2016/06/08 by Rolando.Caloca
DR - vk - Remove a bunch of unused code, clean up some todos
Change 3006969 on 2016/06/08 by HaarmPieter.Duiker
Add #ifdefs around inverse tonemapping to avoid performance hit in normal use
Change 3007240 on 2016/06/09 by Chris.Bunner
Made a pass at fixing global shader compile warnings and errors.
Change 3007242 on 2016/06/09 by Chris.Bunner
Don't force unlit mode when re-loading a map.
#jira UE-31247
Change 3007243 on 2016/06/09 by Chris.Bunner
Cache InvalidLightmapSettings material for instanced meshes.
#jira UE-31182
Change 3007258 on 2016/06/09 by Chris.Bunner
Fixed refractive depth bias material parameter.
Change 3007466 on 2016/06/09 by Rolando.Caloca
DR - Use vulkan debug marker extension directly from header
Change 3007504 on 2016/06/09 by Martin.Mittring
added refresh button to ImageVerifier
Change 3007528 on 2016/06/09 by Martin.Mittring
ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end
make render more deterministic
Change 3007551 on 2016/06/09 by Chris.Bunner
Reverted constant type change in previous commit.
Change 3007559 on 2016/06/09 by Martin.Mittring
updated ImageValidator
Change 3007584 on 2016/06/09 by Rolando.Caloca
DR - Fix case when not running under RD
Change 3007668 on 2016/06/09 by Rolando.Caloca
DR - vk - Split layers/extensions by required/optional
Change 3007820 on 2016/06/09 by Rolando.Caloca
DR - Android compile fix
Change 3007926 on 2016/06/09 by Martin.Mittring
fixed UI scaling in ImageVerifyer
Change 3007931 on 2016/06/09 by John.Billon
-Fixed cutouts not working for certain sized texture/subUV size combinations.
-Also fixed issue with subUV module not being postloaded consistently on startup.
#Jira UE-31583
Change 3008023 on 2016/06/09 by Martin.Mittring
refactor noise code in shaders
Change 3008127 on 2016/06/09 by Zabir.Hoque
Merging back hot fixes:
1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS.
2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself.
Change 3008129 on 2016/06/09 by Daniel.Wright
Disabled r.ProfileGPU.PrintAssetSummary by default due to spam
Change 3008169 on 2016/06/09 by Rolando.Caloca
DR - Fix mobile rendering not freeing resource when using RHI thread
Change 3008429 on 2016/06/09 by Uriel.Doyon
Enabled texture streaming new metrics.
Added progress bar while texture streaming is being built.
Added debug shader validation to prevent crashes when there are uniform expression set mismatches.
Added texture streaming build to "Build All"
Change 3008436 on 2016/06/09 by Uriel.Doyon
Fixed shipping build
Change 3008833 on 2016/06/10 by Rolando.Caloca
DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications
Submitted by Allar
PR #1864
#jira UE-24545
Change 3008842 on 2016/06/10 by Rolando.Caloca
DR - Remove vertex densities view mode
Change 3008857 on 2016/06/10 by John.Billon
Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching.
Change 3008870 on 2016/06/10 by Rolando.Caloca
DR - Rebuild hlslcc libs (missing from last merge)
Change 3008925 on 2016/06/10 by John.Billon
Fixed r.ScreenPercentage.Editor
#Jira UE-31549
Change 3009028 on 2016/06/10 by Daniel.Wright
Shadow depth refactor
* Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame
* This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading
* The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed
* A large amount of duplicated code to handle each shadow type has been combined
* Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency
* 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures
Change 3009032 on 2016/06/10 by Daniel.Wright
Fixed crash with simple forward shading in the material editor
Change 3009178 on 2016/06/10 by Rolando.Caloca
DR - Add support for multi callbacks on HlslParser, added a write to string callback
Change 3009268 on 2016/06/10 by Daniel.Wright
Warning fixes
Change 3009416 on 2016/06/10 by Martin.Mittring
moved decal rendering code in common spot for upcoming MeshDecal rendering
Change 3009433 on 2016/06/10 by John.Billon
Adding ensures for translucency lighting volume render target acesses.
#Jira UE-31578
Change 3009449 on 2016/06/10 by Daniel.Wright
Fixed whole scene point light shadow depths getting rendered redundantly
Change 3009675 on 2016/06/10 by Martin.Mittring
fixed Clang compiling
Change 3009815 on 2016/06/10 by Martin.Mittring
renamed IsUsedWithDeferredDecal to IsDeferredDecal
to be more correct
Change 3009946 on 2016/06/10 by Martin.Mittring
minor optimization
Change 3010270 on 2016/06/11 by HaarmPieter.Duiker
Update gamut transformations used when dumping EXRs to account for bug UE-29935
Change 3011423 on 2016/06/13 by Martin.Mittring
fixed default of bOutputsVelocityInBasePass
#code_review:Rolando.Caloca
#test:PC
Change 3011448 on 2016/06/13 by Martin.Mittring
minor engine code cleanup
#code_review:Olaf.Piesche
#test:PC
Change 3011991 on 2016/06/13 by Daniel.Wright
Fixed downsampled translucency crash in VR
Change 3011993 on 2016/06/13 by Daniel.Wright
Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely'
Mobility tooltips now reflect whether a primitive component or light component is being inspected
Change 3012096 on 2016/06/13 by Daniel.Wright
Missing file from cl 3011993
Change 3012546 on 2016/06/14 by John.Billon
Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled
#Jira OR-23282
Change 3012706 on 2016/06/14 by John.Billon
Renamed r.ContactShadows.Enable to r.ContactShadows
Change 3012992 on 2016/06/14 by Rolando.Caloca
DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled
- Added support for CustomPresent
Change 3013030 on 2016/06/14 by Rolando.Caloca
DR - vk - Fix dev issue
Change 3013423 on 2016/06/14 by Martin.Mittring
removed code redundancy for easier upcoming changes
#test:PC
Change 3013451 on 2016/06/14 by Martin.Mittring
removed no longer needed debug cvar
#test:PC
Change 3013643 on 2016/06/14 by Zabir.Hoque
Fix API only being inlined in the cpp and not avaialble in the .h
Change 3013696 on 2016/06/14 by Olaf.Piesche
Adding missing quality level spawn rate scaling on GPU emitters
Change 3013736 on 2016/06/14 by Daniel.Wright
Cached shadowmaps for whole scene point and spot light shadows
* Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights)
* Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving
* Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached
* Cached shadowmaps are copied each frame and then movable primitive depths composited
* Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap)
* 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness)
* 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights)
Change 3014103 on 2016/06/15 by Daniel.Wright
Compile fix
Change 3014507 on 2016/06/15 by Simon.Tovey
Resurrected Niagara playground and moved to Samples/NotForLicencees
Change 3014931 on 2016/06/15 by Martin.Mittring
moved r.RenderInternals code into renderer to be able to access more low level data
#test:PC, paragon
Change 3014933 on 2016/06/15 by Martin.Mittring
nicer text
Change 3014956 on 2016/06/15 by Daniel.Wright
Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
Change 3014985 on 2016/06/15 by Uriel.Doyon
Enabled Texture Build shaders on Mac
Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API
Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping.
Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets
#jira UE-30566
#jira UE-31098
Change 3014995 on 2016/06/15 by Rolando.Caloca
DR - vk - Removed RHI thread wait on acquire image
- Move Descriptor pool into context
Change 3015002 on 2016/06/15 by Rolando.Caloca
DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine
Change 3015041 on 2016/06/15 by Martin.Mittring
fixed ImageValidator crashing when using files that exist only in ref or test folder
Change 3015309 on 2016/06/15 by Rolando.Caloca
DR - vk - Enable fence re-use on SDKs >= 1.0.16.0
Change 3015356 on 2016/06/15 by Rolando.Caloca
DR - vk - Prep for staging buffer refactor
Change 3015430 on 2016/06/15 by Martin.Mittring
minor optimization for subsurfacescatteringprofile
Change 3016097 on 2016/06/16 by Simon.Tovey
Enabling Niagara by default in the Niagara playground
Change 3016098 on 2016/06/16 by Simon.Tovey
Some misc fixup to get niagara working again
Change 3016183 on 2016/06/16 by Rolando.Caloca
DR - vk - Recreate buffer view for volatile buffers
Change 3016225 on 2016/06/16 by Marcus.Wassmer
Duplicate reflection fixes from 4.12 hotfixes.
Change 3016289 on 2016/06/16 by Chris.Bunner
Always gather MP_Normal definitions as they can be shared by other material properties.
#jira UE-31792
Change 3016294 on 2016/06/16 by Daniel.Wright
Fix for ensure accessing CVarCacheWPOPrimitives in game
Change 3016305 on 2016/06/16 by Daniel.Wright
Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been
Change 3016330 on 2016/06/16 by Daniel.Wright
Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back
Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light
Stats for shadowmap memory used under 'stat shadowrendering'
Change 3016506 on 2016/06/16 by Daniel.Wright
Fixed crash building map in SunTemple due to null access
Change 3016703 on 2016/06/16 by Uriel.Doyon
Fixed warning due to floating point imprecision when building texture streaming
Change 3016718 on 2016/06/16 by Daniel.Wright
Volume lighting samples use adaptive sampling final gather
* Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting)
Change 3016871 on 2016/06/16 by Max.Chen
Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation.
Copy from Dev-Sequencer
#jira UE-32093
Change 3017189 on 2016/06/16 by Zabir.Hoque
Fix GBuffer format selection type-o.
#CodeReview: Marcus.Wassmer
Change 3017241 on 2016/06/16 by Martin.Mittring
optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing
#code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden
Change 3017856 on 2016/06/17 by Rolando.Caloca
DR - Missing GL enum
Change 3017910 on 2016/06/17 by Ben.Woodhouse
- Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates
- Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering
Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24)
#RB:Keli.Hloedversson,Martin.Mittring
Change 3018126 on 2016/06/17 by Ben.Woodhouse
Fix build warning on Mac
#RB:David.Hill
Change 3018167 on 2016/06/17 by Chris.Bunner
Handle case when float4 is passed to TransformPosition material node.
#jira UE-24980
Change 3018246 on 2016/06/17 by Benjamin.Hyder
Submitting Preliminary ShadowRefactor TestMap
Change 3018330 on 2016/06/17 by Benjamin.Hyder
labeled ShadowRefactor map
Change 3018377 on 2016/06/17 by Chris.Bunner
Removed additional node creation when initializing a RotateAboutAxis node.
#jira UE-8034
Change 3018433 on 2016/06/17 by Rolando.Caloca
DR - Fix some clang warnings on Vulkan
Change 3018664 on 2016/06/17 by Martin.Mittring
unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812)
#test:PC
#code_review:Marcus.Wassmer,Brian.Karis
Change 3019023 on 2016/06/19 by Benjamin.Hyder
Re-Labeled ShadowRefactor map
Change 3019024 on 2016/06/19 by Benjamin.Hyder
Correcting Translucent Volume (Non-Directional) settings
Change 3019026 on 2016/06/19 by Benjamin.Hyder
Correcting Lighting ShadowRefactor map
Change 3019414 on 2016/06/20 by Allan.Bentham
Refactor mobile shadows
Change 3019494 on 2016/06/20 by Gil.Gribb
Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3019504 on 2016/06/20 by John.Billon
-Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk.
-Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints.
-Created a small common interface for blueprints and the editor itself to use for exporting.
#Jira UE-31429
Change 3019561 on 2016/06/20 by Gil.Gribb
UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager.
Change 3019616 on 2016/06/20 by Rolando.Caloca
DR - Replicate change in DevRendering to fix splotches on characters with morph targets
Change: 3019599
O - Fix flickering on heroes with morph targets
Change 3019627 on 2016/06/20 by Rolando.Caloca
DR - Doh! Compile fix
Change 3019674 on 2016/06/20 by Simon.Tovey
Ripped out the quick hacky VM debugger I wrote a while back.
Over complicated the VM and didn't do enough work to justify it.
Will revisit debugging and profiling of VM scripts in future.
Change 3019691 on 2016/06/20 by Ben.Woodhouse
Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed.
This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs).
#RB:Martin.Mittring, Daniel.Wright
Change 3019741 on 2016/06/20 by John.Billon
Fixed compile error on mac.
Change 3019984 on 2016/06/20 by Martin.Mittring
minor optimization
Change 3020172 on 2016/06/20 by Zachary.Wilson
Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none
Change 3020195 on 2016/06/20 by Zachary.Wilson
Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none
Change 3020196 on 2016/06/20 by Rolando.Caloca
DR - Appease static analysis
Change 3020231 on 2016/06/20 by Zachary.Wilson
Making basic shapes consistent distance field resolution scale. #rb: none
Change 3020468 on 2016/06/20 by David.Hill
CameraWS UE-29146
Change 3020502 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee Camera for RenderOutputValidation
Change 3020508 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee for RenderOutputValidation
Change 3020514 on 2016/06/20 by Benjamin.Hyder
Setting Autoplay for AutomationMatinee (sequence)
Change 3020561 on 2016/06/20 by Daniel.Wright
Removed outdated comment on uniform expression assert
Change 3021268 on 2016/06/21 by Daniel.Wright
Scaled sphere intersection for indirect capsule shadows
* Fixes the discontinuity when capsule axis points close to the light direction
* GPU cost is effectively the same (more expensive to compute, but tighter culling)
Change 3021325 on 2016/06/21 by Daniel.Wright
Split ShadowRendering.cpp into ShadowDepthRendering.cpp
Change 3021355 on 2016/06/21 by Daniel.Wright
Fixed RTDF shadows (broken by shadowmap caching)
Change 3021444 on 2016/06/21 by Daniel.Wright
Fixed crash due to Depth drawing policy not using the default material shader map properly
Change 3021543 on 2016/06/21 by Daniel.Wright
Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash
Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns
Change 3021749 on 2016/06/21 by Daniel.Wright
Moved RenderBasePass and dependencies into BasePassRendering.cpp
Moved RenderPrePass and dependencies into DepthRendering.cpp
Change 3021766 on 2016/06/21 by Benjamin.Hyder
Adding 150dynamiclights level to Dev-Folder
Change 3021971 on 2016/06/21 by Daniel.Wright
Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation
* TLM_SurfacePerPixelLighting now behaves like TLM_Surface
Change 3022760 on 2016/06/22 by Chris.Bunner
Merge fixup.
Change 3022911 on 2016/06/22 by Rolando.Caloca
DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders
Change 3023037 on 2016/06/22 by Rolando.Caloca
DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed
Change 3023139 on 2016/06/22 by Daniel.Wright
Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled
Change 3023231 on 2016/06/22 by Daniel.Wright
Only allowing opaque per-object shadows or CSM in the mobile renderer
Change 3023415 on 2016/06/22 by Daniel.Wright
Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target
Change 3024888 on 2016/06/23 by Daniel.Wright
Fixed preshadows being rendered redundantly with multiple lights
Change 3025119 on 2016/06/23 by Martin.Mittring
added MeshDecal content to RenderTest
Change 3025122 on 2016/06/23 by Martin.Mittring
enabled DBuffer for RenderTest
Change 3025153 on 2016/06/23 by Marc.Olano
Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10.
Needed to use world space without shader offsets, not absolute world space.
Change 3025180 on 2016/06/23 by Marc.Olano
Use translated world space for particle centers.
Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables.
Change 3025265 on 2016/06/23 by David.Hill
Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer
#jira UE-26165
Change 3025269 on 2016/06/23 by Ryan.Brucks
Adding new Testmap for Pixel Depth Offset velocities with Temporal AA
Change 3025345 on 2016/06/23 by Benjamin.Hyder
Submitting MeshDecal Content
Change 3025444 on 2016/06/23 by Benjamin.Hyder
updating content for MeshDecal
Change 3025491 on 2016/06/23 by Benjamin.Hyder
Updating DecalMesh Textures
Change 3025802 on 2016/06/23 by Martin.Mittring
added to readme
Change 3026475 on 2016/06/24 by Rolando.Caloca
DR - Show current state of r.RHIThread.Enable when not using param
Change 3026479 on 2016/06/24 by Rolando.Caloca
DR - Upgrade glslang to 1.0.17.0
Change 3026480 on 2016/06/24 by Rolando.Caloca
DR - Vulkan headers to 1.0.17.0
Change 3026481 on 2016/06/24 by Rolando.Caloca
DR - Vulkan wrapper for extra logging
Change 3026491 on 2016/06/24 by Rolando.Caloca
DR - Missed file
Change 3026574 on 2016/06/24 by Rolando.Caloca
DR - vk - Enabled fence reuse on 1.0.17.0
- Added more logging info
Change 3026656 on 2016/06/24 by Frank.Fella
Niagara - Prevent sequencer uobjects from being garbage collected.
Change 3026657 on 2016/06/24 by Benjamin.Hyder
Updating Rendertestmap to latest
Change 3026723 on 2016/06/24 by Rolando.Caloca
DR - Fix for ES3.1 RHIs
Change 3026784 on 2016/06/24 by Martin.Mittring
New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on)
Change 3026866 on 2016/06/24 by Olaf.Piesche
#jira OR-18363
#jira UE-27780
fix distortion in particle macro uvs
[CL 3028922 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2975196 on 2016/05/12 by Robert.Manuszewski
Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading.
- This way we can avoid very long GC times after new blueprints have been loaded.
- Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes)
Change 2993960 on 2016/05/30 by Robert.Manuszewski
Fixing leaked linkers created by blocking load requests during async loading.
Change 2959398 on 2016/04/28 by Steve.Robb
TMap references are strong and cannot be nulled by pending kill. This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled.
#jira UE-20828
Change 2960723 on 2016/04/29 by Graeme.Thornton
Fix for texture asset import data being ignored when async loaded
Change 2960938 on 2016/04/29 by Robert.Manuszewski
Nulling out sql db handle after closing it.
Change 2967127 on 2016/05/05 by Steve.Robb
Move constructors explicitly disabled in generated code.
Change 2967143 on 2016/05/05 by Steve.Robb
Static analysis fixes:
warning C6326: Potential comparison of a constant with another constant.
Change 2967164 on 2016/05/05 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer
Change 2968650 on 2016/05/06 by Steve.Robb
Fix for HotReload copying module manager.
Change 2968915 on 2016/05/06 by Robert.Manuszewski
Fixing spelling of SetImageIntegrityStatus function name.
Change 2970406 on 2016/05/09 by Steve.Robb
Static analysis fixes:
Function uses '...' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 2970419 on 2016/05/09 by Steve.Robb
Static analysis fixes:
warning C6326: Potential comparison of a constant with another constant.
warning C6011: Dereferencing NULL pointer '...'.
warning C6385: Reading invalid data from '...': the readable size is '...' bytes, but '...' bytes may be read.
warning C6386: Buffer overrun while writing to '...': the writable size is '...' bytes, but '...' bytes might be written.
Change 2970431 on 2016/05/09 by Steve.Robb
Static analysis fixes:
warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results.
Change 2972032 on 2016/05/10 by Steven.Hutton
Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries.
Change 2972085 on 2016/05/10 by Steve.Robb
Const-correctness fix for FLogCategoryBase::IsSuppressed.
Change 2972087 on 2016/05/10 by Steve.Robb
ELogVerbosity moved into its own header.
Change 2972090 on 2016/05/10 by Steve.Robb
Redundant ensure removed.
Change 2972103 on 2016/05/10 by Steve.Robb
Removal of redundant use of USING_CODE_ANALYSIS.
Change 2972139 on 2016/05/10 by Steve.Robb
Fix for ensure macros throwing C6326 warnings during static analysis.
Change 2972147 on 2016/05/10 by Steve.Robb
Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis.
Change 2972162 on 2016/05/10 by Steve.Robb
SCOPE_CYCLE_COUNTER_GUARD removed.
Change 2972168 on 2016/05/10 by Steve.Robb
Compile error fix for logOrEnsureNanError in static analysis builds.
Change 2973084 on 2016/05/10 by Chris.Wood
Crash Report Server performance tweak
Change 2974030 on 2016/05/11 by Steve.Robb
Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*.
Change 2974053 on 2016/05/11 by Steve.Robb
Static analysis fixes:
warning C6326: Potential comparison of a constant with another constant.
Change 2974191 on 2016/05/11 by Steve.Robb
Fix for template instantiation error in VS2013.
Change 2975298 on 2016/05/12 by Steve.Robb
Static analysis fixes:
warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 2975318 on 2016/05/12 by Steve.Robb
Fix for hot reload info being reported as warnings.
#jira UE-30586
Change 2975447 on 2016/05/12 by Steve.Robb
Static analysis fixes:
warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator?
warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator?
warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant. Did you intend to use the bitwise-and operator?
warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant. <expression> is never evaluated and might have side effects.
warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead?
warning C6316: Incorrect operator: tested expression is constant and non-zero. Use bitwise-and to determine whether bits are set.
Change 2975478 on 2016/05/12 by Steve.Robb
Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings.
Change 2975538 on 2016/05/12 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'StaticResource'
Change 2976640 on 2016/05/13 by Robert.Manuszewski
Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked.
#jira UE-30675
Change 2978320 on 2016/05/16 by Steve.Robb
Fix for static analysis warnings in XNA headers.
Change 2978329 on 2016/05/16 by Steve.Robb
Static analysis fixes:
warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results: Parentheses can be used to disambiguate certain usages.
Change 2980222 on 2016/05/17 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'.
warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.
Change 2980458 on 2016/05/17 by Chris.Wood
Attempt to fix crash report submission problems from CRP to CR website
[UE-30257] - Crashreports are sometimes missing file attachments
Passing crash GUID so that website can easily check for duplicates in future
Increased request timeout for AddCrash to be longer than website database timeout
Logging retries for future visibility
CRP v.1.1.6
Change 2980639 on 2016/05/17 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'.
warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.
Change 2981750 on 2016/05/18 by Steve.Robb
check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly.
Change 2982106 on 2016/05/18 by John.Mahoney
Fixed a crash caused by loading two stat capture files simultaneously in the profiler.
If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load.
Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId.
This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading.
Cleaned up some weak pointer usage in the profiler window.
#jira UE-30741
Change 2983366 on 2016/05/19 by Steven.Hutton
Changes for passing crash type directly from CRP to CRW.
Change 2983394 on 2016/05/19 by Steven.Hutton
Minor changes to add crash with more error reporting
Change 2984685 on 2016/05/20 by Robert.Manuszewski
Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core)
Change 2985143 on 2016/05/20 by Steve.Robb
Missing semi-colons.
Change 2986463 on 2016/05/23 by Steve.Robb
CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs.
Change 2986475 on 2016/05/23 by Steve.Robb
Static analysis fixes:
warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and.
Change 2986476 on 2016/05/23 by Steve.Robb
Static analysis fixes:
warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and.
Change 2986480 on 2016/05/23 by Steve.Robb
Static analysis fixes:
warning C6326: Potential comparison of a constant with another constant
Change 2986515 on 2016/05/23 by Steve.Robb
Static analysis fixes:
warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func'
Change 2986680 on 2016/05/23 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Ptr': the writable size is 'X' bytes, but 'Y' bytes might be written.
warning C6387: 'Ptr' could be '0': this does not adhere to the specification for the function 'Func'
warning C6031: Return value ignored: 'snprintf'.
warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'.
Change 2986865 on 2016/05/23 by Robert.Manuszewski
Removing redundand AddReferencedObjects functions
Change 2987968 on 2016/05/24 by Robert.Manuszewski
Removing redundant UPROPERTY macros from intrinsic classes.
Change 2987979 on 2016/05/24 by Steve.Robb
Optimization of some FString and FPaths operations to produce fewer temporaries.
Change 2988297 on 2016/05/24 by Steve.Robb
Static analysis fixes:
warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 2988430 on 2016/05/24 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'var': the readable size is 'X' bytes, but 'Y' bytes may be read.
Change 2988461 on 2016/05/24 by Steve.Robb
Static analysis fixes:
warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
Change 2988464 on 2016/05/24 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses 'X' bytes of stack: exceeds /analyze:stacksize 'Y'. Consider moving some data to heap.
Change 2988494 on 2016/05/24 by Steve.Robb
Static analysis fixes:
warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 2989411 on 2016/05/25 by Robert.Manuszewski
Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds.
Change 2989429 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6387: '_Param_(X)' could be '0': this does not adhere to the specification for the function 'Func'.
Change 2989982 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'LODPlanesMin'.
Change 2990018 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'X'
Change 2990077 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
warning C6011: Dereferencing NULL pointer 'Ptr'.
Change 2990114 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.
Change 2990125 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
Change 2990162 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
Change 2990193 on 2016/05/25 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did.
warning C6011: Dereferencing NULL pointer 'Semantic'.
Change 2991006 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C28113: Accessing a local variable dummy via an Interlocked function: This is an unusual usage which could be reconsidered.
Change 2991012 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'.
Change 2991013 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 2991016 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 2991017 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6326: Potential comparison of a constant with another constant.
Change 2991019 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6292: Ill-defined for-loop: counts up from maximum.
Change 2991023 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6322: Empty _except block.
warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations.
Change 2991070 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did.
Change 2991416 on 2016/05/26 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Ptr'.
Change 2992738 on 2016/05/27 by Steve.Robb
Revert changes to FString::MatchesWildcard.
Change 2992916 on 2016/05/27 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Ptr'.
Change 2992960 on 2016/05/27 by Chris.Wood
Optimized P4 access in Crash Report Process and MinidumpDiagostics.
Change 2992964 on 2016/05/27 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Ptr'.
Change 2993956 on 2016/05/30 by Robert.Manuszewski
Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload.
#jira UE-31309
Change 2993977 on 2016/05/30 by Robert.Manuszewski
Don't wait for all packages to finish loading before PostLoading those which already have.
Change 2994206 on 2016/05/31 by Robert.Manuszewski
PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium)
#lockdown Nick.Penwarden
[CL 2996251 by Robert Manuszewski in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2976484 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: nick.atamas
Added queueing to HUD Alerts so they don't clobber each other.
Added input visualization so that keys show up in game.
SRichTextBlock/UOrionRichTextBlock now have a MinDesiredWidth
#test PIE
#ROBOMERGE-SOURCE: CL 2976474 in //Orion/Release-0.26/... via CL 2976481 via CL 2976482 via CL 2976483
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976256 on 2016/05/12 by Zak.Middleton
#ue4 - Fix for shipping build.
#tests compiled
Change 2976205 on 2016/05/12 by Zak.Middleton
#ue4 - (Merge 2957866) Add MaxDepenetration for characters against geometry and pawns.
#tests MP PIE PlayGo
(Merging CL 2957866 using Framework->DevGeneral)
Change 2976166 on 2016/05/12 by Daniel.Lamb
Cooking optimziation to unsolicited markup saves 150 seconds paragon cook time.
#test Cook paragon
Change 2976161 on 2016/05/12 by Zak.Middleton
#ue4 - Make sure LastUpdateLocation, Rotation, and Velocity are updated on client and server error corrections. ForcePositionUpdate should call PerformMovement regardless of velocity (there may be root motion or gravity effects).
#tests PIE MP w/ real-world networking
Change 2976092 on 2016/05/12 by Mieszko.Zielinski
Modified adding dynamic subtrees to BT component so that we get a log info if it fails #UE4
#test golden path
Change 2976001 on 2016/05/12 by Robert.Manuszewski
Don't log to memory on dedicated servers
#jira UE-30693
#test Cooked dedicated server and client
Change 2975855 on 2016/05/12 by Lukasz.Furman
fixed behavior tree serialization spawning duplicates of task services
#tests BT editor
Change 2975706 on 2016/05/12 by Daniel.Lamb
Fixed redirect collector stats.
#test Compile
Change 2975636 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 2975557
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith, tony.oliva, jaymee.stanford, mona.huang, alex.conner, jacob.lawyer, paul.shank
#ROBOMERGE-SOURCE: CL 2975635 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2975592 on 2016/05/12 by Zak.Middleton
#ue4 - Add stat for SetHitResultFromShapeAndFaceIndex().
#tests PIE
Change 2975589 on 2016/05/12 by Zak.Middleton
#ue4 - Avoid filling temp variable unless in Editor builds. It's only used later in the function in Editor builds.
#tests PIE
Change 2975588 on 2016/05/12 by Zak.Middleton
#ue4 - Minor tweak to avoid array read each loop iteration.
#tests PIE
Change 2975587 on 2016/05/12 by Zak.Middleton
#ue4 - Add "IsPlayerController()" function to AController. Variable already existed, just wasn't exposed.
#tests PIE
Change 2975504 on 2016/05/12 by Daniel.Lamb
Remove new stats system because it broke build.
#test cook paragon
Change 2975500 on 2016/05/12 by Daniel.Lamb
Enable redirect timers so I can get stats from build machines.
#test cook paragon.
Change 2975367 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.nikdel
#OGF #CatalogService #OSS #Localization
- Flush the cached offers/items in CatalogServiceMcp when the culture changes since they contain localized text
- Flush the cached virtual catalog offers/items in McpCatalogHelper when the culture changes since they contain localized text
- Replaced SetForceCatalogRefresh with ClearCache per CR with SamZ (will require Launcher fixup)
[CodeReviewed]: Sam.Zamani, Matt.Kuhlenschmidt
#RB: Sam.Zamani
#TESTS: storefront w/ language change
#ROBOMERGE-SOURCE: CL 2975366 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2975209 on 2016/05/12 by Simon.Tovey
Fixed initialization order warning.
#tests none
Change 2975200 on 2016/05/12 by Simon.Tovey
Translucency GPU time stats for automation.
Refactored separate translucency gpu timer to more general helper class and used it to also time regular translucency.
Feeding both of these into a stat to help art identify poorly performing VFX for more detailed investigation.
There are occasional spikes when the GPU is starved but overall the data out seems good.
#tests GoldenPath, Editor, Auto downsampling works, new stat produces reasonable data.
Change 2974984 on 2016/05/11 by Mieszko.Zielinski
Fixed a bug in graph-a-star heuristics' calculation #UE4
#test golden path
Change 2974916 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2974578
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2974915 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974869 on 2016/05/11 by Ben.Marsh
BuildGraph: Add a MergeTelemetryWithPrefix="..." parameter to the <Command> task which allows merging the telemetry data from a child UAT run, adding a given prefix to all the key names.
#tests none
Change 2974673 on 2016/05/11 by Mieszko.Zielinski
Fix to BT not stopping if "StopTree" called while BT was waiting for a task to latently abort #UE4
(change by ?ukasz.Furman)
#test golden path
Change 2974581 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
Merged CL 2974565 from Release-.26 -> Main:
Fixed loc region not saving in shipping builds
Partially fixed store not refreshing when changing regions. Real money currency items are pending additional fixes
#ROBOMERGE-SOURCE: CL 2974578 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974444 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Reimplement support for specifying BuildPatchTool version used in chunking
This is now possible after Ben Marsh's fix to BuildGraph with CL 2974407.
#tests none
#ROBOMERGE-SOURCE: CL 2974441 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974408 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: ben.marsh
BuildGraph: Fix support for variable expansion in user-defined enum types. Enums in the schema are now represented as the union of valid values and a regex matching a balanced property expansion string, which still validates/autocompletes cleanly in Visual Studio.
#tests none
[CodeReviewed] Richard.Fawcett
#ROBOMERGE-SOURCE: CL 2974407 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974392 on 2016/05/11 by Daniel.Lamb
Optimizing resolve string asset reference resolution.
Added timing stats (disabled by default).
#test Cook paragon.
Change 2974349 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Back out changelist 2974298. An issue with the BuildGraph system has prevented this change from working on the build farm.
#tests none
#ROBOMERGE-SOURCE: CL 2974347 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974299 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Add support for chunking builds with the pre-release version of BuildPatchTool.
#tests None. This code will be tested by creating a build on the build farm immediately after submission.
#ROBOMERGE-SOURCE: CL 2974298 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974277 on 2016/05/11 by Lina.Halper
Fix up of retargeting when it skips replacing nested reference
#tests: retargeting anim BP
Change 2974210 on 2016/05/11 by Bart.Bressler
Merging Oodle changes from Dev-Networking
Change 2939167 on 2016/04/10 by John.Barrett
Updated packet bit termination code, so that both UNetConnection's and the PacketHandler use a termination bit (required for both PacketHandler/UNetconnection, as HandlerComponent's such as Oodle, are byte-aligned and do not preserve packet bit size).
Added new 'stat packet' stats group, for tracking reserved packet bits.
Added '-NoPacketHandler' commandline parameter, for disabling the PacketHandler and all HandlerComponent's (including stateless handshake) - restoring netcode to pre-PacketHandler state.
Removed PacketHandler 'packet overhead' method of packet bit size calculation - replaced with termination bit. Still partially used for reserving bits within packets (but renamed to avoid conflict with other 'PacketOverhead' variable).
Refactored/consolidated some PacketHandler code. Added more stringent bounds checking on packet sizes.
Change 2939168 on 2016/04/10 by John.Barrett
Updated Oodle to support new packet bit-termination code.
Added Oodle protocol support for selective packet compression (packets can now be sent uncompressed - game code will require a hook for this) - required for new bit-based netcode (Oodle outputs byte-aligned data, allowing compressed data to exceed size of uncompressed data - and thus, maximum packet size if not sent uncompressed - in rare edge cases).
Added '-CompressionTest' commandline parameter to Oodle dictionary generation commandlet, which reserves a portion of captured packets, for determining the compression savings percentage.
Added '-OodleDebugDump' commandline parameter, which disables normal dictionary generation, and converts packet captures into a .bin file, which is compatible with the Oodle 'example_packet.cpp' code.
Added temporary security bandaids to Oodle code, based on report that Luigi Auriemma put together, which deals with potential weaknesses in the Oodle API
Added 'stat oodle' stats for tracking failed attempts at compressing packets.
Change 2942964 on 2016/04/10 by Ryan.Gerleve
Fix broken indentation/formatting
Change 2958260 on 2016/04/27 by Bart.bRessler
Add branch name and changelist to oodle packet capture filenames.
Change 2964360 on 2016/05/03 by John.Barrett
Updated Oodle to support using a dictionary and capturing packets at the same time.
The dictionary is now always loaded, if specified, and whenever -OodleCapturing is on the commandline, packets are captured alongside the active dictionary.
Added several debug commands, to aid with testing compression performance (not QA-ready; only works with 1 player on a server):
"Oodle Compression On/Off" - enables/disables packet compression (but still decompresses received compressed packets)
"Oodle Dictionary Unload/Load" - unloads/loads the dictionary files, to allow releasing the files for dictionary generation, and reloading the new dictionary.
"Oodle Capture On/Off" - Enables/Disables packet capturing at runtime - requires '-OodleCapturing' on commandline.
"Oodle ResetStats" - resets the 'stat oodle' stat counters.
The NetcodeUnitTest plugin should be enabled, so that these commands can automatically execute on the server as well, as needed.
Change 2964553 on 2016/05/03 by Bart.Bressler
Add process ID to oodle capture filenames
Change 2966247 on 2016/05/04 by John.Pollard
Oodle 2.1.5 SDK
Change 2968761 on 2016/05/06 by Bart.Bressler
- Added changelist number as parameter to most command line tasks to filter captures by their changelist number (use "all" to get everything)
- Moved a bunch of the file searching/processing code outside of the tasks themselves so that the tasks all just operate to an array of capture files, this makes it easier to create new command line options
- When looking for capture files, we will now recursively search subdirectories
Change 2970529 on 2016/05/09 by Bart.Bressler
Add an optional "CapturePercentage" command line parameter that has a percentage chance of generating capture files per connection
Change 2970874 on 2016/05/09 by Bart.Bressler
- Turn on OODLE_DEV_SHIPPING in the Orion server shipping config so that captures can be generated in shipping builds
- Link to version 215 of oodle
Change 2971233 on 2016/05/09 by Bart.Bressler
Update Oodle DLLs in Orion
Change 2971362 on 2016/05/09 by Bart.Bressler
Create script for building an oodle dictionary out of capture files in an arbitrary location
Change 2972176 on 2016/05/10 by Bart.Bressler
Update oodle references to version 215 in OodleHandlerComponent.Build.cs
#tests used solo vs. ai to test oodle captures and using them
Change 2974035 on 2016/05/11 by Simon.Tovey
Adding fx.ParticleCollisionIgnoreInvisibleTime to replace hard coded time.
This is the time a PSC needs to be invisible for to have all it's collisions ignored.
This is potentially the cause of a bug Tim et al are seeing.
#tests Editor, Can be used to repro/fix the issue.
Change 2973985 on 2016/05/11 by Lina.Halper
Retargeting fix with editor saving issue
#tests: retargeting
Change 2973695 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2973469
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2973694 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2973679 on 2016/05/11 by Graeme.Thornton
UAT parameter -signedpak now no longer implies -pak
#tests win64 cooked client. checked that pak generation works as expected through project launcher
Change 2973588 on 2016/05/11 by Simon.Tovey
OR-21033 - Get physical material from particle collision event exposed in Cascade / Blueprint
Particles can now receive collision events selectively based upon the phyisics material of the hit.
Physics material is passed through the event and can be accessed in BPs.
The Event Receiver Spawn node also now has an array of Allowed and Banned phys materials.
#tests Editor and game. Coudln't test cooked as having unrelated crashes in cooked games. Shouldn't be any cooked/uncooked issues here.
Change 2973394 on 2016/05/11 by bruce.nesbit
Fixed couple of shadow vars
#tests compiled
Change 2973335 on 2016/05/11 by Andrew.Grant
Warning fix
#tests compiled
Change 2973308 on 2016/05/10 by Dmitry.Rekman
Add "unplayable condition" reporting.
- The server will report an unplayable condition by creating a local file (under Saved).
- An external script can possibly notice this and, applying its own logic on % of servers reporting it, profile or shutdown the whole machine.
- Report file is to be deleted by an external script.
#tests Compiled and ran Linux server, subjected it to various hitches.
Change 2973235 on 2016/05/10 by Zak.Middleton
#ue4 - Removed allocs after initial spawn from client saved move processing in character movement.
#tests PIE multiplayer w/ Bots
Change 2973157 on 2016/05/10 by Olaf.Piesche
Merging CL 2973112 from //UE4/Dev-Rendering->//Orion/Dev-General
Providing particle source and target for beam emitters
#tests editor game PC
Change 2972715 on 2016/05/10 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2972681
#RB: none
#Tests:none
#ROBOMERGE-SOURCE: CL 2972712 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2972678 on 2016/05/10 by Mieszko.Zielinski
Fixed babysitter bot not avoiding enemy towers when pathfinding back to base #Orion
#jira OR-18590
#test golden path
Change 2972595 on 2016/05/10 by Lina.Halper
Animation Retargeting fix for blendspaces
#code review: Benn.Gallagher, Martin.Wilson
#tests: retargeting anim BP
Change 2972282 on 2016/05/10 by Daniel.Lamb
Optimized string asset reference resolution slightly to help get back missing 10 minutes from paragon cook.
#test cook paragon.
Change 2972260 on 2016/05/10 by Laurent.Delayen
Fixed crash in UCharacterMovementComponent::HasRootMotionSources().
#tests Chains pull not crashing anymore.
Change 2972241 on 2016/05/10 by Frank.Fella
UMG - Fixes for material animation copied from 4.12.
#RB Matt K.
#TESTS Struct materials can now be animated and animated materials are named nicely.
Change 2971643 on 2016/05/09 by Dmitry.Rekman
Add reporting of "zero load" frame times (OR-21035).
- Added a thread that does nothing but sleeps and counts how often it missed the target FPS.
- Added an analytics event ServerZeroLoadFrameTimeDistribution that is sent at the end of the match.
- Server only.
#tests Compiled and ran Linux server on a compatible content, played few matches in a row.
Change 2971544 on 2016/05/09 by Ben.Marsh
EC: Use a full path to the telemetry file, to account for UAT switching directories.
Change 2971532 on 2016/05/09 by Wes.Hunt
Alter the cook stats hierarchical profile data to reflect the latest cook changes.
#tests none
Change 2971527 on 2016/05/09 by Ben.Marsh
UAT: Move telemetry object into CommandUtils, so we can add stats from anywhere.
#tests none
Change 2971461 on 2016/05/09 by David.Ratti
Fix issues with mesh swap skins:
-Front end intro animations not playing
-In game spawn animations not playing
-Some attachment weirdness (twinblast)
#tests golden path
Change 2971460 on 2016/05/09 by David.Ratti
Fallback to Target actor if there is no instigating actor in the GAmeplayCue parameters when determining if we should play "local only" effects
#tests pie
Change 2971364 on 2016/05/09 by Ben.Marsh
EC: Add support for adding custom telemetry data from UAT scripts, which gets piped through to the trends panel in EC.
#tests none
Change 2971245 on 2016/05/09 by Dmitry.Rekman
Add a "hitchhunter" log message to catch hitches while sleeping.
#tests Compiled and ran Linux server on a compatible content.
Change 2971196 on 2016/05/09 by jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2971139
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2971168 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Coil/Audio/Body/Pixie_Cranking_Loop_Cue.uasset - can't branch exclusive file already opened
#CodeReview: david.nikdel, jason.bestimt
Change 2971113 on 2016/05/09 by Dmitry.Rekman
UdpMessaging: Fixed broken filters for when to enable UDP transport.
- Redoing MaxP's change from Dev-Sequencer (CL 2963357).
- Reduces number of threads spawned by the server.
#tests Compiled Linux server, ran it on a compatible content.
Change 2971040 on 2016/05/09 by jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2970990
#RB:none
#Tests:none
[CodeReviewed]: jon.lietz
#ROBOMERGE-SOURCE: CL 2971027 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: david.nikdel, jason.bestimt
Change 2970555 on 2016/05/09 by Ben.Marsh
BuildGraph: Only show warnings and errors for the SavePackage log during cooks. Prevents redundant display of information that's already in the Cook log.
#tests preflight here: https://ec-01.epicgames.net/commander/link/jobDetails/jobs/6443796
Change 2970507 on 2016/05/09 by David.Ratti
Support for linking passive abilities to a key binded ability. E.g., allow a passive ability to be unlocked and leveled up in step with a key binded ability.
Cleaned up the TryLevel/CanLevelUp code a bit: moved to Orion Ability System Component
#tests pie
Change 2970414 on 2016/05/09 by Graeme.Thornton
Don't take a copy of the child tags array when doing UGameplayTagsManager::FindTagNode, just take a const&
#tests win64 client golden path
Change 2969729 on 2016/05/06 by Mieszko.Zielinski
Fixed a dumb mistake in a conditional expresion in UNavigationQueryFilter::GetQueryFilter #UE4
#test golden path
Change 2969675 on 2016/05/06 by Mieszko.Zielinski
Implemented "meta navigation filter" that can fetch a filter class based on given agent #UE4
Added NavFilter_AIControllerDefault that fetched DefaultNavigationFilter from AIController
Reverted hack-feature that supplied same functionality to EQS
#test golden path
Change 2969652 on 2016/05/06 by Michael.Noland
HLOD: Changed UI gating code so that whether or not a LOD Actor is valid is based on the presence of at least two static mesh components, rather than at least two actors (to improve handling when including BPs)
- Repurposed HasValidSubActors for this check, and introduced HasAnySubActors() for the existing uses as this better matches the intent of how the function was used
#tests Added a single BP containing 7 mesh components to a new ALODActor and verified that it allowed a proxy to be generated
Change 2969651 on 2016/05/06 by Michael.Noland
Simplygon: Added time taken for simplygon mesh reduction to the log message
#tests Simplified a LOD cluster and inspected the log
Change 2969604 on 2016/05/06 by Uriel.Doyon
Changed default value to true for UParticleModuleVectorFieldLocal::bUseFixDT.
#tests confirmed that default value has changed for old assets, while allowing override.
Change 2969418 on 2016/05/06 by jason.bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Fixed unconverted char string being passed as part of build info
#tests ran & verified patch check passes
#ROBOMERGE-SOURCE: CL 2969417 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2968817 on 2016/05/06 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2968572
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2968813 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2968383 on 2016/05/05 by Mieszko.Zielinski
Added "default navigation filter" to AIController #UE4
Also, made EQS take advantage of that
#test golden path
Change 2968225 on 2016/05/05 by John.Pollard
Add sanity checks and more info to help track down possible memory corruption
#tests Networking, replication
Change 2967903 on 2016/05/05 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2967827
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2967902 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2967899 on 2016/05/05 by Lina.Halper
Merged change of 2956152
Remove invalid ensure - this didn't work if you have composite inside.
#tests: none
Change 2967870 on 2016/05/05 by Andrew.Grant
Fix for OR-20731 (gamever crashes client)
#tests gamever at console with -game
Change 2967606 on 2016/05/05 by Wes.Hunt
Tweaked output log message for HTTP module shutdown.
#tests none
Change 2967359 on 2016/05/05 by Wes.Hunt
HttpManager will log outstanding requests on shutdown so people can debug shutdown issues and ensure their requests get flushed properly. Also changed default LogHttp logging level to display so these messages can be shown by default without using warning level.
#tests ran editor build and queued up an event using the console command, then quit immediately. the log indeed showed that HttpManager had to wait at least 0.5 seconds for the request to complete.
Change 2966987 on 2016/05/05 by Dmitry.Rekman
Fix editor build.
#tests Compiled Win64 editor.
Change 2966977 on 2016/05/05 by Dmitry.Rekman
Added collecting and reporting periodic server frame time distribution.
- Added generic FHistogram class and necessary analytic events.
- Also added reporting hostname (OR-20842).
#tests Built Linux server and ran a few matches on a compatible content.
Change 2966920 on 2016/05/04 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2966805
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2966919 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2966778 on 2016/05/04 by Michael.Noland
Rendering: Fixed shadow variable warning in GPUProfiler
#tests Compiled and tested GPUProfiler command
Change 2966769 on 2016/05/04 by Mieszko.Zielinski
Fixed GraphAStar not resetting the output path before fillinf it with results #UE4
#test golden path
Change 2966704 on 2016/05/04 by Michael.Noland
Rendering: Added triangle and draw call summaries to ProfileGPU output, broken up by asset and material
- This is controlled by r.ProfileGPU.PrintAssetSummary, which defaults to 1, but you really need r.ShowMaterialDrawEvents 1 enabled as well for a complete picture
- It can also output a summary line for speciifc asset names using a comma separated list in r.ProfileGPU.AssetSummaryCallOuts (e.g., "LOD,HeroName")
#tests Used ProfileGPU a number of times
Change 2966696 on 2016/05/04 by Michael.Noland
Engine: Embedded FPS chart preamble/postamble/row .html files into ChartCreation.cpp to permanently solve packaging woes
#tests Tested FPS charts in an uncooked and cooked build
#jira OR-19713
Change 2966336 on 2016/05/04 by Lukasz.Furman
fixed jungle minions unable to reach spawn locations when camp resets
#jira OR-20700
#tests jungle camp POC
Change 2965948 on 2016/05/04 by David.Ratti
Changes to how passive abilities activate
-Passives now continually try to activate by default rather than only on spawn
Support for Status.Immortal
-Prevents death, fies AbilityTriggerEvent.ImmortalProc when this happens.
-Clamps health to 1.
Fixed bug in muriel passive where ShieldHealthRegen would be left in the world where muriel died.
Fixed bunch of crap in GA_OnSpawn that was causing desync on client at start of match
#tests multi pie
Change 2965870 on 2016/05/04 by Ryan.Gerleve
Duplicated fix from Release-4.12 by marc.audy, CL 2960819:
Owned components are once again referenced by their Owning actor for GC purposes
#jira UE-29131
#tests golden path
Change 2965798 on 2016/05/04 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2965789
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2965796 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2965220 on 2016/05/03 by Dmitry.Rekman
Log instance id and system id (OR-20782).
- These ids get reported in multiple analytics events, having them logged is helpful for quickly mapping events to the log file.
#tests Compiled Linux server, ran on compatible client.
Change 2964907 on 2016/05/03 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 2964858
#RB:none
#Tests:none
Change 2964530 on 2016/05/03 by Laurent.Delayen
Renamed GetSlotRootMotionWeight to GetSlotNodeGlobalWeight and made it double buffered to it's safe to access anytime.
Added GetSlotMontageGlobalWeight() to get the Global Weight of a montage being played on a Slot. (Also double buffered).
Added GetInstanceMachineWeight() to get Global Weight of a State Machine in the AnimGraph. (Also double buffered)
Added FAnimInstanceProxy::GetStateMachineIndexAndDescription to avoid searching through the AnimNodeProperties twice.
#tests Chains full feature system in PIE.
Change 2964498 on 2016/05/03 by Frank.Fella
DecalComponent - Fix visibility so that it behaves like other scene components with regard to the editor visibility, component visibility, and actor hidden in game flags.
#RB Andrew Rodham
#TESTS Visibility for decals works like other scene components in the editor, and their visibility can now be animated properly by sequencer.
Change 2964428 on 2016/05/03 by Benn.Gallagher
Fixed stale clothing chunk/section references after container realloc in editor
#tests editor
Change 2964316 on 2016/05/03 by bruce.nesbit
Banner revisions
Banners now use components for various banner items
Banners can now be enabled when killing a hero.
#tests PIE+Game
Change 2964187 on 2016/05/03 by Jon.Lietz
Speeding up the tag count check in UAbilitySystemComponent::RegisterAndCallGameplayTagEvent()
- Remove the call to GetAggregatedStackCount and creating a FGameplayEffectQuery every time we call RegisterAndCallGameplayTagEvent
- Added GetTagCount to the UAbilitySystemComponent that will call GetTagCount on the GameplayTagCountContainer
#RB DanY
#tests JIP shadow pad still works.
Change 2964136 on 2016/05/03 by Laurent.Delayen
Fix crash while switching tabs using Persona.
#tests not crashing anymore.
Change 2964083 on 2016/05/03 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2963929
[CodeReviewed]: andrew.grant
HTTP Manager has larger stack size (1024)
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2964080 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2963771 on 2016/05/02 by Nick.Atamas
Setting a desired size scale invalidates layout and volatility.
#test none
Change 2963555 on 2016/05/02 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
Change 2963387 on 2016/05/02 by Laurent.Delayen
Added GatherDebugData to FABRIK node.
#tests showdebug animation works on Chains now.
Change 2963331 on 2016/05/02 by Jon.Lietz
fixing compile error, dont need the clamp just the ternary on the EventType and pass down the tag count or 1.
#RB none
#tests compiles
Change 2963106 on 2016/05/02 by Rob.Cannaday
Increase HTTP thread's stack size to 128k
We discovered a stack overflow when the stack size was 64kb in LavasoftTcpService64.dll (Ad-Aware's Lavasoft Web Companion)
#tests log in
Change 2963047 on 2016/05/02 by Jon.Lietz
OR-20206 for JIP we need to call the bound function if we already have the tag on reconnect.
- adding a new function in UAbilitySystemComponent, RegisterAndCallGameplayTagEvent this will bind the passed in delegate and if the ability system has that tag already will execute the delegate.
#RB Dave.Ratti
#test shadow pad, slow, stun and root still trigger and trigger for JIP players.
Change 2962836 on 2016/05/02 by jason.bestimt
#ROBOMERGE-AUTHOR: andrew.grant
[NULL MERGE]
Duplicating 2961899 - Fix minimal code builds for Linux not overwriting files
[CodeReviewed] Ben.Marsh
#ROBOMERGE-SOURCE: CL 2962812 in //Orion/Release-0.24.2/... via CL 2962830 via CL 2962833 via CL 2962834 via CL 2962835
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2962570 on 2016/05/02 by Jason.Bestimt
#ORION_MAIN - Merge MAIN @ CL 2962544
#RB:none
#Tests:none
Change 2962552 on 2016/05/02 by Ben.Marsh
Avoid output of warnings containing the string "error:" (and causing the EC post processor to fail the build) if posting build info has a human-readable error message instead. Output should probably be changed to parse out/sanitize the actual failure message if it's meant to retry and succeed, but this will stop failures caused by multiple builds being posted with the same build version.
#tests none
Change 2962506 on 2016/05/02 by Ben.Marsh
Add a version string to identify a given build (FApp::GetBuildVersion()/BUILD_VERSION) which is distinct from the engine version. Defaults to <Escaped Branch Name>-CL-<Changelist>, but can be overriden by specifying a -Build=... argument to UpdateLocalVersion or the "Build" attribute to the SetVersion BuildGraph task.
#tests Preflighted Win64 client/server build (P:\Builds\Orion\++Orion+Dev-General-CL-2962228-PF-2945494-6398155-PF-2945494-6398155) and loaded into Agora. Checked that version strings appear correctly in generated executables.
Change 2962228 on 2016/04/30 by Dmitry.Rekman
Move processing HTTP requests into separate thread (OR-20723).
- First iteration of the implementation, pending implementing feedback.
- Adds a separate thread for CurlHttp where actual processing is performed.
- Coded by RobC, post-processed by me.
#tests Compiled Linux server and Windows client, ran them on compatible content, played a match.
Change 2961899 on 2016/04/29 by Ben.Marsh
BuildGraph: Fix minimal Linux server builds not overwriting the existing executables, by adding an "Overwrite" parameter into the staging task. Windows exe-only patches already happen to bypass this bug by deleting the Binaries/Win64 directory (designed to remove any configurations that weren't built this time), but could still fail if changes had been made to some other staged binaries.
#tests preflighted code-only build against DG CL 2960870 and compared output (P:\Builds\Orion\++Orion+Dev-General-CL-2961878-PF-2961895-6393603)
Change 2961587 on 2016/04/29 by Daniel.Lamb
Redirector doesn't fire callback if it fails to be loaded.
#test Cook orion.
Change 2961458 on 2016/04/29 by Wes.Hunt
Cooker Stats improvements. Also removed some old UBT telemetry that was not being used.
#tests many cooks of orion
Change 2961136 on 2016/04/29 by Daniel.Lamb
Readded caching of platform data into postload of materials.
#test Cook paragon.
[CL 2979220 by Ben Marsh in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2943963 on 2016/04/14 by Daniel.Wright
Shader compile errors are unsuppressed
Change 2943978 on 2016/04/14 by Gil.Gribb
UE4 - First pass at async loading improvements....mostly disabled.
Change 2944021 on 2016/04/14 by Martin.Mittring
fixed HLSL compiler warning
Change 2944031 on 2016/04/14 by Martin.Mittring
fixed ensures, wrapped some members behind get accessor functions
Change 2944086 on 2016/04/14 by Martin.Mittring
cleanup: removed not needed code
Change 2944177 on 2016/04/14 by Daniel.Wright
Clamp on FarShadowCascadeCount, prevents crashing from huge values
Change 2944182 on 2016/04/14 by Martin.Mittring
removed not needed code
Change 2944250 on 2016/04/14 by Rolando.Caloca
DR - vk - Minor fixes
Change 2944286 on 2016/04/14 by Daniel.Wright
Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking
Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions
Added bShowPreviewPlane to planar reflection actors
The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes
Change 2944288 on 2016/04/14 by Daniel.Wright
Fixed refraction with a world space normal
Change 2944291 on 2016/04/14 by Daniel.Wright
Panner nodes have an optional speed input
Change 2944346 on 2016/04/14 by Rolando.Caloca
DR - Fix Vulkan shader platform on Android
- Added more info on checks()
Change 2945007 on 2016/04/15 by Gil.Gribb
Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2945348 on 2016/04/15 by Daniel.Wright
Fixed compile error
Change 2945358 on 2016/04/15 by Olaf.Piesche
#jira UE-29241
Sequential particle selection code was all sorts of weird. Rewrote and simplified.
Change 2945941 on 2016/04/15 by Martin.Mittring
added r.DisplayInternals to debug determinism for screen shot comparison
Change 2945999 on 2016/04/15 by Martin.Mittring
improved r.DisplayInternal output
Change 2946023 on 2016/04/15 by Olaf.Piesche
Adding missing call to Super::PostEditChangeProperty; UDN 286717
Change 2947155 on 2016/04/18 by Martin.Mittring
started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up
#test:PC
Change 2947207 on 2016/04/18 by Martin.Mittring
fixed engine compiling in shipping/test
#code_review:Uriel.Doyan
Change 2947212 on 2016/04/18 by Uriel.Doyon
Lightmap density viewmode now shows the wanted resolution when the lighting isn't build.
#jira UE-29317
Change 2947374 on 2016/04/18 by Uriel.Doyon
Fixed support for resolution scale for the PostProcessVisualizeComplexity
#jira UE-29473
Change 2947903 on 2016/04/19 by Gil.Gribb
Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2948019 on 2016/04/19 by Rolando.Caloca
DR - Allow vk format as a target format for win
Change 2948162 on 2016/04/19 by Simon.Tovey
Fix for crash with Collision visualization.
Change 2948419 on 2016/04/19 by Martin.Mittring
fixed sort priority of translucent rendering (caused by recent checkin)
Change 2948433 on 2016/04/19 by Martin.Mittring
fixed memory handling of FRendererViewExtension
Change 2948631 on 2016/04/19 by Martin.Mittring
fixed compile error on Mac
Change 2948832 on 2016/04/19 by Martin.Mittring
fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues)
Change 2949013 on 2016/04/19 by Martin.Mittring
refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping
this is useful for MeshDecals
#test:PC, parallel on and off
Change 2949620 on 2016/04/20 by Martin.Mittring
fixed compiler warning
Change 2949639 on 2016/04/20 by Uriel.Doyon
Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader
Change 2949721 on 2016/04/20 by Chris.Bunner
Avoid creating additional inline code fragment casting matching uniform types.
#jira UE-29089
Change 2949722 on 2016/04/20 by Chris.Bunner
Prevent nullptr crash and added additional logging.
#jira UE-28387
Change 2949913 on 2016/04/20 by Martin.Mittring
marked ccommand as cheat
Change 2950064 on 2016/04/20 by Martin.Mittring
added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background
Change 2950065 on 2016/04/20 by Martin.Mittring
nicer debug printout
Change 2950201 on 2016/04/20 by Martin.Mittring
fixed UE-29752 Console commands input with " = " should display an error message
Change 2950531 on 2016/04/20 by Martin.Mittring
fixed comment
Change 2951737 on 2016/04/21 by HaarmPieter.Duiker
Adds support forHDR displays using Dolby PQ output
Change 2951869 on 2016/04/21 by Martin.Mittring
polish r.DisplayInternal
Change 2951950 on 2016/04/21 by HaarmPieter.Duiker
Reordered variable definition to address build warning
Change 2951996 on 2016/04/21 by Martin.Mittring
fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation",
changed directory order
to run locally it currently requires "r.ScreenshotDelegate=0"
#code_review:Ben.Salem, Michael.Noland
Change 2952146 on 2016/04/21 by Olaf.Piesche
make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures
Change 2952230 on 2016/04/21 by Martin.Mittring
* Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec .
* changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber
#code_review:Daniel.Wright
Change 2953173 on 2016/04/22 by Olaf.Piesche
Adding UI for easilly browsing and switching in a folder full of stats dumps
Change 2953213 on 2016/04/22 by Olaf.Piesche
Renaming a stat to be more descriptive
Change 2953393 on 2016/04/22 by Zabir.Hoque
Get DX12 running again:
- Port Shader Resource Table change
- Line up VS outputs and ps inputs
- Fix incorrectly defining a static global in a .h
Change 2953453 on 2016/04/22 by Martin.Mittring
polished r.DisplayInternal
Change 2954618 on 2016/04/25 by Zabir.Hoque
2 Fixes:
- GLSL does not understand "unsigned int", converted to "uint"
- Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction.
Change 2955369 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Fix some memory leaks in the frontend
Change 2955403 on 2016/04/25 by Uriel.Doyon
Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux.
Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4
#jira UE-28840
Change 2955419 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Reenabled support for static global variables being not const
Change 2955432 on 2016/04/25 by Zabir.Hoque
Fix build break from not undef'ing LOCTEXT_NAMESPACE
Change 2955459 on 2016/04/25 by Zabir.Hoque
TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.
Change 2956292 on 2016/04/26 by Zabir.Hoque
Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output).
#CodeReview: Jack.Porter, Allan.Bentham
Change 2956662 on 2016/04/26 by Chris.Bunner
Temporary fix for new Tonemapper issues.
#jira UE-29935
Change 2957614 on 2016/04/27 by Marcus.Wassmer
Fix PS4 shader compiler errors.
Change 2958468 on 2016/04/27 by Rolando.Caloca
DR - Fix hlslcc validation issue
- Show error on SCW if shader format not found when running with -directcompile
#jira UE-29982
Change 2959105 on 2016/04/28 by Rolando.Caloca
DR - Rebuilt hlslcc for Mac
Change 2959891 on 2016/04/28 by Daniel.Wright
Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields
Change 2959895 on 2016/04/28 by Daniel.Wright
Work around build machine string matching heuristics that will cause a cook to fail
Change 2959902 on 2016/04/28 by Daniel.Wright
Added LowerHemisphereSolidColor to sky lights
Change 2959930 on 2016/04/28 by Daniel.Wright
Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles
Change 2959933 on 2016/04/28 by Daniel.Wright
Substring matching for console command suggestions
* Only implemented in the editor, game uses UConsole which needs an entirely different implementation
* Not sorting starting matches first, although that is desired
Change 2959942 on 2016/04/28 by Daniel.Wright
Gracefully handle when input string doesn't match search results
Change 2960743 on 2016/04/29 by Gil.Gribb
UE4 - UAT - Add map name to editortest command line.
Change 2960940 on 2016/04/29 by Chris.Bunner
Allow custom material nodes to be used with tessellation outputs.
#jira UE-29586
Change 2960955 on 2016/04/29 by Gil.Gribb
UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled).
Change 2960961 on 2016/04/29 by Chris.Bunner
Potential material translator Lerp node pre-computations/optimizations.
#jira OR-20138
Change 2961087 on 2016/04/29 by Gil.Gribb
Fixed compile error in preflight relating to load time test rig
Change 2962565 on 2016/05/02 by Gil.Gribb
Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2965058 on 2016/05/03 by Chris.Bunner
Shader version bump.
#lockdown Gil.Gribb
#jira UE-30206
Change 2966554 on 2016/05/04 by Chris.Bunner
Bumping shader version again, unintentionally polluted DDC previously.
#lockdown Gil.Gribb
#jira UE-30329
Change 2967183 on 2016/05/05 by Gil.Gribb
UE4 - Fixed a bad hash on landscape grass components. Simple, safe.
#lockdown nick.penwarden
[CL 2967480 by Gil Gribb in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2910079 on 2016/03/15 by Taizyd.Korambayil
#jira UE-28293 Reworded some Sentences
Change 2910157 on 2016/03/15 by Taizyd.Korambayil
#jira UE-28240 Rebuilt Lighting for Sanctuary
Change 2910317 on 2016/03/15 by Ben.Marsh
Fix crash trying to print out a message explaining that you need to install the Visual Studio 2015 toolchain, if the Visual Studio 2015 toolchain is not installed!
Change 2910425 on 2016/03/15 by Ori.Cohen
Fix crash and incorrect behavior when setting physical material on a welded body.
#JIRA UE-28399
#rb Marc.Audy
Change 2910525 on 2016/03/15 by Ori.Cohen
Fix player capsule not spawning at the right place due to float precision issues.
#JIRA UE-28438
#rb Zak.Middleton
Change 2910595 on 2016/03/15 by Chris.Babcock
Fixed issue with missing event location paired with IE_Pressed if IE_DoubleClick generated
#jira UE-28051
#ue4
#codereview Marc.Audy
Change 2911442 on 2016/03/16 by Andrew.Rodham
Sequencer: Fixed frame grabbers where hardware mapped surfaces to memory of a different stride
#jira UE-28434
Change 2911596 on 2016/03/16 by andrew.porter
Test content for blueprint vertex painting
#jira UE-24473
Change 2911860 on 2016/03/16 by Jamie.Dale
Allowed SViewport to (once again) be able to use non-pre-multiplied alpha blending
SViewport now has an PreMultipliedAlpha argument (default true), which can control whether to use pre-multiplied alpha when blending is enabled (blending is disabled by default). Note: This is a change in behavior from 4.10, as non-pre-multiplied alpha blending used to be the default, but pre-multiplied alpha blending better supports the pipeline used through Slate.
This change also cleans up the use of bool parameters in the FSlateDrawElement::MakeX functions to control the render behavior, instead favoring use of advanced ESlateDrawEffect flags.
API Breaking Changes
- FSlateDrawElement::MakeGradient no longer takes a bInGammaCorrect bool, instead pass ESlateDrawEffect::NoGamma as part of InDrawEffects to disable gamma correction.
- FSlateDrawElement::MakeViewport no longer takes a bInGammaCorrect bool, instead pass ESlateDrawEffect::NoGamma as part of InDrawEffects to disable gamma correction.
- FSlateDrawElement::MakeViewport no longer takes a bInAllowBlending bool, instead pass ESlateDrawEffect::NoBlending as part of InDrawEffects to disable blending.
#jira UE-26797
Change 2912345 on 2016/03/16 by Olaf.Piesche
Removing the check that causes UE-28441, duplicating beam type data module from highest LOD in Cascade causes crash. The beam data module is the only one that explicitly checks to make sure it's always shared across LOD levels; there's no obvious reasons why duplicating beam data modules shouldn't be possible.
#codereview simon.tovey
#jira UE-28441
Change 2912526 on 2016/03/16 by Steve.Robb
Fix uninitialized variables.
#codereview robert.manuszewski
#jira UE-28391
Change 2913114 on 2016/03/17 by Steve.Robb
Fixed some private properties which caused UHT errors.
#codereview robert.manuszewski
#jira UE-28059
Change 2913295 on 2016/03/17 by Richard.TalbotWatkin
Replicated from Dev-Editor CL 2913224
Disallow assets from being deleted if PIE is active. This prevents various troubles which can occur when PIE is referencing asset objects.
#jira UE-12387 - [CrashReport] Crash when deleting assets needed for template
#RB Nick.Darnell, Frank.Fella
Change 2913310 on 2016/03/17 by Nick.Shin
merging from //UE4/Dev-Platform to //UE4/Release-4.11
--- original commit CL: #2913300 message ---
corrected VS 2015 websocket lib to look at the right offset
it is currently a high risk change to just update the libwebsocket wholesale for release-4.11.
this change is the most minimum invasive change with a lot of deep analysis (details will be put in jira: # UEPLAT-1221).
this fix will also be pushed up to release-4.11
#jira UE-22166 - HTML5 Cook on the fly will launch and then close browser
#jira UE-22513 - HTTP Network File System crashes randomly.
#jira UE-28003 - Fail to QuickLaunch HTML5 through UnrealFrontEnd
Change 2913593 on 2016/03/17 by Mark.Satterthwaite
For non-debug builds silence the warning about no deth/stencil when shader writes to depth in MetalRHI - the RHI implementation will create a temporary D/S buffer to cope but really this needs to be properly addressed elsewhere.
#jira UE-28491
Change 2913655 on 2016/03/17 by Taizyd.Korambayil
#jira UE-28492 Rebuilt Lighting For the Samples Listed
Change 2914025 on 2016/03/17 by Olaf.Piesche
Make sure ST primitives are added to NST draw list if in shader complexity mode
#codereview simon.tovey
#jira UE-28471
Change 2914027 on 2016/03/17 by Nick.Shin
[CL 2941462 by Ben Marsh in Main branch]