#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 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]
==========================
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 2967522 on 2016/05/05 by Martin.Mittring
fixed UE-30208 Ensure taking high resolution screenshot
renamed cvar from r.SaveUncompressedEXRFrame to r.SaveEXR.CompressionQuality and change meaning
Change 2967541 on 2016/05/05 by Martin.Mittring
added cvar help entry to the editor menu
Change 2967544 on 2016/05/05 by Martin.Mittring
* added ensures to track down UE-22073 [CrashReport] Crash when changing Editor Window Size - FDeferredShadingSceneRenderer::ClearTranslucentVolumeLighting()
* fixed typo
* improved r.DisplayInternals
Change 2967685 on 2016/05/05 by Rolando.Caloca
DR - Fix 2013 compile
#jira UE-30369
Change 2967883 on 2016/05/05 by Olaf.Piesche
Making inherit rotation work for mesh particles
#jira UE-30153
Change 2967948 on 2016/05/05 by Daniel.Wright
MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
Change 2967954 on 2016/05/05 by Daniel.Wright
New refraction mode 'Pixel Normal Offset', which uses the difference between the per-pixel normal and the per-vertex normal to compute the refraction offset. This is useful for refraction from large water surfaces without reading outside of screen bounds as much.
Change 2967970 on 2016/05/05 by Olaf.Piesche
Improvement for depth buffer collision; reduce tunneling by sampling midpoint instead of predicted position.
#jira UE-27297
Change 2968125 on 2016/05/05 by Daniel.Wright
Hopeful fix for mac compile error with enum
Change 2968126 on 2016/05/05 by Daniel.Wright
Forward declare to fix compile error
Change 2969070 on 2016/05/06 by Martin.Mittring
fixed Clang Compile error
Change 2969224 on 2016/05/06 by Martin.Mittring
fixed Clang
Change 2969275 on 2016/05/06 by Rolando.Caloca
DR - Fix for simulation time from BP not matching material editor expression time
#jira UE-26431
Change 2969413 on 2016/05/06 by Daniel.Wright
Simple forward shading path
* Support for a directional light in the base pass, which can be shadowed either by distance field shadowmaps or a single shadow factor from the Indirect Lighting Cache
* Binding and outputting to GBuffers is disabled when using simple forward shading, along with dependencies of the GBuffers
* Specular, normal maps and the 3rd SH band of skylighting are all hardcoded off. Materials are forced fully rough.
* Enabled with 'r.SimpleForwardShading 1', which can be changed at runtime
* Added r.SupportSimpleForwardShading, which determines if the necessary shaders are compiled
* Removed r.SimpleDynamicLighting, whose functionality (unshadowed directional light in the base pass) is a subset of simple forward shading, and was unused
Change 2969414 on 2016/05/06 by Daniel.Wright
Added cvar 'r.Fog' for scalability
Change 2969415 on 2016/05/06 by Daniel.Wright
Low end scalability setup for Paragon
Change 2969583 on 2016/05/06 by Daniel.Wright
Effectively disabled the WRITES_PRECSHADOWFACTOR_TO_GBUFFER optimization, as all combinations use the GBuffer target
* This fixes bSingleSampleShadowFromStationaryLights which was broken in cl 2863775 when selective GBuffer outputs was enabled
Change 2969597 on 2016/05/06 by Olaf.Piesche
Adding emitter tick times to Cascade viewport overlays
#jira UE-25172
Change 2969599 on 2016/05/06 by Daniel.Wright
Added r.Shadow.ForceSingleSampleShadowingFromStationary for scalability
Change 2969795 on 2016/05/06 by Daniel.Wright
Made r.SimpleForwardShading a scalability cvar
Change 2969796 on 2016/05/06 by Daniel.Wright
Enabled simple forward shading for the lowest shadow quality in Paragon
* Moved Orion.Character.NonLocalHeroPreshadows to be under shadow quality
* Enabling r.Shadow.ForceSingleSampleShadowingFromStationary when shadows are disabled through r.ShadowQuality
Change 2972338 on 2016/05/10 by Martin.Mittring
Added ImageValidator V0.11 to Perforce (for automated screenshot comparison)
Change 2972450 on 2016/05/10 by Martin.Mittring
fixed sorting issues, added column sort
Change 2972564 on 2016/05/10 by Martin.Mittring
fixed PixelCountToFail
Change 2972572 on 2016/05/10 by Martin.Mittring
added color
Change 2972667 on 2016/05/10 by Daniel.Wright
Capsule shadows support an off-center projection - fixes stereo rendering
Indirect lighting cache is updated for primitives with a visible indirect capsule shadow - fixes indirect shadows disappearing when the caster is off-screen in the Static skylight case
Change 2972687 on 2016/05/10 by Martin.Mittring
split data from view
Change 2972713 on 2016/05/10 by Martin.Mittring
background validation
Change 2972742 on 2016/05/10 by Martin.Mittring
do not lock files in folder
Change 2972837 on 2016/05/10 by Daniel.Wright
Comment for tiled reflection culling edge failure case
Change 2972891 on 2016/05/10 by Daniel.Wright
Simple forward shading only supported on PC now
Change 2972927 on 2016/05/10 by Martin.Mittring
fixed comparison, added directory watcher
Change 2972952 on 2016/05/10 by Martin.Mittring
tooltips
Change 2972965 on 2016/05/10 by Martin.Mittring
readme
Change 2972986 on 2016/05/10 by Martin.Mittring
polish
Change 2973015 on 2016/05/10 by Zabir.Hoque
Clamp max cubemap resolutions for reflection capture component.
Change 2973067 on 2016/05/10 by Uriel.Doyon
Removed temporary streaming data from ULevel. Now the data goes directly in FStreamingManagerTexture.
Removed deprecated classes and structures associated with old data.
Uniformized dynamic primitives and static primitives streaming logic.
Static primitive instances are now bound to level component and have visibility information.
MeshTexCoordSize Debug now shows live update when tweaking "StreamingDistanceMultiplier"
Change 2973129 on 2016/05/10 by Martin.Mittring
fixed crash (uninit var)
Change 2973167 on 2016/05/10 by Olaf.Piesche
Fixing mac compiler warnings; removed beam tangent from particle source and target, as it's treated separately anyway.
Change 2973654 on 2016/05/11 by Gil.Gribb
FIxed bad resolve from main merge
Change 2973787 on 2016/05/11 by Simon.Tovey
PR #2080: Added 7 additional blueprint nodes and assoicated functions to Particle System Compoenent (Contributed by alwintom)
#2080
Change 2973794 on 2016/05/11 by Simon.Tovey
GitHub 1646 : Increase Wireframe Linear Color Value for Particles in Cascade Preview viewport
#1646
Change 2973814 on 2016/05/11 by Chris.Bunner
Fixed D3D warning.
Change 2973868 on 2016/05/11 by Martin.Mittring
fixed compiler warning
Change 2974104 on 2016/05/11 by Uriel.Doyon
Optimized TextureStreaming ASync task by improving cache efficency.
Removed ForcedFullyLoad texture sets and merged them with the other entries (to prevent checking in two data structures).
Change 2974163 on 2016/05/11 by Uriel.Doyon
Fixed Editor Build
Change 2974263 on 2016/05/11 by Olaf.Piesche
Fix for particle beam source/target selection
Change 2974313 on 2016/05/11 by Martin.Mittring
nicer icon
Change 2974632 on 2016/05/11 by Martin.Mittring
zoom (mouse wheel) and pan support
Change 2974651 on 2016/05/11 by Martin.Mittring
UE-30565 Blend Radius does not override Priority for blendable post process material array
#test:PC
Change 2974994 on 2016/05/12 by Uriel.Doyon
Fixed uninitialized members in texture streaming when updating dynamic primitives.
#jira UE-30632
Change 2975514 on 2016/05/12 by Olaf.Piesche
Getting mesh particle transform down to pixel shader, making available in TransformVector/TransformPosition nodes
#udn 288158, and requests from several artists
Change 2975970 on 2016/05/12 by Zabir.Hoque
Enable setting high precision normals/tangets as a part of static mesh import.
Change 2976134 on 2016/05/12 by Daniel.Wright
Moved RHI prefix out of command list macros so you can find callers in a Find in Files for RHIBlendState, etc
Change 2976135 on 2016/05/12 by Daniel.Wright
Added material property bAllowNegativeEmissiveColor which is useful when rendering to an offscreen render target
Change 2976139 on 2016/05/12 by Daniel.Wright
Blueprint can now be used to draw to a TextureRenderTarget2D with DrawMaterialToRenderTarget
Canvas can now draw to a TextureRenderTarget2D in a Blueprint with BeginDrawCanvasToRenderTarget / EndDrawCanvasToRenderTarget
Change 2976199 on 2016/05/12 by Brian.Karis
Improved screen space ray cast intersection heuristic.
Change 2976203 on 2016/05/12 by Brian.Karis
Fixed hair NaNs
Change 2976214 on 2016/05/12 by Zabir.Hoque
Fix compiler error on Clang
Change 2976239 on 2016/05/12 by Brian.Karis
Improved hair shadows
Change 2976240 on 2016/05/12 by Brian.Karis
Made recompileshaders specific file work again. Kind of hacky but better than nothing
Change 2976290 on 2016/05/12 by Zabir.Hoque
Few more clang compiler fixes.
#jira UE-30713
Change 2976517 on 2016/05/13 by Zabir.Hoque
Final set of fixes for compile breaks.
Change 2976535 on 2016/05/13 by Zabir.Hoque
Fix mono builds
Change 2977270 on 2016/05/13 by Zabir.Hoque
Incorrectly used 7 as max texcoords. Corrected to #define MAX_TEX_COORDS
#lockdown gil.gribb
Change 2980140 on 2016/05/17 by Gil.Gribb
Merging //UE4/Dev-Main@2980127 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
Change 2980211 on 2016/05/17 by Ben.Marsh
EC: Build DDC in Dev-Rendering every 3 hours.
#lockdown Gil.Gribb
Change 2980876 on 2016/05/17 by Michael.Trepka
Metal shader compile fix
#lockdown gil.gribb
[CL 2981788 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2932679 on 2016/04/04 by Martin.Mittring
remove hack/cvar that is not longer needed as we fixed the bug
#rb:Bob.Tellez
#code_review:Bob.Tellez
Change 2932681 on 2016/04/04 by Martin.Mittring
fixed cvars in consolevariables.ini can affect engine even if marked with cheat (no longer load consolevariables.ini in shipping and test), unified 3 code path, added testcase, cvars with cheat in ini file other than consolevariables.ini now trigger ensure, =on/off/true/false/.. works in all ini files,
added enure if non scalability setting are used in ScalabilityIni (get now ignored)
#rb:David.Hill
#code_review:Marcus.Wassmer, Michael.Noland
Change 2932719 on 2016/04/04 by Marcus.Wassmer
Merge 3 band SH back to DevRendering
#rb Daniel.Wright
Change 2932760 on 2016/04/04 by Zabir.Hoque
Migrating high resolution cubemaps for skylight and reflection probes.
#rb: Daniel.Wright
Change 2933121 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix free blocks not getting joined
- Fix compile issue
Change 2933122 on 2016/04/05 by Rolando.Caloca
DR - Do not shorten dumped shaders path
Change 2933126 on 2016/04/05 by Rolando.Caloca
DR - vk - Index Buffers using new resource management
Change 2933127 on 2016/04/05 by Rolando.Caloca
DR - vk - Extract multibuffer off index buffer
Change 2933131 on 2016/04/05 by Rolando.Caloca
DR - vk - Transition to vb's using mutlibuffer
Change 2933136 on 2016/04/05 by Rolando.Caloca
DR - vk - Change staging buffers to use resource allocation system
- Fix free block not getting joined
- Remove define
Change 2933140 on 2016/04/05 by Rolando.Caloca
DR - vk - 'static' textures now use resource mgmt
- Release free pages back to the OS
- Remove ensure
Change 2933152 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix aliasing granularity
- Fix renderpass end/copy buffer ensure
Change 2933155 on 2016/04/05 by Rolando.Caloca
DR - SCW - Fix for -directcompile to directly load file for preprocessor
Change 2933158 on 2016/04/05 by Rolando.Caloca
DR - hlslcc - Error on Metal if trying to R & W on RWTextures
- Fix indices on RW reads to be unsigned
#codereview Mark.Satterthwaite, Michael.Trepka
Change 2933169 on 2016/04/05 by Rolando.Caloca
DR - vk - Move header to public to match changes on DevMobile
Change 2933173 on 2016/04/05 by David.Hill
Deferred decal rendering with negative scale
#rb:Matrin.Mittring
#jira:UE-27389
Change 2933273 on 2016/04/05 by Rolando.Caloca
DR - vk - Fix renderdoc markers
Change 2933274 on 2016/04/05 by Rolando.Caloca
DR - Support for -AttachDebugger
Change 2933316 on 2016/04/05 by Rolando.Caloca
DR - vk - Compile fix whene enabling define
Change 2933334 on 2016/04/05 by Rolando.Caloca
DR - Compile fix
#codereview Martin.Mittring
Change 2933805 on 2016/04/05 by Brian.Karis
Temporal AA dynamic antighosting.
Fixed DOF
Change 2933811 on 2016/04/05 by Brian.Karis
Fixed area light NaNs. Improvements to area lights. Horizen handling for wrap around.
Change 2933812 on 2016/04/05 by Brian.Karis
Fixed fresnel on SSS skin.
Change 2933813 on 2016/04/05 by Brian.Karis
Tessellation fix
Change 2933816 on 2016/04/05 by Brian.Karis
Improved forward shading support
[CL 2943241 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2821445 on 2016/01/08 by Olaf.Piesche
More vertex factory improvements, storing off particle vertex factories on the scene proxy instead of the dynamic data to avoid recreating all the time; saves up to 2ms render thread time according to QA's testing.
#rb martin.mittring
Change 2821520 on 2016/01/08 by Olaf.Piesche
Coloring subuv modules green for easier visual ID
#rb martin.mittring
Change 2823479 on 2016/01/11 by Chris.Bunner
Updated Lightmass HLOD logic to avoid HLODs shadowing non-related meshes. Duplicated CL#2823104 from Dev-General.
Change 2823570 on 2016/01/11 by Zabir.Hoque
Introduce multiplier that controls decal fade speed.
#CodeReview: Martin.Mittring
#1777
Change 2823615 on 2016/01/11 by Uriel.Doyon
Fixed stencil ref multithreading issue.
Fixed state caching when depth range is enabled.
#jira UE-24564
#review marcus.wassmer
Change 2823652 on 2016/01/11 by Zabir.Hoque
Rename FadeSpeedScale -> FadeDurationScale to be logically more consistent.
#CodeReview: Martin.Mittring
Change 2824065 on 2016/01/11 by Brian.Karis
Fixed last viewrect motion blur bug. Enabled new motion blur algorithm for default.
Change 2825432 on 2016/01/12 by Zabir.Hoque
Store off view matrices at at time of freezing and base lod selection useing relevant matrices, thus allows lods to be frozen. #OR-10918
#CodeReview: Marcus.Wassmer, Rolando.Caloca, Martin.Mittring
Change 2825971 on 2016/01/12 by Brian.Karis
New motion blur enabled.
Change 2825974 on 2016/01/12 by Brian.Karis
Fixed refraction check value. 1 does nothing not 0.
Change 2825975 on 2016/01/12 by Brian.Karis
Cloth gets skylight for movable sky.
Change 2827519 on 2016/01/13 by Zabir.Hoque
ALLOW_UAV_CONDITION did not have a safe fallback when not SM5.0 && COMPILER_SUPPORTS_ATTRIBUTES.
#CodeReview Martin.Mittring, Rolando.Caloca
Change 2830172 on 2016/01/15 by Rolando.Caloca
DR - Minor cleanup
- Renamed Vertex Factories' struct Data to struct FData
- Removed Data type on FVertexFactory
Change 2830242 on 2016/01/15 by Rolando.Caloca
DR - Prep cleanup for gpu morph targets
- Split common code for GPU skin cache into a base class
- Moved some local static arrays from UpdateMorphVertexBuffer() to static members
#codereview Lina.Halper
Change 2830455 on 2016/01/15 by Rolando.Caloca
DR - Compile fix from bad merge
#jira UE-25557
Change 2832023 on 2016/01/18 by Rolando.Caloca
DR - Removed TangentZDelta_DEPRECATED from FVertexAnimDelta
#rb Marcus.Wassmer
#codereview Lina.Halper
Change 2832067 on 2016/01/18 by Gil.Gribb
UE4 - Changed PC to default to parallel rendering when not in editor. Fixed lack of a stall on texture locks and unlocks coming from texture streamer. Fixed a few cases where stuff was being added to rhicommandlists even when we were bypassed.
Change 2834379 on 2016/01/19 by Gil.Gribb
UE4 - fix perf regression related to cvar
Change 2834864 on 2016/01/19 by Olaf.Piesche
Fixing potential crash with auto-kill trail emitters, fixing use of the wrong flag to auto-deactivate
#codereview gil.gribb
Change 2835777 on 2016/01/20 by David.Hill
EyeAdaptation - using a screen center focus in the weights
#rb Martin Mitring
related to: UE-15509. This is adding the ability to focus the basic eye-adaptation region in the center of the screen, and cvar functionality for paragon testing on ps4
Change 2835778 on 2016/01/20 by David.Hill
EyeAdapation - DefaultFeature for method
#rb Martin.Mitring
Adding a default feature cvar for eye adaptation method
Change 2837410 on 2016/01/20 by David.Hill
OR-13213 SetupPerObjectProjection()
#test:PC
#rb:Martin.Mitring
#codereview:Daniel.Wright
[CL 2845257 by Gil Gribb in Main branch]
#lockdown ben.marsh
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Capsule shadows
* Capsule shadows excel at extremely soft area shadows caused by a large light source angle, but don't support accurate self-shadowing
* Artists can setup a physics asset containing Spheres and Sphyls (capsules) for a skeletal mesh that will be used to represent the mesh's occlusion
* These shapes can then be used for direct shadowing (bCastCapsuleDirectShadow) on a skeletal mesh component, whose softness depends on the light source angle / radius
* The shapes can also be used to create an indirect shadow (bCastCapsuleIndirectShadow), whose direction and softness is derived from the precomputed sky occlusion (stationary sky light) or primary indirect lighting (static sky light)
* Capsule shadowing is computed at half res and uses tiled deferred culling for efficiency - only implemented for PC SM5 + PS4 so far
* Shadowing of movable skylights is not yet supported
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data
Basepass drawlist are now merged within a single drawlist.
Lighting policy parameters are now accessed through a uniform buffer.
Changed the global resource initialization so that InitRHI now comes before InitDynamicRHI
#codereview nick.penwarden
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams
Remove unused RHI methods:
RHIIsDrawingViewport
RHIGpuTimeBegin
RHIGpuTimeEnd
Made default/empty versions of these calls and removed stubs from RHIs that don't use them:
RHISuspendRendering
RHIResumeRendering
RHIIsRenderingSuspended
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lighting channels - each component and light can choose from 3 channels
* Primitives output their channel mask to stencil during the base pass, the masks are copied to a texture after the base pass, deferred lighting passes compare the primitive mask against the light's mask
* Dynamic shadow casting also respects the channels
* Only works on opaque materials, direct lighting, dynamic lighting
* Not implemented for tiled deferred atm
* This will replace CastsShadowsFromCinematicObjectsOnly in the future
#rb Martin.Mittring
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New
First pass at separate Async Compute Context
#codereview Lee.Clark,Daniel.Wright
#rb Gil.Gribb
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
Removed a lot of complexity of the skeletal mesh motionblur code (better for multithreading, simpler, faster) but going from one large buffer to per mesh buffers. Upload of bones only needed once.
* GPUSkinCache didn't even work before (in this branch)
* tested BasePass velocity
* tested split screen
* tested editor pause
* matinee camera cut (no need, invalidates velocity)
* tested CPU Skin? (never has motionblur)
* tested CreateSceneProxy (recreation is prevented in CreteSceneProxy unless bone count changes)
* test ES2 -featureleveles2
#rb: Rolando.Caloca
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data
Embree integration into Lightmass
Can be enabled through Lightmass.ini [DevOptions.StaticLighting]bUseEmbree.
Also [DevOptions.StaticLighting]bVerifyEmbree will compare ray casting results.
Only usable on Win64 with this submit.
#review daniel.wright
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
added SSAO CS version, can be enabled with
r.AmbientOcclusion.Compute 1
Not optimized yet
#rb:Olaf.Piesche
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lightmass solver quality improvements
* IndirectLightingScale is no longer applied to photons, avoids splotchy artifacts when using small scales
* New 'Lightmass Portal' actor / component which tells the solver where to look for significant lighting. When lighting with a Static Skylight only, in a mostly indoor environment, setting up these portals is the only way to get high quality.
* Skylight bounce lighting is now much more accurate and leverages adaptive sampling
* Fixed a bug that effectively disabled adaptive sampling on high IndirectLightingQualities
* Shadow penumbras are also improved by IndirectLightingQuality
* Texel debugging is now a cvar 'r.TexelDebugging', instead of requiring a full recompile
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data
Quad Complexity ViewMode (PCD3D_SM5 only).
Shader Complexity with Quad Overhead ViewMode (PCD3D_SM5 only). Require ShaderComplexity ViewMode & Show.Visualize.QuadOverhead
#review brian.karis
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
improved SSAO quality (less high frequency noise) to avoid TemporalAA smearing
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S
DevRendering - Enable removing unused outputs on PS4 shader pipelines, disable by default removing unused on D3D (toggable with r.D3DRemoveUnusedInterpolators)
#codereview Marcus.Wassmer
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev
Submitting pull request from user Pierdek.
Early out of particle collision module update if there are no active particles.
#github
#1614
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Fixed the experimental r.RHICmdBalanceParallelLists 2 mode and renabled it for orion.
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Added a path so that texture streaming can avoid flushing the RHI thread.
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Added new PrimitiveComponent setting bSingleSampleShadowFromStationaryLights
* When enabled, shadowing of a movable component from a stationary directional light will come from the Volume Lighting Samples precomputed by Lightmass
* This provides essentially free on/off shadow receiving on dynamic objects, with a fade over time between states
* Lighting has to be rebuilt once for this to work
#rb Rolando.Caloca
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Dynamically set stream source to avoid creating a separate drawing policy for each static mesh with vertex colors.
#rb Daniel.Wright
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data
Enabled Embree by default
#review daniel.wright
==========================
ALL CHANGELISTS
==========================
Change 2720123 on 2015/10/07 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - 'integrate' Tem'
Change 2721682 on 2015/10/08 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Eliminated a fatal error '
Change 2721815 on 2015/10/08 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - Fix crash exiti'
Change 2724755 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix Tier'
Change 2724781 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix offse'
Change 2728317 on 2015/10/14 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - hlslcc - Fix fo'
Change 2729170 on 2015/10/14 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Force Lightmass volume sample g'
Change 2732131 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed resource transition issue'
Change 2732218 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code cleanup '
Change 2733533 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Clear stencil to 0 after decals'
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Capsule shadows * Capsule shado'
Change 2733546 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Light shaft targets are only al'
Change 2733602 on 2015/10/19 by Uriel.Doyon@uriel.doyon_office_data 'Decals not writing to Normal ca'
Change 2733627 on 2015/10/19 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix for transition ensure. '
Change 2735292 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for dark lightmap precision'
Change 2735298 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for speedtree LOD transitio'
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data 'Basepass drawlist are now merge'
Change 2737214 on 2015/10/21 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Expanded a warning when importi'
Change 2738581 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Updated comment on stencil usag'
Change 2738583 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Changed bound but not set scene'
Change 2738584 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed skylight occlusion maps b'
Change 2738589 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmap streaming fixes * Chan'
Change 2738593 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fix from licensee for race cond'
Change 2738982 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Activating CanTickOnAnyThread f'
Change 2739032 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Fixing compiler barf with Clang'
Change 2741517 on 2015/10/26 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRindering - D3D12 - Integrat'
Change 2743790 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed texel debugging on static'
Change 2743958 on 2015/10/27 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comments '
Change 2744153 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Unity compile fix '
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams 'Remove unused RHI methods: RHI'
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lighting channels - each compon'
Change 2746242 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix crashes on init by swapping'
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'First pass at separate Async Co'
Change 2746296 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Buffer label frees so we don't '
Change 2746297 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'updated comment '
Change 2746343 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746347 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746811 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Draw event for compute commandl'
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Removed a lot of complexity of '
Change 2747127 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Improved game console printout '
Change 2747702 on 2015/10/30 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Bumped Lightmass StaticMesh imp'
Change 2747954 on 2015/10/30 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix SubmitDone not called TRC e'
Change 2747979 on 2015/10/30 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'polish console autocomplete tex'
Change 2750719 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Add Embree 2.7.0 for Win64 and '
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Embree integration into Lightma'
Change 2750872 on 2015/11/02 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2751934 on 2015/11/03 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Disambiguate template function '
Change 2752190 on 2015/11/03 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed assert relating to '
Change 2752333 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Shader pipeline '
Change 2752655 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - Fix Materials pa'
Change 2752710 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2752711 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added better comment/help text '
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added SSAO CS version, can be e'
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmass solver quality improv'
Change 2752869 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Add shader pipel'
Change 2752882 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - hlslcc - Metal -'
Change 2752899 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'small SSAO GPU optimization mov'
Change 2752934 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor GPU optimization for SSAO'
Change 2753109 on 2015/11/03 by Uriel.Doyon@uriel.doyon_office_data 'Fixed final build '
Change 2753669 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed SM4 compiling '
Change 2754002 on 2015/11/04 by Nick.Penwarden@nickp_streams 'test change '
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data 'Quad Complexity ViewMode (PCD3D'
Change 2754115 on 2015/11/04 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed end of frame update'
Change 2754297 on 2015/11/04 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'PS4 compile fixes #codereview U'
Change 2754405 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor SSAO ALU optimizations fi'
Change 2754512 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'adjusted clamp for cvar '
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'improved SSAO quality (less hig'
Change 2755572 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - PS4 warning fix '
Change 2755667 on 2015/11/05 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed UE-22742, leak in t'
Change 2755722 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Remove unused co'
Change 2755814 on 2015/11/05 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2755935 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Rebuild static m'
Change 2756003 on 2015/11/05 by Uriel.Doyon@uriel.doyon_office_data 'Reduce the number of precompute'
Change 2756145 on 2015/11/05 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Temp fix for GPU crash #rb none'
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Enable removing '
Change 2756435 on 2015/11/05 by Olaf.Piesche@Olaf.Piesche_roaming 'Disabling a check, to fix OR-85'
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev 'Submitting pull request from us'
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed the experimental r.'
Change 2757341 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Changed the RHI thread di'
Change 2757342 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed lazy uniform buffer'
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Added a path so that text'
Change 2757500 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Add FrameSync to externalprofil'
Change 2757650 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'GBuffer should only be consider'
Change 2757665 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'UE-22816 Instruction count is n'
Change 2757834 on 2015/11/06 by Michael.Trepka@Michael.Trepka_a4202_Dev-Rendering 'Embree integration into Lightma'
Change 2757930 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix UT ensure #rb Peter.Knepley'
Change 2757931 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix Ocean ensure #rb josh.ander'
Change 2757946 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Removed invalid Lightmass asser'
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Added new PrimitiveComponent se'
Change 2758049 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'OR-8600 CRASH: AllocationLeveli'
Change 2758059 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'r.DumpTransitionsForResource #r'
Change 2758082 on 2015/11/06 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix resource tra'
Change 2758879 on 2015/11/09 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix PSSL names f'
Change 2758911 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed accidental force di'
Change 2758968 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled single frame buffer us'
Change 2758991 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix togglerhithread crash #rb G'
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Dynamically set stream so'
Change 2759063 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed UE-22368 CLONE - GitHub 1'
Change 2759073 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code quality improvements'
Change 2759501 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix particle ensure. '
Change 2759522 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix decals using CustomStencil.'
Change 2759610 on 2015/11/09 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed line light source shadows'
Change 2759634 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Refined GBufferA resolving when'
Change 2759657 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Fixed ResourceTransition with r'
Change 2759693 on 2015/11/09 by Rolando.Caloca@Rolando.Caloca_T4688_S 'DevRendering - Fixed global sha'
Change 2759771 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Fixed editor hit proxy renderin'
Change 2760188 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled some more deferred dec'
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data 'Enabled Embree by default #revi'
[CL 2761339 by Nick Penwarden in Main branch]
I did the first part, lock some showflags to be 0 or 1 in SHIPPING
If this causes problems for some applications (e.g. using showflag as scalability which they shouldn't) the user needs to update the code.
or we remove the lock from that showflag.
For editor or non shipping features it's fine to use the SetSHOWFLAGNAME() calls, they become NOPS in SHIPPING.
This is a performance optimization (when used in inner loop) and prepares for removing more
[CL 2673126 by Martin Mittring in Main branch]
- Ensure all levels are added to the scene after a feature level switch.
- Fix situation that caused 100% shadow when no importance volumes exist.
- Ensures the light volume octree is correct for feature level when adding to the scene.
#codereview nick.penwarden
[CL 2407340 by Allan Bentham in Main branch]