#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]
Fixed issue with visible 2d graphs after closing LogVisualizer
Removed LogVisualizer tool from experimentals so it's a regular tool inside Develoment Tools sub-menu now
Few other minor issue fixes in LogVisualizer tool
[CL 2385317 by sebastian kowalczyk in Main branch]
The main changes are as follows:
1. moved Json out of Core into own module 'Json'
2. moved 3 i10n classes (Json serializers) from Core into a new module 'Internationalization' *
3. fixed up 2 i10n classes in Core to not instantiate the 3 Json-based classes. instead they are now passed in as a dependency
*) (2) and (3) were required to decouple the I10n code in Core from Json. Much of the i10n code probably doesn't belong into Core in the first place, but there is no time to fix this right now.
The following cosmetic changes were also made:
- NULL to nullptr
- namespaced enums to enum classes
- renamed the three i10n Json serializer classes to comply with naming conventions
- removed file header comments (not used)
- documentation, spelling, spacing etc,
#UpgradeNotes: If your module is including Json.h then you have to add 'Json' to your Build.cs module dependencies.
#ReviewedBy: justin.sargent, saul.abreu
[CL 2310420 by Max Preussner in Main branch]
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)
Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()
Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine
[CL 2057118 by Max Preussner in Main branch]