2016-12-08 08:52:44 -05:00
|
|
|
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/*=============================================================================
|
|
|
|
|
DeferredLightingCommon.usf: Common definitions for deferred lighting.
|
|
|
|
|
=============================================================================*/
|
|
|
|
|
|
|
|
|
|
#ifndef __DEFERRED_LIGHTING_COMMON__
|
|
|
|
|
#define __DEFERRED_LIGHTING_COMMON__
|
|
|
|
|
|
|
|
|
|
#include "DeferredShadingCommon.usf"
|
|
|
|
|
#include "DynamicLightingCommon.usf"
|
|
|
|
|
#include "BRDF.usf"
|
2014-04-30 14:14:07 -04:00
|
|
|
#include "MonteCarlo.usf"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "IESLightProfilesCommon.usf"
|
2015-07-06 16:42:49 -04:00
|
|
|
#include "ShadingModels.usf"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Data about a single light.
|
|
|
|
|
* Putting the light data in this struct allows the same lighting code to be used between standard deferred,
|
|
|
|
|
* Where many light properties are known at compile time, and tiled deferred, where all light properties have to be fetched from a buffer.
|
|
|
|
|
*/
|
|
|
|
|
struct FDeferredLightData
|
|
|
|
|
{
|
|
|
|
|
float4 LightPositionAndInvRadius;
|
|
|
|
|
float4 LightColorAndFalloffExponent;
|
|
|
|
|
float3 LightDirection;
|
|
|
|
|
float4 SpotAnglesAndSourceRadius;
|
|
|
|
|
float MinRoughness;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
float ContactShadowLength;
|
2014-03-14 14:13:41 -04:00
|
|
|
float2 DistanceFadeMAD;
|
|
|
|
|
float4 ShadowMapChannelMask;
|
|
|
|
|
/** Whether to use inverse squared falloff. */
|
|
|
|
|
bool bInverseSquared;
|
|
|
|
|
/** Whether this is a light with radial attenuation, aka point or spot light. */
|
|
|
|
|
bool bRadialLight;
|
|
|
|
|
/** Whether this light needs spotlight attenuation. */
|
|
|
|
|
bool bSpotLight;
|
|
|
|
|
/** Whether the light should apply shadowing. */
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
uint ShadowedBits;
|
2014-03-14 14:13:41 -04:00
|
|
|
};
|
|
|
|
|
|
2014-05-30 07:55:38 -04:00
|
|
|
/** Data about a single light to be shaded with the simple shading model, designed for speed and limited feature set. */
|
2014-03-14 14:13:41 -04:00
|
|
|
struct FSimpleDeferredLightData
|
|
|
|
|
{
|
|
|
|
|
float4 LightPositionAndInvRadius;
|
|
|
|
|
float4 LightColorAndFalloffExponent;
|
|
|
|
|
/** Whether to use inverse squared falloff. */
|
|
|
|
|
bool bInverseSquared;
|
|
|
|
|
};
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
#define REFERENCE_QUALITY 0
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#undef LIGHT_SOURCE_SHAPE
|
|
|
|
|
#define LIGHT_SOURCE_SHAPE 1
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
#define LIGHT_SHAPE_SPHERE 1
|
|
|
|
|
#define LIGHT_SHAPE_RECT 2
|
|
|
|
|
|
|
|
|
|
static const uint LightSourceShape = LIGHT_SHAPE_SPHERE;
|
|
|
|
|
|
2014-04-30 14:14:07 -04:00
|
|
|
bool RayHitRect( float3 R, float3 RectCenter, float3 RectX, float3 RectY, float3 RectZ, float RectExtentX, float RectExtentY )
|
|
|
|
|
{
|
|
|
|
|
// Intersect ray with plane
|
|
|
|
|
float3 PointOnPlane = R * max( 0, dot( RectZ, RectCenter ) / dot( RectZ, R ) );
|
|
|
|
|
|
|
|
|
|
bool InExtentX = abs( dot( RectX, PointOnPlane - RectCenter ) ) <= RectExtentX;
|
|
|
|
|
bool InExtentY = abs( dot( RectY, PointOnPlane - RectCenter ) ) <= RectExtentY;
|
|
|
|
|
return InExtentX && InExtentY;
|
|
|
|
|
}
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
float3 SphereLightingMIS( FGBufferData GBuffer, FDeferredLightData LightData, float3 LobeRoughness, float3 ToLight, float3 V, float3 N, uint2 Random )
|
2014-04-30 14:14:07 -04:00
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
float3 Lighting = 0;
|
|
|
|
|
|
|
|
|
|
LobeRoughness = max( 0.08, LobeRoughness );
|
2014-04-30 14:14:07 -04:00
|
|
|
|
|
|
|
|
const float SourceRadius = max( 1, LightData.SpotAnglesAndSourceRadius.z );
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
const float DistanceSqr = dot( ToLight, ToLight );
|
|
|
|
|
const float3 ConeAxis = ToLight * rsqrt( DistanceSqr );
|
2014-04-30 14:14:07 -04:00
|
|
|
const float ConeCos = sqrt( 1 - Square( SourceRadius ) / DistanceSqr );
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
const float Area = PI * Square(SourceRadius);
|
|
|
|
|
const float SampleColor = 1.0 / Area;
|
|
|
|
|
|
|
|
|
|
const uint NumSets = 3;
|
|
|
|
|
const uint NumSamples[ NumSets ] =
|
2014-04-30 14:14:07 -04:00
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
0,
|
|
|
|
|
4,
|
|
|
|
|
4,
|
|
|
|
|
};
|
2014-04-30 14:14:07 -04:00
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
UNROLL
|
|
|
|
|
for( uint Set = 0; Set < NumSets; Set++ )
|
|
|
|
|
{
|
|
|
|
|
LOOP
|
|
|
|
|
for( uint i = 0; i < NumSamples[ Set ]; i++ )
|
2014-04-30 14:14:07 -04:00
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
float2 E = Hammersley( i, NumSamples[ Set ], Random );
|
|
|
|
|
//float2 E = CorrelatedMultiJitter2D( i, NumSamples[ Set ], Random.x * Random.y * (Set + 17) );
|
2014-04-30 14:14:07 -04:00
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
float3 L, H;
|
|
|
|
|
if( Set == 0 )
|
2014-04-30 14:14:07 -04:00
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
L = TangentToWorld( CosineSampleHemisphere( E ).xyz, N );
|
|
|
|
|
H = normalize(V + L);
|
|
|
|
|
}
|
|
|
|
|
else if( Set == 1 )
|
|
|
|
|
{
|
|
|
|
|
H = TangentToWorld( ImportanceSampleGGX( E, LobeRoughness[1] ).xyz, N );
|
|
|
|
|
L = 2 * dot( V, H ) * H - V;
|
2014-04-30 14:14:07 -04:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
L = TangentToWorld( UniformSampleCone( E, ConeCos ).xyz, ConeAxis );
|
|
|
|
|
H = normalize(V + L);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
float NoL = saturate( dot(N, L) );
|
|
|
|
|
float NoH = saturate( dot(N, H) );
|
|
|
|
|
float VoH = saturate( dot(V, H) );
|
|
|
|
|
|
|
|
|
|
if( NoL > 0 && VoH > 0 )
|
|
|
|
|
{
|
|
|
|
|
BRANCH
|
|
|
|
|
if( Set != 2 && dot( L, ConeAxis ) < ConeCos )
|
|
|
|
|
{
|
|
|
|
|
// Ray misses sphere
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
float PDF[] =
|
|
|
|
|
{
|
|
|
|
|
NoL / PI,
|
|
|
|
|
D_GGX( LobeRoughness[1], NoH ) * NoH / (4 * VoH),
|
|
|
|
|
1.0 / ( 2 * PI * (1 - ConeCos) ),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// MIS balance heuristic
|
|
|
|
|
float InvWeight = 0;
|
|
|
|
|
UNROLL for( uint j = 0; j < NumSets; j++ )
|
|
|
|
|
{
|
|
|
|
|
InvWeight += PDF[j] * NumSamples[j];
|
|
|
|
|
}
|
|
|
|
|
float Weight = rcp( InvWeight );
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
|
|
|
float3 Shading = SurfaceShading( GBuffer, LobeRoughness, 1, L, V, N, Random ) * NoL;
|
2016-04-13 21:24:38 -04:00
|
|
|
Shading += SubsurfaceShading( GBuffer, L, V, N, 1, Random );
|
|
|
|
|
|
|
|
|
|
Lighting += SampleColor * Shading * Weight;
|
2014-04-30 14:14:07 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
return Lighting;
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
// Find representative incoming light direction and energy modification
|
|
|
|
|
float3 AreaLightSpecular( FDeferredLightData LightData, inout float3 LobeRoughness, inout float3 ToLight, inout float3 L, float3 V, half3 N )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
float3 LobeEnergy = 1;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
LobeRoughness = max( LobeRoughness, LightData.MinRoughness );
|
|
|
|
|
float3 m = LobeRoughness * LobeRoughness;
|
|
|
|
|
|
|
|
|
|
const float SourceRadius = LightData.SpotAnglesAndSourceRadius.z;
|
|
|
|
|
const float SourceLength = LightData.SpotAnglesAndSourceRadius.w;
|
|
|
|
|
|
|
|
|
|
// TODO early out for point lights
|
|
|
|
|
|
|
|
|
|
float3 R = reflect( -V, N );
|
|
|
|
|
float InvDistToLight = rsqrt( dot( ToLight, ToLight ) );
|
|
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
// Point lobe in off-specular peak direction
|
|
|
|
|
float a = Square( LobeRoughness[1] );
|
|
|
|
|
R = lerp( N, R, (1 - a) * ( sqrt(1 - a) + a ) );
|
|
|
|
|
R = normalize( R );
|
|
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
BRANCH
|
|
|
|
|
if( SourceLength > 0 )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
// Energy conservation
|
|
|
|
|
// asin(x) is angle to sphere, atan(x) is angle to disk, saturate(x) is free and in the middle
|
|
|
|
|
float LineAngle = saturate( SourceLength * InvDistToLight );
|
|
|
|
|
LobeEnergy *= m / saturate( m + 0.5 * LineAngle );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
// Closest point on line segment to ray
|
|
|
|
|
float3 L01 = LightData.LightDirection * SourceLength;
|
|
|
|
|
float3 L0 = ToLight - 0.5 * L01;
|
|
|
|
|
float3 L1 = ToLight + 0.5 * L01;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
#if 1
|
|
|
|
|
// Shortest distance
|
|
|
|
|
float a = Square( SourceLength );
|
|
|
|
|
float b = dot( R, L01 );
|
|
|
|
|
float t = saturate( dot( L0, b*R - L01 ) / (a - b*b) );
|
|
|
|
|
#else
|
|
|
|
|
// Smallest angle
|
|
|
|
|
float A = Square( SourceLength );
|
|
|
|
|
float B = 2 * dot( L0, L01 );
|
|
|
|
|
float C = dot( L0, L0 );
|
|
|
|
|
float D = dot( R, L0 );
|
|
|
|
|
float E = dot( R, L01 );
|
|
|
|
|
float t = saturate( (B*D - 2*C*E) / (B*E - 2*A*D) );
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
ToLight = L0 + t * L01;
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
BRANCH
|
|
|
|
|
if( SourceRadius > 0 )
|
|
|
|
|
{
|
|
|
|
|
// Energy conservation
|
|
|
|
|
// asin(x) is angle to sphere, atan(x) is angle to disk, saturate(x) is free and in the middle
|
|
|
|
|
float SphereAngle = saturate( SourceRadius * InvDistToLight );
|
|
|
|
|
LobeEnergy *= Square( m / saturate( m + 0.5 * SphereAngle ) );
|
|
|
|
|
|
|
|
|
|
// Closest point on sphere to ray
|
|
|
|
|
float3 ClosestPointOnRay = dot( ToLight, R ) * R;
|
|
|
|
|
float3 CenterToRay = ClosestPointOnRay - ToLight;
|
|
|
|
|
float3 ClosestPointOnSphere = ToLight + CenterToRay * saturate( SourceRadius * rsqrt( dot( CenterToRay, CenterToRay ) ) );
|
|
|
|
|
ToLight = ClosestPointOnSphere;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
L = normalize( ToLight );
|
|
|
|
|
|
|
|
|
|
return LobeEnergy;
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Returns 0 for positions closer than the fade near distance from the camera, and 1 for positions further than the fade far distance. */
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
float DistanceFromCameraFade(float SceneDepth, FDeferredLightData LightData, float3 WorldPosition, float3 CameraPosition)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
// depth (non radial) based fading over distance
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
float Fade = saturate(SceneDepth * LightData.DistanceFadeMAD.x + LightData.DistanceFadeMAD.y);
|
2014-03-14 14:13:41 -04:00
|
|
|
return Fade * Fade;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
void GetShadowTerms(FGBufferData GBuffer, FDeferredLightData LightData, float3 WorldPosition, float4 LightAttenuation, out float OpaqueShadowTerm, out float SSSShadowTerm)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
|
|
|
|
|
|
|
|
|
// LightAttenuation: Light function + per-object shadows in z, per-object SSS shadowing in w,
|
|
|
|
|
// Whole scene directional light shadows in x, whole scene directional light SSS shadows in y
|
|
|
|
|
// Get static shadowing from the appropriate GBuffer channel
|
|
|
|
|
float UsesStaticShadowMap = dot(LightData.ShadowMapChannelMask, float4(1, 1, 1, 1));
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
float StaticShadowing = lerp(1, dot(GBuffer.PrecomputedShadowFactors, LightData.ShadowMapChannelMask), UsesStaticShadowMap);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (LightData.bRadialLight)
|
|
|
|
|
{
|
|
|
|
|
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
|
|
|
|
|
|
|
|
|
OpaqueShadowTerm = LightAttenuation.z * StaticShadowing;
|
|
|
|
|
// SSS uses a separate shadowing term that allows light to penetrate the surface
|
|
|
|
|
//@todo - how to do static shadowing of SSS correctly?
|
|
|
|
|
SSSShadowTerm = LightAttenuation.w * StaticShadowing;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
|
|
|
|
// Also fix up the fade between dynamic and static shadows
|
|
|
|
|
// to work with plane splits rather than spheres.
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
float DynamicShadowFraction = DistanceFromCameraFade(GBuffer.Depth, LightData, WorldPosition, View.WorldCameraOrigin);
|
2014-03-14 14:13:41 -04:00
|
|
|
// For a directional light, fade between static shadowing and the whole scene dynamic shadowing based on distance + per object shadows
|
|
|
|
|
OpaqueShadowTerm = lerp(LightAttenuation.x, StaticShadowing, DynamicShadowFraction);
|
|
|
|
|
// Fade between SSS dynamic shadowing and static shadowing based on distance
|
|
|
|
|
SSSShadowTerm = min(lerp(LightAttenuation.y, StaticShadowing, DynamicShadowFraction), LightAttenuation.w);
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
// combine with light function
|
2014-03-14 14:13:41 -04:00
|
|
|
OpaqueShadowTerm *= LightAttenuation.z;
|
|
|
|
|
SSSShadowTerm *= LightAttenuation.z;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
float ShadowRayCast(
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float3 RayOriginTranslatedWorld, float3 RayDirection, float ContactShadowLength, float PixelDepthLength,
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
int NumSteps, float StepOffset
|
|
|
|
|
)
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
const float Epsilon = 0.001;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
float4 RayStartClip = mul( float4( RayOriginTranslatedWorld, 1 ), View.TranslatedWorldToClip );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float4 RayDirClip = mul( float4( RayDirection * min(PixelDepthLength / length(RayDirection), 1.0 ), 0 ), View.TranslatedWorldToClip );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
float4 RayEndClip = RayStartClip + RayDirClip;
|
|
|
|
|
|
|
|
|
|
float3 RayStartScreen = RayStartClip.xyz / RayStartClip.w;
|
|
|
|
|
float3 RayEndScreen = RayEndClip.xyz / RayEndClip.w;
|
|
|
|
|
|
|
|
|
|
float3 RayStepScreen = RayEndScreen - RayStartScreen;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float2 AspectRatio = float2(1.0, View.ViewSizeAndInvSize.y * View.ViewSizeAndInvSize.z);
|
|
|
|
|
RayStepScreen *= min(2.0 * ContactShadowLength / length(RayStepScreen.xy * AspectRatio), 1.0);
|
|
|
|
|
|
|
|
|
|
// Clip the ray to the screen borders.
|
|
|
|
|
{
|
|
|
|
|
float2 S = (1.0 + (RayStepScreen.xy < 0 ? 1.0.xx : -1.0.xx) * RayStartScreen.xy) / (abs(RayStepScreen.xy) + Epsilon);
|
|
|
|
|
RayStepScreen *= min(min(S.x, S.y), 1.0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Avoid self colisions.
|
|
|
|
|
if (RayStepScreen.z < 0.0)
|
|
|
|
|
{
|
|
|
|
|
float2 RayStepPixels = RayStepScreen.xy * 0.5 * View.ViewSizeAndInvSize.xy;
|
|
|
|
|
RayStartScreen.xy += 2.0 * View.ViewSizeAndInvSize.zw * (1.42 * RayStepPixels / length(RayStepPixels));
|
|
|
|
|
}
|
|
|
|
|
RayStartScreen.z += (1.0 - abs(RayDirection.z) / length(RayDirection)) * (0.008 / (PixelDepthLength * ContactShadowLength));
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
float3 RayStartUVz = float3( RayStartScreen.xy * View.ScreenPositionScaleBias.xy + View.ScreenPositionScaleBias.wz, RayStartScreen.z );
|
|
|
|
|
float3 RayStepUVz = float3( RayStepScreen.xy * View.ScreenPositionScaleBias.xy, RayStepScreen.z );
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#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]
2016-12-02 16:43:04 -05:00
|
|
|
float4 RayDepthClip = RayStartClip + mul( float4( 0, 0, ContactShadowLength * PixelDepthLength, 0 ), View.ViewToClip );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
float3 RayDepthScreen = RayDepthClip.xyz / RayDepthClip.w;
|
|
|
|
|
|
|
|
|
|
const float Step = 1.0 / NumSteps;
|
|
|
|
|
|
|
|
|
|
// *2 to get less morie pattern in extreme cases, larger values make object appear not grounded in reflections
|
|
|
|
|
const float CompareTolerance = abs( RayDepthScreen.z - RayStartScreen.z ) * Step * 2;
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float SampleTime = StepOffset * Step;
|
|
|
|
|
|
|
|
|
|
float FirstHitTime = -1.0;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
UNROLL
|
|
|
|
|
for( int i = 0; i < NumSteps; i++ )
|
|
|
|
|
{
|
|
|
|
|
float3 SampleUVz = RayStartUVz + RayStepUVz * SampleTime;
|
|
|
|
|
float SampleDepth = SceneDepthTexture.SampleLevel( SceneDepthTextureSampler, SampleUVz.xy, 0 ).r;
|
|
|
|
|
|
|
|
|
|
float DepthDiff = SampleUVz.z - SampleDepth;
|
|
|
|
|
bool Hit = abs( DepthDiff + CompareTolerance ) < CompareTolerance;
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
FirstHitTime = (Hit && FirstHitTime < 0.0) ? SampleTime : FirstHitTime;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
SampleTime += Step;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float Shadow = FirstHitTime > 0.0 ? 1.0 : 0.0;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
// Off screen masking
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float2 Vignette = max(6.0 * abs(RayStartScreen.xy + RayStepScreen.xy * FirstHitTime) - 5.0, 0.0);
|
|
|
|
|
Shadow *= saturate( 1.0 - dot( Vignette, Vignette ) );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
return 1 - Shadow;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3195953)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3195953 on 2016/11/12 by Leslie.Nivison
Rollback //UE4/Release-4.14/Engine/Plugins/Runtime/Nvidia to changelist 3193712
New GameWorks license from NVIDIA
#jira UEPROD-900
Change 3195944 on 2016/11/12 by Leslie.Nivison
Removing GameWorks SDK license until we get a new one from NVIDIA
#jira UEPROD-900
Change 3195942 on 2016/11/11 by Chris.Gagnon
Removing Ansel from 4.14 until revised EULA is handle.
#jira UE-none
Change 3195431 on 2016/11/11 by Mitchell.Wilson
Rebuilt lighting in subway reflections sample
#jira UE-38538
Change 3195080 on 2016/11/11 by mason.seay
Extended floor to allow more driving space
#jira UE-29618
Change 3194886 on 2016/11/11 by Chris.Babcock
Correct handling for 6x6 blocksize in ASTC compressor
#jira UE-38513
#ue4
#android
Change 3193712 on 2016/11/10 by Leslie.Nivison
Updating Ansel TPS info per NVIDIA response
#jira UEPROD-900
Change 3193691 on 2016/11/10 by Lina.Halper
#jira: UE-38488
Change 3193532 on 2016/11/10 by Lauren.Ridge
Fix to keep the user in VR editing mode after leaving VR PIE.
#jira UE-38317
Change 3193468 on 2016/11/10 by Leslie.Nivison
Removing unneeded license
#jira UEPROD-900
Change 3193465 on 2016/11/10 by Leslie.Nivison
Updating credits for 4.14
#jira UEPROD-902
Change 3193416 on 2016/11/10 by Daniel.Lamb
Changed default of exclude editor only content flag.
#jira UE-38455
Change 3193399 on 2016/11/10 by Mitchell.Wilson
Applied correct material to certain LODs of tree meshes in KiteDemo
#jira UE-38472
Change 3193049 on 2016/11/10 by Thomas.Sarkanen
Fix disappearing mesh on undo in skeletal mesh editor
Also fixes crash on undo in morph target panel
#jira UE-38430 - Undo in Skeletal Mesh Editor causes model to disappear
#jira UE-38437 - Crash when Undo after editing a weight in Morph Target Previewer
Change 3192655 on 2016/11/09 by Ryan.Vance
#jira UE-37238
Pulling in 3164679 and 3169467 which didn't make the 4.14 cut. Also changed to a full inverse for InvTranslatedViewProjectionMatrix in FViewMatrices::UpdateViewMatrix.
Change 3192613 on 2016/11/09 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3192197 on 2016/11/09 by Daniel.Wright
Added SUPPORT_CONTACT_SHADOWS, only standard deferred lighting supports it. Fixes scene depth texture bound in forward shading base pass.
#jira UE-38340
Change 3192182 on 2016/11/09 by Rolando.Caloca
UE4.14 - Fix recompute tangents not working when skin cache is enabled
#jira UE-38398
Change 3191695 on 2016/11/09 by Chris.Wood
Editor heartbeat changes for 4.14
[AN-1003] - Make Editor heartbeat 1min
[UE-38417] - Editor heartbeat changes (vanilla editor, new interval, debugger attached)
Also added IsDebugger, IsVanilla and IntervalSec to Editor.Usage.Heartbeat
#jira UE-38417
Change 3191437 on 2016/11/09 by Jack.Porter
Fix for LandscapeInfo crash when using Force Delete
#jira UE-37172
Change 3191033 on 2016/11/08 by Leslie.Nivison
Adding licenses for marketplace plugins
#jira UEPROD-901
Change 3191028 on 2016/11/08 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3190632 on 2016/11/08 by mason.seay
Updated testmap and assets
#jira UE-29618
Change 3190624 on 2016/11/08 by Jamie.Dale
Fixed case where FHTML5TargetPlatform::RefreshHTML5Setup could incorrectly add an empty device
Changes to UStrProperty::ExportTextItem caused FParse::Value to (correctly) read an empty string for DevicePath which passed the DirectoryExists check (where it would have previously read "))" which would fail that check).
#jira UE-38157
Change 3190443 on 2016/11/08 by Josh.Adams
- Somehow checking in my tested shelf messed up
#jira UE-38304
Change 3190354 on 2016/11/08 by Josh.Adams
- Vulkan now always being compiled in, if the SDK exists. Compiling not dependent on project settings
#jira UE-38304
Change 3190123 on 2016/11/08 by zachary.wilson
Updating testing content for sureface per-pixel improvements
#jira UE-29618
Change 3190113 on 2016/11/08 by Alexis.Matte
Make sure the default light map channel is 1 and not 0
#jira UE-35627
Change 3190102 on 2016/11/08 by Dmitry.Rekman
Linux: default to binned everywhere (UE-38287).
- Fixes suspicious crashes happening in uncooked build. Workaround, needs separate investigation.
#jira UE-38287
Change 3190000 on 2016/11/08 by Allan.Bentham
Removed old protostar loadmap hack.
#jira UE-38342
Change 3189914 on 2016/11/08 by Allan.Bentham
Fix vulkan crash when rendering sky capture.
Fix crash when rendering LDR scene capture on device.
#jira UE-38291
Change 3189861 on 2016/11/08 by Thomas.Sarkanen
Fix out of bounds access when using hidden bones with master pose components
Code was trying to to access the ReferenceToLocal array using a parent index from the master pose component. Now changed to only use indices known to be valid (i.e. this component's) to index the ReferenceToLocal array. Bone visibility is still master-authoratitive.
#jira UE-38214 - [CrashReport] UE4Editor_Engine!UpdateRefToLocalMatrices() [skeletalrender.cpp:238]
Change 3189370 on 2016/11/07 by Daniel.Wright
Only check transform mismatches for static lighting in UStaticMeshComponent::ApplyComponentInstanceData on components that actually can have static lighting
#jira UE-38272
Change 3189358 on 2016/11/07 by Mark.Satterthwaite
Intel Metal drivers can no longer compile our compute shaders reliably meaning Intel Macs must always use Metal SM4 as otehrwise they will crash.
#jira UE-38299
Change 3189273 on 2016/11/07 by Rolando.Caloca
UE4.14 - Integrate fix from 3161219
#jira UE-38270
Change 3189084 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3188636 on 2016/11/07 by Allan.Bentham
use glVertexAttribIPointer only on ES3.1 enabled projects.
#jira UE-38241
Change 3188596 on 2016/11/07 by Yannick.Lange
VR Editor: Fix crash when closing window while in VR Editor
#jira UE-37995
Change 3188433 on 2016/11/07 by Matthew.Griffin
Add starter content .upack files to starter_content tag so that they should still be installed if templates/feature packs option is de-selected in the Launcher
Change 3187739 on 2016/11/04 by Mitchell.Wilson
Updating DefautlEditor and DefaultEngine ini to correct path to VehicleMenu level.
#jira UE-29748
Change 3187536 on 2016/11/04 by Martin.Wilson
Fix for "Renaming a montage section via its details panel doesn't update the section correctly"
#jira UE-35929
Change 3187499 on 2016/11/04 by zachary.wilson
Checking in content fixes for Lighting Scenarios test level
#jira UE-29618
Change 3187492 on 2016/11/04 by mason.seay
Updated map to improve testing
#jira UE-29618
Change 3187438 on 2016/11/04 by Nick.Shin
fix html5 port number for cook-on-the-fly option
#jira UE-38032 - Quicklaunch HTML5 fails on Chrome. Browser returns "This site can't be reached 127.0.0.1 refused to connect"
Change 3187305 on 2016/11/04 by Martin.Wilson
Fix log spam from animation sequence thumbnails
#jira UE-38224
Change 3187260 on 2016/11/04 by Lauren.Ridge
Fix for crash on opening a level in VR Editing mode. When closing VREditorMode for a level load, HMD no longer leaves stereo mode.
#jira UE-32541
Change 3187224 on 2016/11/04 by Robert.Manuszewski
Proper fix for a crash when launching BP-only project from the Editor with EDL enabled (does not modify UE4Game target binaries)
#jira UE-37617
Change 3187136 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
#jira UE-38242
Change 3187065 on 2016/11/04 by Mitchell.Wilson
Updated BP_Commentary_Box to resolve warnings with array if the box opens then closes before the text is rendered.
#jira UE-38266
Change 3187056 on 2016/11/04 by Mike.Beach
Guarding against a rare crash that occurs when compiling a Blueprint after hot-reload. GUnrealEd was null, which is concerning (as it could have resounding effects in other systems), but as I could not repro it more than once (to figure it out more) I simply guarded the use of a null pointer here.
#jira UE-38198
Change 3187040 on 2016/11/04 by Matthew.Griffin
Corrected path to DotNETCommon folder
Exclude all editor plugin pdbs from stripping
#jira UE-37072
Change 3186984 on 2016/11/04 by Marc.Audy
Fix crash when null component considered
#jira UE-36493
Change 3186600 on 2016/11/04 by Max.Chen
Sequencer: Fix crash in sequencer editor mode.
#jira UE-38205
Change 3186564 on 2016/11/04 by Nick.Shin
checking in latest physx libs for html5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186258 on 2016/11/03 by Nick.Shin
fix for automation build to handle deleting of windows x86 & x64 libs properly
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186225 on 2016/11/03 by Lauren.Ridge
Fix for foliage brush not showing up until after first motion controller click.
#jira UE-38002
Change 3186100 on 2016/11/03 by Chris.Babcock
Update local notifications to deal with depreciated API
#jira UE-38236
#ue4
#android
Change 3186074 on 2016/11/03 by Mitchell.Wilson
Rebuilt lighting in Content Examples Welcome level
#jira UE-38239
Change 3185923 on 2016/11/03 by Lina.Halper
Fixed issue with animation not ticking in inactive world causing it to update parent animation
#jira: UE-37933
Change 3185764 on 2016/11/03 by Mitchell.Wilson
Updating deprecated node in MyCharacter_UMG.
#jira UE-38229
Change 3185683 on 2016/11/03 by Nick.Shin
non SSE2 version of PhysX for HTML5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3185492 on 2016/11/03 by Ben.Woodhouse
Workaround for very high render query memory overhead on D3D12. Add a cvar to limit timestamp queries allocated by the GPU profiler in a given frame. On D3D12 this limit is 1024 - other RHIs remain unbounded.
Currently render queries are 64KB each on D3D12, so this prevents high memory overhead on particular frames, e.g when we render a large number of reflection captures.
In practice, most frames are under 400 queries, so in practice we shouldn't hit the limit except in extreme cases.
#jira UE-38139
Change 3185481 on 2016/11/03 by Dmitry.Rekman
Remove version number from Linux README (UE-38059).
#jira UE-38059
Change 3185322 on 2016/11/03 by Ryan.Gerleve
Allow path names in NetFieldExportGroups to be remapped on the client.
#jira UE-37990
Change 3185293 on 2016/11/03 by Matthew.Griffin
Exclude UnrealControls and iPhonePackager from Build Tools CS node on non-Windows platforms as they don't compile
#jira UE-34016
Change 3185252 on 2016/11/03 by Michael.Trepka
Properly revert to OpenGL on Macs that do not support Metal
#jira UE-38190
Change 3184835 on 2016/11/03 by Jurre.deBaare
Crash when using undo in the preview scene settings of Persona
#fix Ensure that the profile index is valid after undo-ing
#misc Added transactions for adding/remove of the profiles
#jira UE-38142
Change 3184833 on 2016/11/03 by Jack.Porter
Fixed crash when ENABLE_VERIFY_GL and r.MobileOnChipMSAA is enabled on Android
#jira UE-38186
Change 3184418 on 2016/11/02 by Ryan.Vance
#jira UE-38161
Adding ISceneViewExtension::UsePostInitView which will be used to enable/disable the usage of PostRenderViewFamily_RenderThread and PostRenderView_RenderThread which was added earlier. We need to enable this behavior based on the hmd's compositor behavior, so a simple cvar wont work.
I missed the PostPresent implementation for steamvr in the earlier check in.
Change 3184286 on 2016/11/02 by Dan.Oconnor
Fix for IsValidLowLevel check being rotten. More correct fix will go into Dev-BP, but this is a low risk stop-gap
#jira UE-38149
Change 3184283 on 2016/11/02 by Arne.Schober
DR - UE-38155 replicated MS CL 3183837 - PSO Dangling Pointers: The PSO cache was returning pointers out of a Map which is based on a sparse Array and those pointers could become invalid if other insertions happen.
#jira UE-38155
Change 3184244 on 2016/11/02 by Richard.Ugarte
#jira UE-37534
Checking in updated UE4_Demo_Head_D on behalf of MikeB
Change 3184171 on 2016/11/02 by Michael.Trepka
Made Mac CrashReportClient high-DPI aware and fixed high-DPI handling in FMacWindow::IsPointInWindow()
#jira UE-37697
Change 3184126 on 2016/11/02 by Lauren.Ridge
VR Editor: Fixes for foliage painting only working on one controller, and for full press not painting foliage.
#jira UE-38147
#jira UE-38002
Change 3183997 on 2016/11/02 by Mitchell.Wilson
Scaled and Rotated 3d Widget to the correct position on example 2.3 in Content Examples UMG.
Adjusted collision on example 1.4 in Content Examples Physics. Updated collision on SM_ExampleMesh_Rocket.
Realigned some text render actors in Content Examples Post Process.
#jira UE-38099 UE-38078 UE-38064
Change 3183945 on 2016/11/02 by Mieszko.Zielinski
Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4
#jira UE-38137
Change 3183906 on 2016/11/02 by Nick.Shin
for OSX (release-4.14 stream):
new OSX clang (from emscripten tool chain) configured by jukka from Mozilla
see Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/EPIC_VERSION for details on where did this version come from
fixes for OSX -- update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 - Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3183899 on 2016/11/02 by Mieszko.Zielinski
Fixed EQS debugger not drawing item labels #UE4
#jira UE-38122
Change 3183239 on 2016/11/02 by Peter.Sauerbrei
fix for mobile provision with UUID only filename being allowed again by copying them to a new file name which allows them to be used.
#jira UE-38006
Change 3183149 on 2016/11/02 by Luke.Thatcher
[RELEASE] [SHOOTERGAME] [!] Fix "Is Talking" icon on ShooterGame scoreboard, after PS4 OSS refactor.
- ShooterGame was comparing FUniqueNetId::ToString() against AShooterPlayerState::GetShortPlayerName().
- This is wrong, since the NetId is not guaranteed to be equal to the player's name.
#jira UE-38011
Change 3183005 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [^] Merging (as edit) PS4 OSS fixes from Engine to OrionGame.
#jira UE-38017 UE-38020
Original Changelists:
3182765 [RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
3182766 [RELEASE] [PS4] [!] Fix assert in FUniqueNetIdPS4::FindOrCreate. We were assuming an online-only ID could never become a local ID. This isn't the case in the following scenario:
- Two users join a session on two separate PS4s.
- One user signs into the other user's PS4 with the same account, with a second controller. PSN logs him out of the first PS4.
- That user's Net ID has now migrated from being online-only, to local-with-online. This is a case that was not handled.
3182767 [RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
3182892 [RELEASE] [PS4] [!] Fix incorrect identity API implementation in PS4 OSS.
- System events directly drive the login state of a user. This also removes the blocking call to sceNpGetState().
- GetAuthToken is only called if the engine calls IOnlineIdentity::Login().
3182951 [RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
Change 3182992 on 2016/11/02 by Nick.Darnell
UMG Editor - Fixing a regression with the editor, closing the sequencer tab and reopening the editor should no longer cause a crash.
#jira UE-38098
Change 3182951 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
#jira UE-38017
[CL 3201696 by Matthew Griffin in Main branch]
2016-11-17 04:29:30 -05:00
|
|
|
#ifndef SUPPORT_CONTACT_SHADOWS
|
|
|
|
|
#error "Must set SUPPORT_CONTACT_SHADOWS"
|
|
|
|
|
#endif
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
|
|
|
void GetLocalLightAttenuation(
|
|
|
|
|
float3 WorldPosition,
|
|
|
|
|
float3 N,
|
|
|
|
|
FDeferredLightData LightData,
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
|
|
|
float DistanceBiasSqr,
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
|
|
|
inout float3 ToLight,
|
|
|
|
|
inout float3 L,
|
|
|
|
|
inout float NoL,
|
|
|
|
|
inout float DistanceAttenuation,
|
|
|
|
|
inout float LightRadiusMask,
|
|
|
|
|
inout float SpotFalloff)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
ToLight = LightData.LightPositionAndInvRadius.xyz - WorldPosition;
|
|
|
|
|
|
|
|
|
|
float DistanceSqr = dot( ToLight, ToLight );
|
|
|
|
|
L = ToLight * rsqrt( DistanceSqr );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (LightData.bInverseSquared)
|
|
|
|
|
{
|
2016-04-13 21:24:38 -04:00
|
|
|
const float SourceRadius = LightData.SpotAnglesAndSourceRadius.z;
|
2014-03-14 14:13:41 -04:00
|
|
|
const float SourceLength = LightData.SpotAnglesAndSourceRadius.w;
|
2014-06-26 16:40:05 -04:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
BRANCH
|
|
|
|
|
if( SourceLength > 0 )
|
|
|
|
|
{
|
|
|
|
|
// Line segment irradiance
|
2014-06-26 16:40:05 -04:00
|
|
|
float3 L01 = LightData.LightDirection * SourceLength;
|
2016-04-13 21:24:38 -04:00
|
|
|
float3 ToLight0 = ToLight - 0.5 * L01;
|
|
|
|
|
float3 ToLight1 = ToLight + 0.5 * L01;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
float LengthSqr0 = dot( ToLight0, ToLight0 );
|
|
|
|
|
float LengthSqr1 = dot( ToLight1, ToLight1 );
|
|
|
|
|
float rLength0 = rsqrt( LengthSqr0 );
|
|
|
|
|
float rLength1 = rsqrt( LengthSqr1 );
|
|
|
|
|
float Length0 = LengthSqr0 * rLength0;
|
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2997507)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2997066 on 2016/06/01 by Michael.Noland
Engine: Marked engine performance target cvars ECVF_Scalability so they can be adjusted via scalability buckets at runtime for games that target different framerates on different levels of hardware
#rb none
#tests Ran Paragon and changed video settings and tested t.TargetFrameTimeThreshold
Change 2996816 on 2016/06/01 by Dan.Youhon
Add FixedWorldDirection option for Root Motion Radial Forces; code/BP hook-up for allowing Price's reworked RMB to send all targets in the same (correct) direction
- FixedWorldDirection added to both root motion system and corresponding ability tasks
- Exposed AddHitResult for EffectContexts for modifying EffectContext hit results from BP
- Hooked up to Price RMB - we (somewhat dirtily) route Price's location and facing through the HitResult of the EffectContext for his displacement GE
#rb Dave.Ratti
#tests MultiPIE
#codereview Billy.Rivers
#lockdown Billy.Rivers
Change 2996526 on 2016/06/01 by Brian.Karis
Fixed tube light typo
JB made this robomerge up. Shader recompiling in our future.
#RB:none
#Tests:none
#ROBOMERGE: MAIN, 27, 26.2
Change 2996428 on 2016/06/01 by Rolando.Caloca
O - Made r.D3D.RemoveUnusedInterpolators a system setting which now also alters ddc key; fix r.Shaders.FastMath actually affecting compilation when =0
#rb Chris.Bunner
#codereview Michael.Noland, Marcus.Wassmer
#jira OR-22573
#tests Run with and without r.D3D.RemoveUnusedInterpolators=1 on DefaultEngine.ini
Change 2996090 on 2016/06/01 by Jason.Bestimt
#ORION_MAIN - Merge 26.2 @ CL 2995754
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2995816 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#CodeReview: jason.bestimt
Change 2995785 on 2016/06/01 by Robert.Manuszewski
Don't delete non-backup log files when cleaning up the logs folder.
#rb none
#tests Tested in the editor with multiple old log files
Change 2995556 on 2016/05/31 by Dmitry.Rekman
More info about timers on crash (OR-21986).
- Somewhat desperate attempt to get more clue about timer crash. Intended to be removed later.
#rb Michael.Noland
#codereview Marc.Audy, Michael.Noland
#tests Compiled the Linux server, ran it, crashed a few times.
Change 2995397 on 2016/05/31 by Michael.Noland
Rendering: Made the optimization to combine upscaling/downscaling and tonemapping optional based on the amount of upscaling that will occur
- r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
- r.Tonemapper.MergeWithUpscale.Threshold is a new setting used when r.Tonemapper.MergeWithUpscale.Mode is set to 2, which indcates to only try to merge the passes if the ratio of the area before upscale/downscale to the area afterwards is greater than the threshold
This prevents running the tonemapper on all of the target res pixels when the source res is far smaller, as that can cause it to be a loss to merge the passes
Upgrade Notes: r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
#rb marcus.wassmer
#tests Ran Paragon at various resolutions on Intel and NV cards
#rn
Change 2995118 on 2016/05/31 by David.Decker
- Fix for build failure
#rb none
#tests golden path game
Change 2994929 on 2016/05/31 by David.Decker
#Orion_Analytics
-Added PacketRecievedHistogram event that fires every minute in game the rate is configurable in DefaultGame.ini
-Moved FHistogram from PerfCountersModule to ProfilingHelpers
-Re-enabled Location event
#rb Dmitry.Rekman
#codereview Dmitry.Rekman, John.Pollard, Christopher.Wright
#tests golden path game
Change 2994920 on 2016/05/31 by Daniel.Lamb
Added some more cooking stats to save package.
#rb Wes.Hunt
#test Cook Orion.
Change 2994622 on 2016/05/31 by Zak.Middleton
#orion - Pickup and Coin filter collision optimizations.
- Added coin collision profile preset and made it ignore everything but Pawn (importantly, now ignores triggers).
- Pickups filter out collision with AI earlier. Profile already did this but this avoids more branches and cache misses in PreFilter.
- Coins now additionally filter out more efficiently Heroes that can't pick them (no overlap events generated at all).
#rb Jon.Lietz, Frank.Gigliotti
#tests PlayGo MultiPIE
Change 2994305 on 2016/05/31 by Andrew.Grant
Restoring prompt/exit on signed archive issue to help identify causes
#rb none
#tests compiled
Change 2994226 on 2016/05/31 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 27 @ CL 2993946
#RB:none
#Tests:none
[CodeReviewed]: graeme.thornton
#ROBOMERGE-SOURCE: CL 2994225 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2994204 on 2016/05/31 by bruce.nesbit
More banner changes
-Fixed an issue with InterpToComponent with very short times
-revisions to test banner
-added fade to banner/charms
-tries to set team color on decativate FX
#rb none
#tests Game+PIE
#codereview Jason.Bestimt
Change 2993973 on 2016/05/30 by Robert.Manuszewski
Updated protection handling
#rb none
#tests Compiled and applied protection
Change 2993588 on 2016/05/27 by Michael.Noland
Engine: Removed a bogus autocomplete for ShowMaterialDrawEvents, which was previously renamed r.ShowMaterialDrawEvents
#rb none
#tests Typed in ShowMat in the console and verified that no autocomplete appeared
#rn
Change 2993510 on 2016/05/27 by John.Pollard
Fix issue with root motion sources and replays, fixes TwinBlast RMB ability animation issue, and other artifacts
#rb RyanG
#tests Replays
Change 2993484 on 2016/05/27 by Uriel.Doyon
New logic for computing the skel mesh streaming scales
#rb marcus.wassmer
#tests loaded editor, played with streaming scale
Change 2993211 on 2016/05/27 by Uriel.Doyon
Workaround for lightmap streaming flags not being correctly set.
#codereview marcus.wassmer
#rb marcus.wassmer
#tests building lighting and investigating streaming
Change 2993068 on 2016/05/27 by Marcus.Wassmer
Duplicate 2989729
Fix for lightmaps and shadowmaps having low resolutions after building lightings
#rb none
#test PC at various scalability
#codereview Uriel.Doyon
Change 2993066 on 2016/05/27 by Lukasz.Furman
fixed behavior tree getting stuck on ResumeLogic call
copied from //UE4/Dev-Framework, CL# 2993058
#jira OR-22498
#rb none
#tests none
Change 2992706 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991726
Fix for grey skin in simple lighting model (shadows off)
#rb none
#test lowest settings on PC
Change 2992705 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991727
Fix emissive decals in simple forward renderer
#rb none
#test PC lowest settings
Change 2992658 on 2016/05/27 by David.Ratti
Remove all occurrences of Ability.PersistPastDeath from granted tags. Fix code to *only* check asset tags for this tag, instead of both.
#rb none
#test pie
Change 2992646 on 2016/05/27 by Ben.Marsh
BuildGraph: Add a BuildGraph task to run a UE4 commandlet. Syntax is <Commandlet Name="..." Project="..." Arguments="...">.
#rb none
#tests none
Change 2992252 on 2016/05/26 by Jason.Bestimt
#ORION_DG - Unclog ROBO Merge in DG
#RB:none
#Tests:none
Change 2992180 on 2016/05/26 by John.Pollard
Fix issue where external data wasn't saving out properly
#rb RyanG
#tests Replays
Change 2992159 on 2016/05/26 by Michael.Noland
CVar to disable/freeze GPU particle simulation (r.GPUParticle.Simulate)
[Replicated from Dev-Rendering checkin CL# 2989752 by Olaf]
#rb olaf.piesche
#tests Tested the command in Agora and verified that GPU particles were not being drawn
Change 2992158 on 2016/05/26 by Michael.Noland
Rendering: Added a cvar that controls unbinding of all texture resources between materials changes in the DX11 renderer (r.UnbindResourcesBetweenDrawsInDX11) to improve the readability of GPA captures
Note: This will probably be moved to be on when markers are on rather than an independent cvar, but it is currently separate for testing
#codereview marcus.wassmer
#rb none
#tests Ran with the var off and on and verified in GPA captures
Change 2991645 on 2016/05/26 by Andrew.Grant
Fix for filesize returning 0 if file not found
#rb none
#tests bugit now works
#jira OR-20488
Change 2991290 on 2016/05/26 by Mieszko.Zielinski
Added a static flag to NavigationSystem that can be used to short-circuit dynamic navigation related functions #UE4
Will save some perf on PS4 in Orion, since clients do use navigation system there.
#rb Lukasz.Furman
#test golden path
Change 2991288 on 2016/05/26 by Mieszko.Zielinski
CL#2990243 manually redone in for Orion #UE4
Original description:
> Fixed behavior tree observers not being applied correctly
#rb Lukasz.Furman
#test golden path
Change 2991271 on 2016/05/26 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2990688
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2991269 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2991185 on 2016/05/26 by Mieszko.Zielinski
Fixed UAITask_MoveTo not releasing paths properly, or clearing path observing when task is being reused #UE4
Also, fixed FNavigationPath::DoneUpdating not converting ENavPathUpdateType properly
#rb Lukasz.Furman
#test golden path
Change 2990788 on 2016/05/25 by Marcus.Wassmer
Fix deprecation warning
#rb none
#test none
Change 2990582 on 2016/05/25 by Marcus.Wassmer
Now that render commands are enqueued again on servers, we shouldn't outright crash if an allocation gets to nullrhi
#codereview Dmitry.Rekman
#rb none
#test none
Change 2990450 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#rb:David.Hill
#jira:OR-22233
#test:PC
Change 2990199 on 2016/05/25 by Marcus.Wassmer
Remove experimental HDR support in tonemapper. Brings tonemapper cost back down into line
#rb none
#codereview Michael.Noland,Brian.Karis
Change 2989908 on 2016/05/25 by Andrew.Grant
Changed warning about DDC cache full to Display
#rb none
#tests compiled
Change 2989903 on 2016/05/25 by Mieszko.Zielinski
Made BT component ignore subtree injection request if relevant BT nodes already use indicated asset #UE4
#rb Lukasz.Furman
#test golden path
Change 2989795 on 2016/05/25 by Ryan.Gerleve
Fix for storing the correct URL on the pending net game for replay playback.
Re-implemented this fix from Dev-Networking CL 2981198, fixes deathcam after latest main integration.
#tests played a reply, enabled deathcam
#rb none
Change 2989483 on 2016/05/25 by David.Ratti
ToggleJuggernaut cheat
#rb danY
#tests pie
Change 2989384 on 2016/05/25 by Graeme.Thornton
Extra chunk decryption tests and logging to help diagnose the random failure we're seeing in the wild
- retry decrypt three times
- after the first attempt, re-decrypt original source, just incase the decrypt cache has been corrupted
#tests cooked pc client + dedicated server
#rb robert.manuszewski
Change 2989225 on 2016/05/24 by Dmitry.Rekman
Fix rare crash in Linux threading code (OR-22193).
- Sometimes, for some reason, freeing memory for an alternate thread from a thread in PostRun() can crash because the jemalloc apparently does not have an arena for this thread anymore.
- This change works around the problem by allocating the said memory statically in LinuxThread class.
#rb none
#codereview Bob.Tellez, David.Vossel
#tests Compiled Linux server, started it.
Change 2988768 on 2016/05/24 by Uriel.Doyon
Added support for SkinnedMesh in the texture streaming MeshCoordSize accuracy viewmode.
#RB marcus.wassmer
#tests loaded game and editor
Change 2988462 on 2016/05/24 by Mieszko.Zielinski
Added a piece of logging to both scenarios or movement aborting in UPathFollowingComponent::UpdatePathSegment to be able to tell them appart while reading the log #Orion
#rb Lukasz.Furman
#test golden path
Change 2988036 on 2016/05/24 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2987910
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2988035 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2987457 on 2016/05/23 by Mieszko.Zielinski
Redone changes from CL#2981193 #UE4
Original description: fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)
#rb Lukasz.Furman
#test golden path
Change 2987388 on 2016/05/23 by Olaf.Piesche
Replicating CL 2985226; don't push mesh emitter transform to pixel shader unless used in the material graph
#rb marcus.wassmer
#tests editor game PC
Change 2986255 on 2016/05/22 by Mieszko.Zielinski
Manually resolving conflict that stoped robomerge from Main to DG #Orion
#rb none
#test compile
#codereview Jason.Bestimt
Change 2986209 on 2016/05/21 by Andrew.Grant
Removed hitchunter logging from http thread
#rb none
#tests compiled
Change 2986202 on 2016/05/21 by Andrew.Grant
Merging //UE4/Main @ 2981382 from //UE4/Orion-Staging
#rb none
#tests engine & game QA passed, built locally
Change 2985899 on 2016/05/20 by Rob.Cannaday
Move PS4 HTTP processing to HTTP thread
#tests golden path
#rb dmitry.rekman
Change 2985884 on 2016/05/20 by Bart.Bressler
Fix issue where oodle wasn't enabled in shipping correctly.
#rb john.pollard
#tests ran orion server in shipping and connecting with a client
Change 2985778 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985753
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985774 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985760 on 2016/05/20 by Rob.Cannaday
Second pass on HTTP threading
Move threaded objects into separate class, FHttpThread. FCurlHttpThread derives from FHttpThread and the curl multi work is performed in FCurlHttpThread
Removed code that limited number of curl easy requests that were added to the multi simultaneously / per frame as now that curl work is performed on a separate thread the performance no longer directly impacts the game thread
Remove lock from CurlHttp and instead of use FThreadSafeCounter
#rb dmitry.rekman
#tests golden path (PC & PS4)
Change 2985658 on 2016/05/20 by John.Pollard
Fixed issue with cached http replay results making time go backwards
#rb none
#tests replays
Change 2985640 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Ability System: call OnRemove event for gameplay cues that are mispredicted. Previously if a looping GC was predictively added, it would only get the OnRemove event if the replicated GC was removed. In the case of a mis prediction there is no replicated version, so the OnRemove was never called and cleanup was never happening.
#rb FrankG
#tests multi pie
#ROBOMERGE-SOURCE: CL 2985638 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985631 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Fast TArray serialization fixes:
1. Fix case where Array ReplicationKey has changed no items between base and current state have changed. Previously server would early out and not send an update: but this needs be sent so that the client can potentially perform an implicit delete.
This fixes the case where client TArray would have stale items hanging around until a new update was sent (which could potentially be never).
2. Fix case where an array item would be deleted by both explicit delete and implicit delete: causing other items in the array to be deleted (!).
#rb frankG, pollard
#tests golden path
[CodeReviewed] Bob.Tellez, Billy.Bramer, Ben.Zeigler
#ROBOMERGE-SOURCE: CL 2985629 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985542 on 2016/05/20 by Daniel.Lamb
Added per package stats.
Optimized cooker, moved FTextureSource::Compress from UTexture::Presave to UTexture::Serialize so we can avoid it in the cooker.
#rb Robert.Manuszewski, Andrew.Grant, Marcus.Wassmer
#test cook paragon, save packages paragon editor
Change 2985152 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985092
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985150 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985001 on 2016/05/20 by Chris.Wood
Move fullcrashdump location for Paragon from QA deptartment storage to Paragon project storage. Changes CrashReportClient config only.
Change 2984839 on 2016/05/20 by Robert.Manuszewski
Renaming some confusing function names and updating messages related to exception handling.
#rb none
#tests Cooked Win64 Client and Server, Tested crash reporting in cooked game
Change 2984517 on 2016/05/19 by Mike.Larson
Adjusted 'PlatformHeadroom' audio volume settings to DB-3 on both Windows and PS4
Change 2983932 on 2016/05/19 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983814
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983921 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 2983864 on 2016/05/19 by Wes.Hunt
Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
#codereview:steve.robb
#rb none
#tests compiled Orion Editor Win64
Change 2983780 on 2016/05/19 by Wes.Hunt
Modernize FAnalyticsEventAttribute usage. #jira UE-30551.
Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
* The Name must be convertible to a string
* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.
Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
"Attr1", false,
"Attr2", 42.0,
"Attr3", SomeMap,
"Attr4", SomeArray);
#codereview:steve.robb,david.decker,sam.spiro
SamS - you've been asking for better attribute conversion facilities for years. Finally got it, haha.
SteveR - I only added copy/move ctors to FAnalyticsEventAttribute. Do I also need to explicitly add the copy/move assignment ops?
DavidD - This will allow you to create attributes a lot more easily and efficiently now.
#rb steve.robb,david.decker
#tests orion editor runs
Change 2983702 on 2016/05/19 by Daniel.Lamb
Renumbered cooking stats to be more correct
#rb Wes.Hunt
#test cook paragon.
Change 2983392 on 2016/05/19 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983342
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983391 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2982910 on 2016/05/18 by Marcus.Wassmer
Don't fail entire deployments because obsolete manifest can't find the files to delete
#rb none
#codereview Peter.Sauerbrei
#test none
Change 2982902 on 2016/05/18 by Marcus.Wassmer
Disable HTTP networkfilesystem because it constantly crashes cookonthefly servers. platform team is aware
#rb none
#test cookonthefly
Change 2982837 on 2016/05/18 by David.Ratti
Spot merge safety check in ~FAgggregator. From BobT CL 2966255.
#rb none
#tests compile
Change 2982723 on 2016/05/18 by Wes.Hunt
Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore. #jira UE-30559
#rb none
#tests none
Change 2982716 on 2016/05/18 by Wes.Hunt
Remove Analytics code to divert legacy code to source data collector. #jira UE-27794
#rb none
#tests run orion editor
Change 2982707 on 2016/05/18 by Wes.Hunt
AnalyticsET support for arbitrary Json events. #jira UE-30375
* AnalyticsET supports a new API, RecordEventJson.
* API supports rvalue refs to avoid unnecessary copies of the attribute array.
/**
* Sends an event where each attribute value is expected to be a string-ified Json value.
* Meaning, each attribute value can be an integer, float, bool, string,
* arbitrarily complex Json array, or arbitrarily complex Json object.
*
* The main thing to remember is that if you pass a Json string as an attribute value, it is up to you to
* quote the string, as the string you pass is expected to be able to be pasted directly into a Json value. ie:
*
* {
* "EventName": "MyStringEvent",
* "IntAttr": 42 <--- You simply pass this in as "42"
* "StringAttr": "SomeString" <--- You must pass SomeString as "\"SomeString\""
* }
*
* @param EventName The name of the event.
* @param AttributesJson array of key/value attribute pairs where each value is a Json value (pure Json strings mustbe quoted by the caller).
*/
virtual void RecordEventJson(const FString& EventName, TArray<FAnalyticsEventAttribute>&& AttributesJson) = 0;
#codereview:david.decker
#rb david.decker
#tests run orion editor
Change 2982057 on 2016/05/18 by David.Ratti
GameplayCue loading - fix issue where GCM would invoke fully loaded when there were still UGameplayCueNotify_Statics to be loaded.
#rb Ori.Cohen
#tests golden path
Change 2981943 on 2016/05/18 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2981896
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2981942 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2981812 on 2016/05/18 by Robert.Manuszewski
Suspending thread heartbeat when a message box is being displayed. Fixes false positives in hand detection.
#rb Steve.Robb
#tests Cooked and launched win64 client and server
Change 2981718 on 2016/05/18 by Robert.Manuszewski
Changed how suspending/resuming thread heartbeat works: it will no longer create a heartbeat for a thread that hasn't sent any heartbeats yet.
Reimplementing CL #2951209 from Dev-Core
#rb Steve.Robb
#tests None
Change 2981108 on 2016/05/17 by Wes.Hunt
Fix perfect forwarding constructor in CookStats stuff.
#rb none
#tests investigating assembly output of cook stats code.
#codereview:daniel.lamb
Change 2981028 on 2016/05/17 by Nick.Atamas
Fixing hittest grid with virtual cursor.
We now prefer any directly hit-test widgets with higher layer ids to those discovered through a distance search.
#rb none
#test Game menus
#codereview Cody.Haskell,Matt.Kuhlenschmidt,Sammy.James,Dan.Hertzka
Change 2980963 on 2016/05/17 by Marc.Audy
Fix shadowed variable
#rb None
#tests Compile
Change 2980917 on 2016/05/17 by Daniel.Lamb
Removed script packages from unable to find packages warning.
#rb Andrew.Grant
#test cook paragon
Change 2980838 on 2016/05/17 by Marc.Audy
Shave some time out of UPlayerInput::ProcessInputStack
#rb Michael.Noland
#tests Input works, performance improvement
Change 2980710 on 2016/05/17 by Michael.Noland
Engine: Added helpful comments to the LOD visualization colors
#rn
#rb david.ratti
#tests none
Change 2980706 on 2016/05/17 by Michael.Noland
Engine: Removed unused setting bAllowDebugViewmodesOnConsoles (replaced some time ago by r.ForceDebugViewModes)
#rn
#rb david.ratti
#tests Ran a cooked build with only r.ForceDebugViewModes=1 and confirmed that debug view modes still worked
Change 2980703 on 2016/05/17 by Michael.Noland
Blueprints: Added support for emitting the Blueprint Description as tooltip metadata for the compiled Blueprint class (displayed in class pickers, etc...)
#rb david.ratti
#tests Tested on a Blueprint in Paragon
#codereview mike.beach
#rn
Change 2980702 on 2016/05/17 by Michael.Noland
Rendering: Added ProfileGPU to the console autocomplete list
#rb david.ratti
#tests Tried typing Profile in the console and verified that the completion worked and tooltip was displayed
#rn
Change 2980697 on 2016/05/17 by Michael.Noland
Landscape: Added a 'resource' name for landscape to improve display in the mesh summary list of ProfileGPU
#codereview jack.porter
#rb david.ratti
#tests Used ProfileGPU while standing on some terrain
#rn
Change 2980692 on 2016/05/17 by Michael.Noland
Landscape: Added a scalability CVar for landscape LOD biasing (r.LandscapeLODBias)
#codereview jack.porter
#rb david.ratti
#tests Ran around in Paragon with various r.LandscapeLODBias values
#rn
Change 2980630 on 2016/05/17 by Daniel.Lamb
Added more warnings to help track down crash in paragon cook.
#rb Andrew.Grant
#test cook orion
Change 2980585 on 2016/05/17 by Jamie.Dale
Fixed an issue where the editable text caret could become invisible when using UI scaling
It's now clamped to a min draw size of 1px.
#jira OR-18524
#rb none
#tests Built and ran the game. Verified that the caret now appears where it didn't before.
Change 2979908 on 2016/05/16 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2979859
#RB:none
#Tests:none
#CodeReview: jaymee.stanford
Change 2979472 on 2016/05/16 by Nick.Atamas
Added support for not clearing the render target when rendering a widget.
#rb Nick.Darnell
#test PIE w/ minimap
Change 2979434 on 2016/05/16 by Dmitry.Rekman
Server: Add reporting of frame time without sleep.
- Also add NumClients to each event so it's easy to filter events that didn't have 10 clients.
#rb none
#tests Built Linux server, ran match on a compatible content.
Change 2979267 on 2016/05/16 by Dmitry.Rekman
Improvements in server hitch hunting / alerting.
- Add an analytics event for unplayable conditions.
- Send % of frames we hitched and time we spent hitching.
- Send more detail about the machine.
#rb none
#tests Built Linux server and Windows client, played a match.
Change 2979030 on 2016/05/16 by Andrew.Grant
Added quick way to reasign GUIDs (-AssignNewMapGuids) to map objects
#rb none
#tests used in editor
Change 2978914 on 2016/05/16 by David.Ratti
Fix issue causing gameplay cue parameters not properly being passed through in cases where GA adds/removes gameplay cue.
#rb DanY
#tests multi pie
#codereview Dave.Ewing
Change 2978681 on 2016/05/16 by Martin.Wilson
Performance improvements for recalc required bones, removed a lot of unneeded array iterating. Reduces cost to roughly 30% of original code.
#rb Thomas.Sarkanen
#tests PS4 games, ded server
Change 2978098 on 2016/05/15 by Andrew.Grant
Clearer error message
#rb none
#tests ran game
Change 2977597 on 2016/05/13 by Olaf.Piesche
Merging using //UE4/Dev-Rendering->//Orion/Dev-General; fixes for beam particle selection code
#rb martin.mittring
#tests PC editor game
Change 2977531 on 2016/05/13 by Daniel.Lamb
Added cooking stat for PreSave callback.
#rb Wes.Hunt
#test cook paragon
Change 2977340 on 2016/05/13 by jason.bestimt
#ORION_MAIN - Merge 26@ CL 2977290
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2977329 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: jason.bestimt
Change 2977139 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jon.lietz
OR-20830 only allow the periodic effects from a gameplay volume trigger first application triggers on BeginOverlap and Enable volume.
#RB DaveR
#test tracked when the poinson from an active card is applied and not applied
#ROBOMERGE-SOURCE: CL 2977135 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976741 on 2016/05/13 by David.Ratti
GameplayCues that are triggered off animation notifies on the non-primary mesh will now properly attach to that non primary mesh.
#rb lietz
#test pie, golden path
Change 2976715 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
[NULL MERGE]
Fix for bad merge
#rb none
#tests built automation
#ROBOMERGE-SOURCE: CL 2976680 in //Orion/Release-0.26/... via CL 2976712 via CL 2976713 via CL 2976714
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976679 on 2016/05/13 by Robert.Manuszewski
Tweaks to DLL injection detection code
#rb Steve.robb
#tests cooked Win64 client
Change 2976670 on 2016/05/13 by Robert.Manuszewski
UAT: Arxan upgrade to 3.9.1
#rb Ben.Marsh
#tests Win64 cooked client (test config)
Change 2976654 on 2016/05/13 by Graeme.Thornton
Shadowed variable warning fix
#rb none
#tests compiled win64/ps4 client
Change 2976645 on 2016/05/13 by Graeme.Thornton
Refactoring of resident mip calculations
- Cooker takes into account the same compression block thresholds that the runtime previously used
- Runtime doesn't attempt to calculate which mips to perma-load, but just looks at the ones whose bulk data is flagged as end-of-file or seperate-file
#rb nick.penwarden
#tests win64/ps4 client builds, golden path
[CL 3000872 by Andrew Grant in Main branch]
2016-06-04 01:20:53 -04:00
|
|
|
float Length1 = LengthSqr1 * rLength1;
|
2016-04-13 21:24:38 -04:00
|
|
|
|
|
|
|
|
DistanceAttenuation = rcp( ( Length0 * Length1 + dot( ToLight0, ToLight1 ) ) * 0.5 + 1 );
|
|
|
|
|
NoL = saturate( 0.5 * ( dot(N, ToLight0) * rLength0 + dot(N, ToLight1) * rLength1 ) );
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
|
|
|
DistanceAttenuation = rcp( DistanceSqr + DistanceBiasSqr );
|
2014-06-26 16:40:05 -04:00
|
|
|
NoL = saturate( dot( N, L ) );
|
2016-04-13 21:24:38 -04:00
|
|
|
|
|
|
|
|
if( SourceRadius > 0 )
|
|
|
|
|
{
|
|
|
|
|
#if 1 //HORIZON
|
|
|
|
|
NoL = dot( N, L );
|
|
|
|
|
|
|
|
|
|
float SinAlphaSqr = saturate( Square( SourceRadius ) / DistanceSqr );
|
|
|
|
|
float SinAlpha = sqrt( SinAlphaSqr );
|
|
|
|
|
|
|
|
|
|
if( NoL < SinAlpha )
|
|
|
|
|
{
|
|
|
|
|
#if 0
|
|
|
|
|
// Accurate sphere irradiance
|
|
|
|
|
float CosBeta = NoL;
|
|
|
|
|
float SinBeta = sqrt( 1 - CosBeta * CosBeta );
|
|
|
|
|
float TanBeta = SinBeta / CosBeta;
|
|
|
|
|
|
|
|
|
|
float x = sqrt( 1 / SinAlphaSqr - 1 );
|
|
|
|
|
float y = -x / TanBeta;
|
|
|
|
|
float z = SinBeta * sqrt(1 - y*y);
|
|
|
|
|
|
|
|
|
|
DistanceAttenuation = SinAlphaSqr * ( NoL * acos(y) - x * z ) + atan( z / x );
|
|
|
|
|
DistanceAttenuation /= PI * Square( SourceRadius );
|
|
|
|
|
NoL = 1;
|
|
|
|
|
#else
|
|
|
|
|
// Hermite spline approximation
|
|
|
|
|
// Fairly accurate with SinAlpha < 0.8
|
|
|
|
|
// y=0 and dy/dx=0 at -SinAlpha
|
|
|
|
|
// y=SinAlpha and dy/dx=1 at SinAlpha
|
|
|
|
|
NoL = max( NoL, -SinAlpha );
|
|
|
|
|
NoL = Square( SinAlpha + NoL ) / ( 4 * SinAlpha );
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO optimize
|
|
|
|
|
LightRadiusMask = Square( saturate( 1 - Square( DistanceSqr * Square(LightData.LightPositionAndInvRadius.w) ) ) );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
DistanceAttenuation = 1;
|
2014-06-26 16:40:05 -04:00
|
|
|
NoL = saturate( dot( N, L ) );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2016-04-13 21:24:38 -04:00
|
|
|
LightRadiusMask = RadialAttenuation(ToLight * LightData.LightPositionAndInvRadius.w, LightData.LightColorAndFalloffExponent.w);
|
|
|
|
|
|
|
|
|
|
#if REFERENCE_QUALITY
|
|
|
|
|
// anti Area
|
|
|
|
|
LightRadiusMask *= DistanceSqr + 1;
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (LightData.bSpotLight)
|
|
|
|
|
{
|
|
|
|
|
SpotFalloff = SpotAttenuation(L, -LightData.LightDirection, LightData.SpotAnglesAndSourceRadius.xy);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
|
|
|
/** Calculates lighting for a given position, normal, etc with a fully featured lighting model designed for quality. */
|
|
|
|
|
float4 GetDynamicLighting(float3 WorldPosition, float3 CameraVector, FGBufferData GBuffer, float AmbientOcclusion, uint ShadingModelID, FDeferredLightData LightData, float4 LightAttenuation, uint2 Random)
|
|
|
|
|
{
|
|
|
|
|
FLightAccumulator LightAccumulator = (FLightAccumulator)0;
|
|
|
|
|
|
|
|
|
|
float3 V = -CameraVector;
|
|
|
|
|
float3 N = GBuffer.WorldNormal;
|
|
|
|
|
float3 L = LightData.LightDirection; // Already normalized
|
|
|
|
|
float3 ToLight = L * GBuffer.Depth;
|
|
|
|
|
float NoL = saturate( dot(N, L) );
|
|
|
|
|
float DistanceAttenuation = 1;
|
|
|
|
|
float LightRadiusMask = 1;
|
|
|
|
|
float SpotFalloff = 1;
|
|
|
|
|
|
|
|
|
|
if (LightData.bRadialLight)
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
|
|
|
GetLocalLightAttenuation(WorldPosition, N, LightData, 1, ToLight, L, NoL, DistanceAttenuation, LightRadiusMask, SpotFalloff);
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
|
|
|
}
|
|
|
|
|
|
2014-07-02 18:14:53 -04:00
|
|
|
LightAccumulator.EstimatedCost += 0.3f; // running the PixelShader at all has a cost
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
BRANCH
|
|
|
|
|
if (LightRadiusMask > 0 && SpotFalloff > 0)
|
|
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
float SurfaceShadow = 1;
|
|
|
|
|
float SubsurfaceShadow = 1;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
BRANCH
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
if (LightData.ShadowedBits)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
GetShadowTerms(GBuffer, LightData, WorldPosition, LightAttenuation, SurfaceShadow, SubsurfaceShadow);
|
2014-06-26 16:40:05 -04:00
|
|
|
|
|
|
|
|
// greatly reduces shadow mapping artifacts
|
Copying //UE4/Orion-Staging to Dev-Main (Originating from //Orion/Main at CL-2777663)
#lockdown Nick.Penwarden
Change 2777555 on 2015/11/23 by Antony.Carter
Friend List Sub Menu restyling to new designs
#RB Nicholas.Davies
#TESTS Check 3 sub menus of friends list (Online Status, Friends List, Settings) still function correctly with new styling.
Change 2777506 on 2015/11/23 by Andrew.Rodham
Sequencer: Copy/Paste command binding is no longer active if the seuqnece widget is not focused
This addresses UE-23423
#tests Tested copy/paste inside and outside of sequencer
#codereview Max.Chen
#rb Max.Chen
Change 2777505 on 2015/11/23 by Andrew.Rodham
Sequencer: Undoing the addition of a spawnable now ensures its actor instance is deleted correctly
This addresses UE-23450
#tests tested the repro steps on the bug
#codereview Max.Chen
#rb Max.Chen
Change 2777489 on 2015/11/23 by Andrew.Rodham
Sequencer: Workflow optimizations for spawnables
- Editing a property on an instance of a spawnable now automatically propagates to the spawnable defaults, provided the property is not keyed
- Fixed a few cases where spawnables were left lingering around while scrubbing or switching between sub-sequences
- Fixed the root sequence instance being evaluated when there was a sub-sequence focused.
- Selection states are now remembered for spawnable objects when they are destroyed/re-spawned
#codereview Max.Chen
#tests tested loks of object types as spawnables in PIE and in editor
#rb Max.Chen
Change 2777321 on 2015/11/23 by Terence.Burns
Updated the usage of World->UpdateStreamingLevels to FlushStreaming levels on the advice of Dmitriy. Need this to ensure that the streaming is completed before we send it off to lightmass.
#rb Dmitriy.Dyomin
#Tests Run the RebuildLightmaps UAT script.
Change 2777091 on 2015/11/22 by Andrew.Grant
Changed "inappropriate outmost" warning on package load to an error. At the very least we want this for a day or two on Orion to surface errors quickly, but may be a good thing to make a standard error since it indicates something that's likely broken.
#rb none
#tests Golden path in game, cooked content
#codereview Nick.Penwarden, Michael.Noland
Change 2777037 on 2015/11/22 by Laurent.Delayen
Additional debug info to track down https://jira.ol.epicgames.net/browse/OR-9675
#rb martin.wilson
#codereview martin.wilson
#tests Golden path (PIE) + compiled for PS4
Change 2777030 on 2015/11/22 by Sam.Zamani
#online,externalui,ps4
- added footer option for closing the embedded web browser
#rb none
#tests exec command to try on ps4
Change 2777019 on 2015/11/22 by Marcus.Wassmer
Possible fix for OR-9851
#rb none
#test GoldenPath, PS4
#codereview Nick.Darnell,Matt.Kuhlenschmidt
Change 2776932 on 2015/11/22 by Max.Chen
Sequencer: Fix editor selection so that it's not modified in response to the sequencer outliner tree node changing selection if the user is not explicitly selecting in the tree.
#RB none
#tests Select an actor that Sequencer doesn't control and it shouldn't deselect.
Change 2776900 on 2015/11/21 by Marcus.Wassmer
HighQuality particle lights.
#rb Brian.Karis
#test GoldenPath, HQ Particles w/wo ShadowCasting.
#codereview Olaf.Piesche, Simon.Tovey, Tim.Elek
Change 2776868 on 2015/11/21 by Brian.Karis
Reduced temporal aa responsiveness back where it was.
Change 2776867 on 2015/11/21 by Brian.Karis
Removed shading terminator bias meant for shadow map acne but it made character faces look worse.
Change 2776840 on 2015/11/21 by Brian.Karis
Hair indirect lighting implemented.
Improvements to hair shading model. No longer uses backlit parameter.
#rb marcus.wassmer
#tests editor
Change 2776748 on 2015/11/21 by Max.Preussner
Sequencer: Continued to implement track label editor
Note: still disabled, because there are a couple remaining issues
#codereview: max.chen
#rb: max.chen
#test: Editor, Runtime
Change 2776493 on 2015/11/20 by Max.Preussner
Sequencer: Wrapped the node tree context menu actions for editing in an 'Edit' section
#codereview: max.chen
#rb: max.chen
2015-11-24 16:45:24 -05:00
|
|
|
// Commented out because it reduces character shading quality.
|
|
|
|
|
//SurfaceShadow *= saturate(dot(N, L) * 6 - 0.2);
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3195953)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3195953 on 2016/11/12 by Leslie.Nivison
Rollback //UE4/Release-4.14/Engine/Plugins/Runtime/Nvidia to changelist 3193712
New GameWorks license from NVIDIA
#jira UEPROD-900
Change 3195944 on 2016/11/12 by Leslie.Nivison
Removing GameWorks SDK license until we get a new one from NVIDIA
#jira UEPROD-900
Change 3195942 on 2016/11/11 by Chris.Gagnon
Removing Ansel from 4.14 until revised EULA is handle.
#jira UE-none
Change 3195431 on 2016/11/11 by Mitchell.Wilson
Rebuilt lighting in subway reflections sample
#jira UE-38538
Change 3195080 on 2016/11/11 by mason.seay
Extended floor to allow more driving space
#jira UE-29618
Change 3194886 on 2016/11/11 by Chris.Babcock
Correct handling for 6x6 blocksize in ASTC compressor
#jira UE-38513
#ue4
#android
Change 3193712 on 2016/11/10 by Leslie.Nivison
Updating Ansel TPS info per NVIDIA response
#jira UEPROD-900
Change 3193691 on 2016/11/10 by Lina.Halper
#jira: UE-38488
Change 3193532 on 2016/11/10 by Lauren.Ridge
Fix to keep the user in VR editing mode after leaving VR PIE.
#jira UE-38317
Change 3193468 on 2016/11/10 by Leslie.Nivison
Removing unneeded license
#jira UEPROD-900
Change 3193465 on 2016/11/10 by Leslie.Nivison
Updating credits for 4.14
#jira UEPROD-902
Change 3193416 on 2016/11/10 by Daniel.Lamb
Changed default of exclude editor only content flag.
#jira UE-38455
Change 3193399 on 2016/11/10 by Mitchell.Wilson
Applied correct material to certain LODs of tree meshes in KiteDemo
#jira UE-38472
Change 3193049 on 2016/11/10 by Thomas.Sarkanen
Fix disappearing mesh on undo in skeletal mesh editor
Also fixes crash on undo in morph target panel
#jira UE-38430 - Undo in Skeletal Mesh Editor causes model to disappear
#jira UE-38437 - Crash when Undo after editing a weight in Morph Target Previewer
Change 3192655 on 2016/11/09 by Ryan.Vance
#jira UE-37238
Pulling in 3164679 and 3169467 which didn't make the 4.14 cut. Also changed to a full inverse for InvTranslatedViewProjectionMatrix in FViewMatrices::UpdateViewMatrix.
Change 3192613 on 2016/11/09 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3192197 on 2016/11/09 by Daniel.Wright
Added SUPPORT_CONTACT_SHADOWS, only standard deferred lighting supports it. Fixes scene depth texture bound in forward shading base pass.
#jira UE-38340
Change 3192182 on 2016/11/09 by Rolando.Caloca
UE4.14 - Fix recompute tangents not working when skin cache is enabled
#jira UE-38398
Change 3191695 on 2016/11/09 by Chris.Wood
Editor heartbeat changes for 4.14
[AN-1003] - Make Editor heartbeat 1min
[UE-38417] - Editor heartbeat changes (vanilla editor, new interval, debugger attached)
Also added IsDebugger, IsVanilla and IntervalSec to Editor.Usage.Heartbeat
#jira UE-38417
Change 3191437 on 2016/11/09 by Jack.Porter
Fix for LandscapeInfo crash when using Force Delete
#jira UE-37172
Change 3191033 on 2016/11/08 by Leslie.Nivison
Adding licenses for marketplace plugins
#jira UEPROD-901
Change 3191028 on 2016/11/08 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3190632 on 2016/11/08 by mason.seay
Updated testmap and assets
#jira UE-29618
Change 3190624 on 2016/11/08 by Jamie.Dale
Fixed case where FHTML5TargetPlatform::RefreshHTML5Setup could incorrectly add an empty device
Changes to UStrProperty::ExportTextItem caused FParse::Value to (correctly) read an empty string for DevicePath which passed the DirectoryExists check (where it would have previously read "))" which would fail that check).
#jira UE-38157
Change 3190443 on 2016/11/08 by Josh.Adams
- Somehow checking in my tested shelf messed up
#jira UE-38304
Change 3190354 on 2016/11/08 by Josh.Adams
- Vulkan now always being compiled in, if the SDK exists. Compiling not dependent on project settings
#jira UE-38304
Change 3190123 on 2016/11/08 by zachary.wilson
Updating testing content for sureface per-pixel improvements
#jira UE-29618
Change 3190113 on 2016/11/08 by Alexis.Matte
Make sure the default light map channel is 1 and not 0
#jira UE-35627
Change 3190102 on 2016/11/08 by Dmitry.Rekman
Linux: default to binned everywhere (UE-38287).
- Fixes suspicious crashes happening in uncooked build. Workaround, needs separate investigation.
#jira UE-38287
Change 3190000 on 2016/11/08 by Allan.Bentham
Removed old protostar loadmap hack.
#jira UE-38342
Change 3189914 on 2016/11/08 by Allan.Bentham
Fix vulkan crash when rendering sky capture.
Fix crash when rendering LDR scene capture on device.
#jira UE-38291
Change 3189861 on 2016/11/08 by Thomas.Sarkanen
Fix out of bounds access when using hidden bones with master pose components
Code was trying to to access the ReferenceToLocal array using a parent index from the master pose component. Now changed to only use indices known to be valid (i.e. this component's) to index the ReferenceToLocal array. Bone visibility is still master-authoratitive.
#jira UE-38214 - [CrashReport] UE4Editor_Engine!UpdateRefToLocalMatrices() [skeletalrender.cpp:238]
Change 3189370 on 2016/11/07 by Daniel.Wright
Only check transform mismatches for static lighting in UStaticMeshComponent::ApplyComponentInstanceData on components that actually can have static lighting
#jira UE-38272
Change 3189358 on 2016/11/07 by Mark.Satterthwaite
Intel Metal drivers can no longer compile our compute shaders reliably meaning Intel Macs must always use Metal SM4 as otehrwise they will crash.
#jira UE-38299
Change 3189273 on 2016/11/07 by Rolando.Caloca
UE4.14 - Integrate fix from 3161219
#jira UE-38270
Change 3189084 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3188636 on 2016/11/07 by Allan.Bentham
use glVertexAttribIPointer only on ES3.1 enabled projects.
#jira UE-38241
Change 3188596 on 2016/11/07 by Yannick.Lange
VR Editor: Fix crash when closing window while in VR Editor
#jira UE-37995
Change 3188433 on 2016/11/07 by Matthew.Griffin
Add starter content .upack files to starter_content tag so that they should still be installed if templates/feature packs option is de-selected in the Launcher
Change 3187739 on 2016/11/04 by Mitchell.Wilson
Updating DefautlEditor and DefaultEngine ini to correct path to VehicleMenu level.
#jira UE-29748
Change 3187536 on 2016/11/04 by Martin.Wilson
Fix for "Renaming a montage section via its details panel doesn't update the section correctly"
#jira UE-35929
Change 3187499 on 2016/11/04 by zachary.wilson
Checking in content fixes for Lighting Scenarios test level
#jira UE-29618
Change 3187492 on 2016/11/04 by mason.seay
Updated map to improve testing
#jira UE-29618
Change 3187438 on 2016/11/04 by Nick.Shin
fix html5 port number for cook-on-the-fly option
#jira UE-38032 - Quicklaunch HTML5 fails on Chrome. Browser returns "This site can't be reached 127.0.0.1 refused to connect"
Change 3187305 on 2016/11/04 by Martin.Wilson
Fix log spam from animation sequence thumbnails
#jira UE-38224
Change 3187260 on 2016/11/04 by Lauren.Ridge
Fix for crash on opening a level in VR Editing mode. When closing VREditorMode for a level load, HMD no longer leaves stereo mode.
#jira UE-32541
Change 3187224 on 2016/11/04 by Robert.Manuszewski
Proper fix for a crash when launching BP-only project from the Editor with EDL enabled (does not modify UE4Game target binaries)
#jira UE-37617
Change 3187136 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
#jira UE-38242
Change 3187065 on 2016/11/04 by Mitchell.Wilson
Updated BP_Commentary_Box to resolve warnings with array if the box opens then closes before the text is rendered.
#jira UE-38266
Change 3187056 on 2016/11/04 by Mike.Beach
Guarding against a rare crash that occurs when compiling a Blueprint after hot-reload. GUnrealEd was null, which is concerning (as it could have resounding effects in other systems), but as I could not repro it more than once (to figure it out more) I simply guarded the use of a null pointer here.
#jira UE-38198
Change 3187040 on 2016/11/04 by Matthew.Griffin
Corrected path to DotNETCommon folder
Exclude all editor plugin pdbs from stripping
#jira UE-37072
Change 3186984 on 2016/11/04 by Marc.Audy
Fix crash when null component considered
#jira UE-36493
Change 3186600 on 2016/11/04 by Max.Chen
Sequencer: Fix crash in sequencer editor mode.
#jira UE-38205
Change 3186564 on 2016/11/04 by Nick.Shin
checking in latest physx libs for html5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186258 on 2016/11/03 by Nick.Shin
fix for automation build to handle deleting of windows x86 & x64 libs properly
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186225 on 2016/11/03 by Lauren.Ridge
Fix for foliage brush not showing up until after first motion controller click.
#jira UE-38002
Change 3186100 on 2016/11/03 by Chris.Babcock
Update local notifications to deal with depreciated API
#jira UE-38236
#ue4
#android
Change 3186074 on 2016/11/03 by Mitchell.Wilson
Rebuilt lighting in Content Examples Welcome level
#jira UE-38239
Change 3185923 on 2016/11/03 by Lina.Halper
Fixed issue with animation not ticking in inactive world causing it to update parent animation
#jira: UE-37933
Change 3185764 on 2016/11/03 by Mitchell.Wilson
Updating deprecated node in MyCharacter_UMG.
#jira UE-38229
Change 3185683 on 2016/11/03 by Nick.Shin
non SSE2 version of PhysX for HTML5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3185492 on 2016/11/03 by Ben.Woodhouse
Workaround for very high render query memory overhead on D3D12. Add a cvar to limit timestamp queries allocated by the GPU profiler in a given frame. On D3D12 this limit is 1024 - other RHIs remain unbounded.
Currently render queries are 64KB each on D3D12, so this prevents high memory overhead on particular frames, e.g when we render a large number of reflection captures.
In practice, most frames are under 400 queries, so in practice we shouldn't hit the limit except in extreme cases.
#jira UE-38139
Change 3185481 on 2016/11/03 by Dmitry.Rekman
Remove version number from Linux README (UE-38059).
#jira UE-38059
Change 3185322 on 2016/11/03 by Ryan.Gerleve
Allow path names in NetFieldExportGroups to be remapped on the client.
#jira UE-37990
Change 3185293 on 2016/11/03 by Matthew.Griffin
Exclude UnrealControls and iPhonePackager from Build Tools CS node on non-Windows platforms as they don't compile
#jira UE-34016
Change 3185252 on 2016/11/03 by Michael.Trepka
Properly revert to OpenGL on Macs that do not support Metal
#jira UE-38190
Change 3184835 on 2016/11/03 by Jurre.deBaare
Crash when using undo in the preview scene settings of Persona
#fix Ensure that the profile index is valid after undo-ing
#misc Added transactions for adding/remove of the profiles
#jira UE-38142
Change 3184833 on 2016/11/03 by Jack.Porter
Fixed crash when ENABLE_VERIFY_GL and r.MobileOnChipMSAA is enabled on Android
#jira UE-38186
Change 3184418 on 2016/11/02 by Ryan.Vance
#jira UE-38161
Adding ISceneViewExtension::UsePostInitView which will be used to enable/disable the usage of PostRenderViewFamily_RenderThread and PostRenderView_RenderThread which was added earlier. We need to enable this behavior based on the hmd's compositor behavior, so a simple cvar wont work.
I missed the PostPresent implementation for steamvr in the earlier check in.
Change 3184286 on 2016/11/02 by Dan.Oconnor
Fix for IsValidLowLevel check being rotten. More correct fix will go into Dev-BP, but this is a low risk stop-gap
#jira UE-38149
Change 3184283 on 2016/11/02 by Arne.Schober
DR - UE-38155 replicated MS CL 3183837 - PSO Dangling Pointers: The PSO cache was returning pointers out of a Map which is based on a sparse Array and those pointers could become invalid if other insertions happen.
#jira UE-38155
Change 3184244 on 2016/11/02 by Richard.Ugarte
#jira UE-37534
Checking in updated UE4_Demo_Head_D on behalf of MikeB
Change 3184171 on 2016/11/02 by Michael.Trepka
Made Mac CrashReportClient high-DPI aware and fixed high-DPI handling in FMacWindow::IsPointInWindow()
#jira UE-37697
Change 3184126 on 2016/11/02 by Lauren.Ridge
VR Editor: Fixes for foliage painting only working on one controller, and for full press not painting foliage.
#jira UE-38147
#jira UE-38002
Change 3183997 on 2016/11/02 by Mitchell.Wilson
Scaled and Rotated 3d Widget to the correct position on example 2.3 in Content Examples UMG.
Adjusted collision on example 1.4 in Content Examples Physics. Updated collision on SM_ExampleMesh_Rocket.
Realigned some text render actors in Content Examples Post Process.
#jira UE-38099 UE-38078 UE-38064
Change 3183945 on 2016/11/02 by Mieszko.Zielinski
Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4
#jira UE-38137
Change 3183906 on 2016/11/02 by Nick.Shin
for OSX (release-4.14 stream):
new OSX clang (from emscripten tool chain) configured by jukka from Mozilla
see Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/EPIC_VERSION for details on where did this version come from
fixes for OSX -- update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 - Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3183899 on 2016/11/02 by Mieszko.Zielinski
Fixed EQS debugger not drawing item labels #UE4
#jira UE-38122
Change 3183239 on 2016/11/02 by Peter.Sauerbrei
fix for mobile provision with UUID only filename being allowed again by copying them to a new file name which allows them to be used.
#jira UE-38006
Change 3183149 on 2016/11/02 by Luke.Thatcher
[RELEASE] [SHOOTERGAME] [!] Fix "Is Talking" icon on ShooterGame scoreboard, after PS4 OSS refactor.
- ShooterGame was comparing FUniqueNetId::ToString() against AShooterPlayerState::GetShortPlayerName().
- This is wrong, since the NetId is not guaranteed to be equal to the player's name.
#jira UE-38011
Change 3183005 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [^] Merging (as edit) PS4 OSS fixes from Engine to OrionGame.
#jira UE-38017 UE-38020
Original Changelists:
3182765 [RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
3182766 [RELEASE] [PS4] [!] Fix assert in FUniqueNetIdPS4::FindOrCreate. We were assuming an online-only ID could never become a local ID. This isn't the case in the following scenario:
- Two users join a session on two separate PS4s.
- One user signs into the other user's PS4 with the same account, with a second controller. PSN logs him out of the first PS4.
- That user's Net ID has now migrated from being online-only, to local-with-online. This is a case that was not handled.
3182767 [RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
3182892 [RELEASE] [PS4] [!] Fix incorrect identity API implementation in PS4 OSS.
- System events directly drive the login state of a user. This also removes the blocking call to sceNpGetState().
- GetAuthToken is only called if the engine calls IOnlineIdentity::Login().
3182951 [RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
Change 3182992 on 2016/11/02 by Nick.Darnell
UMG Editor - Fixing a regression with the editor, closing the sequencer tab and reopening the editor should no longer cause a crash.
#jira UE-38098
Change 3182951 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
#jira UE-38017
[CL 3201696 by Matthew Griffin in Main branch]
2016-11-17 04:29:30 -05:00
|
|
|
#if SUPPORT_CONTACT_SHADOWS
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
BRANCH
|
|
|
|
|
if( LightData.ShadowedBits > 1 && LightData.ContactShadowLength > 0 )
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float StepOffset = float( Random.x & 0xffff ) / (1<<16) + 0.1;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float Shadow = ShadowRayCast( WorldPosition + View.PreViewTranslation, ToLight, LightData.ContactShadowLength, GBuffer.Depth, 8, StepOffset );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
|
|
|
|
SurfaceShadow *= Shadow;
|
|
|
|
|
//SubsurfaceShadow *= Shadow;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
2014-07-01 15:35:49 -04:00
|
|
|
else
|
|
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
SurfaceShadow = AmbientOcclusion;
|
2014-07-01 15:35:49 -04:00
|
|
|
}
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3195953)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3195953 on 2016/11/12 by Leslie.Nivison
Rollback //UE4/Release-4.14/Engine/Plugins/Runtime/Nvidia to changelist 3193712
New GameWorks license from NVIDIA
#jira UEPROD-900
Change 3195944 on 2016/11/12 by Leslie.Nivison
Removing GameWorks SDK license until we get a new one from NVIDIA
#jira UEPROD-900
Change 3195942 on 2016/11/11 by Chris.Gagnon
Removing Ansel from 4.14 until revised EULA is handle.
#jira UE-none
Change 3195431 on 2016/11/11 by Mitchell.Wilson
Rebuilt lighting in subway reflections sample
#jira UE-38538
Change 3195080 on 2016/11/11 by mason.seay
Extended floor to allow more driving space
#jira UE-29618
Change 3194886 on 2016/11/11 by Chris.Babcock
Correct handling for 6x6 blocksize in ASTC compressor
#jira UE-38513
#ue4
#android
Change 3193712 on 2016/11/10 by Leslie.Nivison
Updating Ansel TPS info per NVIDIA response
#jira UEPROD-900
Change 3193691 on 2016/11/10 by Lina.Halper
#jira: UE-38488
Change 3193532 on 2016/11/10 by Lauren.Ridge
Fix to keep the user in VR editing mode after leaving VR PIE.
#jira UE-38317
Change 3193468 on 2016/11/10 by Leslie.Nivison
Removing unneeded license
#jira UEPROD-900
Change 3193465 on 2016/11/10 by Leslie.Nivison
Updating credits for 4.14
#jira UEPROD-902
Change 3193416 on 2016/11/10 by Daniel.Lamb
Changed default of exclude editor only content flag.
#jira UE-38455
Change 3193399 on 2016/11/10 by Mitchell.Wilson
Applied correct material to certain LODs of tree meshes in KiteDemo
#jira UE-38472
Change 3193049 on 2016/11/10 by Thomas.Sarkanen
Fix disappearing mesh on undo in skeletal mesh editor
Also fixes crash on undo in morph target panel
#jira UE-38430 - Undo in Skeletal Mesh Editor causes model to disappear
#jira UE-38437 - Crash when Undo after editing a weight in Morph Target Previewer
Change 3192655 on 2016/11/09 by Ryan.Vance
#jira UE-37238
Pulling in 3164679 and 3169467 which didn't make the 4.14 cut. Also changed to a full inverse for InvTranslatedViewProjectionMatrix in FViewMatrices::UpdateViewMatrix.
Change 3192613 on 2016/11/09 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3192197 on 2016/11/09 by Daniel.Wright
Added SUPPORT_CONTACT_SHADOWS, only standard deferred lighting supports it. Fixes scene depth texture bound in forward shading base pass.
#jira UE-38340
Change 3192182 on 2016/11/09 by Rolando.Caloca
UE4.14 - Fix recompute tangents not working when skin cache is enabled
#jira UE-38398
Change 3191695 on 2016/11/09 by Chris.Wood
Editor heartbeat changes for 4.14
[AN-1003] - Make Editor heartbeat 1min
[UE-38417] - Editor heartbeat changes (vanilla editor, new interval, debugger attached)
Also added IsDebugger, IsVanilla and IntervalSec to Editor.Usage.Heartbeat
#jira UE-38417
Change 3191437 on 2016/11/09 by Jack.Porter
Fix for LandscapeInfo crash when using Force Delete
#jira UE-37172
Change 3191033 on 2016/11/08 by Leslie.Nivison
Adding licenses for marketplace plugins
#jira UEPROD-901
Change 3191028 on 2016/11/08 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3190632 on 2016/11/08 by mason.seay
Updated testmap and assets
#jira UE-29618
Change 3190624 on 2016/11/08 by Jamie.Dale
Fixed case where FHTML5TargetPlatform::RefreshHTML5Setup could incorrectly add an empty device
Changes to UStrProperty::ExportTextItem caused FParse::Value to (correctly) read an empty string for DevicePath which passed the DirectoryExists check (where it would have previously read "))" which would fail that check).
#jira UE-38157
Change 3190443 on 2016/11/08 by Josh.Adams
- Somehow checking in my tested shelf messed up
#jira UE-38304
Change 3190354 on 2016/11/08 by Josh.Adams
- Vulkan now always being compiled in, if the SDK exists. Compiling not dependent on project settings
#jira UE-38304
Change 3190123 on 2016/11/08 by zachary.wilson
Updating testing content for sureface per-pixel improvements
#jira UE-29618
Change 3190113 on 2016/11/08 by Alexis.Matte
Make sure the default light map channel is 1 and not 0
#jira UE-35627
Change 3190102 on 2016/11/08 by Dmitry.Rekman
Linux: default to binned everywhere (UE-38287).
- Fixes suspicious crashes happening in uncooked build. Workaround, needs separate investigation.
#jira UE-38287
Change 3190000 on 2016/11/08 by Allan.Bentham
Removed old protostar loadmap hack.
#jira UE-38342
Change 3189914 on 2016/11/08 by Allan.Bentham
Fix vulkan crash when rendering sky capture.
Fix crash when rendering LDR scene capture on device.
#jira UE-38291
Change 3189861 on 2016/11/08 by Thomas.Sarkanen
Fix out of bounds access when using hidden bones with master pose components
Code was trying to to access the ReferenceToLocal array using a parent index from the master pose component. Now changed to only use indices known to be valid (i.e. this component's) to index the ReferenceToLocal array. Bone visibility is still master-authoratitive.
#jira UE-38214 - [CrashReport] UE4Editor_Engine!UpdateRefToLocalMatrices() [skeletalrender.cpp:238]
Change 3189370 on 2016/11/07 by Daniel.Wright
Only check transform mismatches for static lighting in UStaticMeshComponent::ApplyComponentInstanceData on components that actually can have static lighting
#jira UE-38272
Change 3189358 on 2016/11/07 by Mark.Satterthwaite
Intel Metal drivers can no longer compile our compute shaders reliably meaning Intel Macs must always use Metal SM4 as otehrwise they will crash.
#jira UE-38299
Change 3189273 on 2016/11/07 by Rolando.Caloca
UE4.14 - Integrate fix from 3161219
#jira UE-38270
Change 3189084 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3188636 on 2016/11/07 by Allan.Bentham
use glVertexAttribIPointer only on ES3.1 enabled projects.
#jira UE-38241
Change 3188596 on 2016/11/07 by Yannick.Lange
VR Editor: Fix crash when closing window while in VR Editor
#jira UE-37995
Change 3188433 on 2016/11/07 by Matthew.Griffin
Add starter content .upack files to starter_content tag so that they should still be installed if templates/feature packs option is de-selected in the Launcher
Change 3187739 on 2016/11/04 by Mitchell.Wilson
Updating DefautlEditor and DefaultEngine ini to correct path to VehicleMenu level.
#jira UE-29748
Change 3187536 on 2016/11/04 by Martin.Wilson
Fix for "Renaming a montage section via its details panel doesn't update the section correctly"
#jira UE-35929
Change 3187499 on 2016/11/04 by zachary.wilson
Checking in content fixes for Lighting Scenarios test level
#jira UE-29618
Change 3187492 on 2016/11/04 by mason.seay
Updated map to improve testing
#jira UE-29618
Change 3187438 on 2016/11/04 by Nick.Shin
fix html5 port number for cook-on-the-fly option
#jira UE-38032 - Quicklaunch HTML5 fails on Chrome. Browser returns "This site can't be reached 127.0.0.1 refused to connect"
Change 3187305 on 2016/11/04 by Martin.Wilson
Fix log spam from animation sequence thumbnails
#jira UE-38224
Change 3187260 on 2016/11/04 by Lauren.Ridge
Fix for crash on opening a level in VR Editing mode. When closing VREditorMode for a level load, HMD no longer leaves stereo mode.
#jira UE-32541
Change 3187224 on 2016/11/04 by Robert.Manuszewski
Proper fix for a crash when launching BP-only project from the Editor with EDL enabled (does not modify UE4Game target binaries)
#jira UE-37617
Change 3187136 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
#jira UE-38242
Change 3187065 on 2016/11/04 by Mitchell.Wilson
Updated BP_Commentary_Box to resolve warnings with array if the box opens then closes before the text is rendered.
#jira UE-38266
Change 3187056 on 2016/11/04 by Mike.Beach
Guarding against a rare crash that occurs when compiling a Blueprint after hot-reload. GUnrealEd was null, which is concerning (as it could have resounding effects in other systems), but as I could not repro it more than once (to figure it out more) I simply guarded the use of a null pointer here.
#jira UE-38198
Change 3187040 on 2016/11/04 by Matthew.Griffin
Corrected path to DotNETCommon folder
Exclude all editor plugin pdbs from stripping
#jira UE-37072
Change 3186984 on 2016/11/04 by Marc.Audy
Fix crash when null component considered
#jira UE-36493
Change 3186600 on 2016/11/04 by Max.Chen
Sequencer: Fix crash in sequencer editor mode.
#jira UE-38205
Change 3186564 on 2016/11/04 by Nick.Shin
checking in latest physx libs for html5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186258 on 2016/11/03 by Nick.Shin
fix for automation build to handle deleting of windows x86 & x64 libs properly
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186225 on 2016/11/03 by Lauren.Ridge
Fix for foliage brush not showing up until after first motion controller click.
#jira UE-38002
Change 3186100 on 2016/11/03 by Chris.Babcock
Update local notifications to deal with depreciated API
#jira UE-38236
#ue4
#android
Change 3186074 on 2016/11/03 by Mitchell.Wilson
Rebuilt lighting in Content Examples Welcome level
#jira UE-38239
Change 3185923 on 2016/11/03 by Lina.Halper
Fixed issue with animation not ticking in inactive world causing it to update parent animation
#jira: UE-37933
Change 3185764 on 2016/11/03 by Mitchell.Wilson
Updating deprecated node in MyCharacter_UMG.
#jira UE-38229
Change 3185683 on 2016/11/03 by Nick.Shin
non SSE2 version of PhysX for HTML5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3185492 on 2016/11/03 by Ben.Woodhouse
Workaround for very high render query memory overhead on D3D12. Add a cvar to limit timestamp queries allocated by the GPU profiler in a given frame. On D3D12 this limit is 1024 - other RHIs remain unbounded.
Currently render queries are 64KB each on D3D12, so this prevents high memory overhead on particular frames, e.g when we render a large number of reflection captures.
In practice, most frames are under 400 queries, so in practice we shouldn't hit the limit except in extreme cases.
#jira UE-38139
Change 3185481 on 2016/11/03 by Dmitry.Rekman
Remove version number from Linux README (UE-38059).
#jira UE-38059
Change 3185322 on 2016/11/03 by Ryan.Gerleve
Allow path names in NetFieldExportGroups to be remapped on the client.
#jira UE-37990
Change 3185293 on 2016/11/03 by Matthew.Griffin
Exclude UnrealControls and iPhonePackager from Build Tools CS node on non-Windows platforms as they don't compile
#jira UE-34016
Change 3185252 on 2016/11/03 by Michael.Trepka
Properly revert to OpenGL on Macs that do not support Metal
#jira UE-38190
Change 3184835 on 2016/11/03 by Jurre.deBaare
Crash when using undo in the preview scene settings of Persona
#fix Ensure that the profile index is valid after undo-ing
#misc Added transactions for adding/remove of the profiles
#jira UE-38142
Change 3184833 on 2016/11/03 by Jack.Porter
Fixed crash when ENABLE_VERIFY_GL and r.MobileOnChipMSAA is enabled on Android
#jira UE-38186
Change 3184418 on 2016/11/02 by Ryan.Vance
#jira UE-38161
Adding ISceneViewExtension::UsePostInitView which will be used to enable/disable the usage of PostRenderViewFamily_RenderThread and PostRenderView_RenderThread which was added earlier. We need to enable this behavior based on the hmd's compositor behavior, so a simple cvar wont work.
I missed the PostPresent implementation for steamvr in the earlier check in.
Change 3184286 on 2016/11/02 by Dan.Oconnor
Fix for IsValidLowLevel check being rotten. More correct fix will go into Dev-BP, but this is a low risk stop-gap
#jira UE-38149
Change 3184283 on 2016/11/02 by Arne.Schober
DR - UE-38155 replicated MS CL 3183837 - PSO Dangling Pointers: The PSO cache was returning pointers out of a Map which is based on a sparse Array and those pointers could become invalid if other insertions happen.
#jira UE-38155
Change 3184244 on 2016/11/02 by Richard.Ugarte
#jira UE-37534
Checking in updated UE4_Demo_Head_D on behalf of MikeB
Change 3184171 on 2016/11/02 by Michael.Trepka
Made Mac CrashReportClient high-DPI aware and fixed high-DPI handling in FMacWindow::IsPointInWindow()
#jira UE-37697
Change 3184126 on 2016/11/02 by Lauren.Ridge
VR Editor: Fixes for foliage painting only working on one controller, and for full press not painting foliage.
#jira UE-38147
#jira UE-38002
Change 3183997 on 2016/11/02 by Mitchell.Wilson
Scaled and Rotated 3d Widget to the correct position on example 2.3 in Content Examples UMG.
Adjusted collision on example 1.4 in Content Examples Physics. Updated collision on SM_ExampleMesh_Rocket.
Realigned some text render actors in Content Examples Post Process.
#jira UE-38099 UE-38078 UE-38064
Change 3183945 on 2016/11/02 by Mieszko.Zielinski
Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4
#jira UE-38137
Change 3183906 on 2016/11/02 by Nick.Shin
for OSX (release-4.14 stream):
new OSX clang (from emscripten tool chain) configured by jukka from Mozilla
see Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/EPIC_VERSION for details on where did this version come from
fixes for OSX -- update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 - Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3183899 on 2016/11/02 by Mieszko.Zielinski
Fixed EQS debugger not drawing item labels #UE4
#jira UE-38122
Change 3183239 on 2016/11/02 by Peter.Sauerbrei
fix for mobile provision with UUID only filename being allowed again by copying them to a new file name which allows them to be used.
#jira UE-38006
Change 3183149 on 2016/11/02 by Luke.Thatcher
[RELEASE] [SHOOTERGAME] [!] Fix "Is Talking" icon on ShooterGame scoreboard, after PS4 OSS refactor.
- ShooterGame was comparing FUniqueNetId::ToString() against AShooterPlayerState::GetShortPlayerName().
- This is wrong, since the NetId is not guaranteed to be equal to the player's name.
#jira UE-38011
Change 3183005 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [^] Merging (as edit) PS4 OSS fixes from Engine to OrionGame.
#jira UE-38017 UE-38020
Original Changelists:
3182765 [RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
3182766 [RELEASE] [PS4] [!] Fix assert in FUniqueNetIdPS4::FindOrCreate. We were assuming an online-only ID could never become a local ID. This isn't the case in the following scenario:
- Two users join a session on two separate PS4s.
- One user signs into the other user's PS4 with the same account, with a second controller. PSN logs him out of the first PS4.
- That user's Net ID has now migrated from being online-only, to local-with-online. This is a case that was not handled.
3182767 [RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
3182892 [RELEASE] [PS4] [!] Fix incorrect identity API implementation in PS4 OSS.
- System events directly drive the login state of a user. This also removes the blocking call to sceNpGetState().
- GetAuthToken is only called if the engine calls IOnlineIdentity::Login().
3182951 [RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
Change 3182992 on 2016/11/02 by Nick.Darnell
UMG Editor - Fixing a regression with the editor, closing the sequencer tab and reopening the editor should no longer cause a crash.
#jira UE-38098
Change 3182951 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
#jira UE-38017
[CL 3201696 by Matthew Griffin in Main branch]
2016-11-17 04:29:30 -05:00
|
|
|
#if SUPPORT_CONTACT_SHADOWS
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
BRANCH
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
if( LightData.ShadowedBits < 2 && GBuffer.ShadingModelID == SHADINGMODELID_HAIR )
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float StepOffset = float( Random.x & 0xffff ) / (1<<16) + 0.1;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
SubsurfaceShadow = ShadowRayCast( WorldPosition + View.PreViewTranslation, L, 0.1, GBuffer.Depth, 8, StepOffset );
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2981877 on 2016/05/18 by Rolando.Caloca
DR - Fix some PVS warnings
- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
#jira UE-30996
Change 2981966 on 2016/05/18 by Rolando.Caloca
DR - Fix OpenGL crash quitting editor
#jira UE-25549
Change 2982072 on 2016/05/18 by Uriel.Doyon
Fixed a "Build Texture Streaming" crash related to custom outputs.
Fixed issue with debug view mode and translucent primitives
Fix bug with visibility that made some texture low res.
Enabled per instance visibility in the texture streaming order (in game only).
Improved InvestigateTexture Logs.
Tweaked the mip computations from screen size.
Change 2982077 on 2016/05/18 by Uriel.Doyon
Removed debug options!
Change 2982108 on 2016/05/18 by Olaf.Piesche
#jira UE-30772
moving AMD hacks to console variables
Change 2982422 on 2016/05/18 by Gil.Gribb
UE4 - Potential crash fix on foliage occlusion queries and reflection captures.
Change 2982547 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
Change 2982548 on 2016/05/18 by Martin.Mittring
Refactored MRT and outer Pixel Shader output to a struct
to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
Needed for upcoming MeshDecals
Change 2982601 on 2016/05/18 by Daniel.Wright
Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
Change 2982603 on 2016/05/18 by Daniel.Wright
DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions
Change 2982618 on 2016/05/18 by Daniel.Wright
Better categories for some Rendering project settings
Change 2982619 on 2016/05/18 by Daniel.Wright
Scene capture 2d improvements
* Orthographic projection supported
* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
* Various GBuffer attributes are now available to be captured, including depth
* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters
Change 2982664 on 2016/05/18 by Daniel.Wright
Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)
Change 2982684 on 2016/05/18 by Martin.Mittring
polish ImageValidator
Change 2982685 on 2016/05/18 by Martin.Mittring
show testimage on sm4 as well
Change 2982736 on 2016/05/18 by Uriel.Doyon
Improved overbudget retention logic.
Updated ListStreamingTextures stats.
Change 2982854 on 2016/05/18 by Martin.Mittring
ImageValidator can now save/load IVxml file
Change 2982863 on 2016/05/18 by Daniel.Wright
Fixed shader compile error
Change 2982864 on 2016/05/18 by Daniel.Wright
Removed deprecation message
Change 2982927 on 2016/05/18 by Martin.Mittring
ImageValidator is now sorting by time
Change 2983743 on 2016/05/19 by Chris.Bunner
Saturated tri-planar UV function outputs to prevent negative blending
#jira UE-30964
Change 2983747 on 2016/05/19 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).
Change 2984008 on 2016/05/19 by Brian.Karis
New contact shadows feature.
Hair uses ray cast for nonshadow lights
Change 2984009 on 2016/05/19 by Brian.Karis
changed to ShadowedBits
Change 2984054 on 2016/05/19 by Brian.Karis
Deleted old motion blur
Change 2984420 on 2016/05/19 by Daniel.Wright
Shorter display name for WorldPosition material node
Change 2984423 on 2016/05/19 by Daniel.Wright
Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass.
Change 2984432 on 2016/05/19 by Rolando.Caloca
DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)
Change 2985415 on 2016/05/20 by Daniel.Wright
Added a Texture2D exporter for .hdr
Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format
Change 2985439 on 2016/05/20 by Daniel.Wright
Scene color alpha clear value validation
Change 2987173 on 2016/05/23 by Martin.Mittring
ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.
Change 2987248 on 2016/05/23 by Martin.Mittring
ImageValidator: added Summary, removed timer hack
Change 2987369 on 2016/05/23 by Martin.Mittring
ImageValidator polish
Change 2987390 on 2016/05/23 by Brian.Karis
Improvement to temporal aa sharpness and speed.
Change 2988038 on 2016/05/24 by Gil.Gribb
Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2988304 on 2016/05/24 by Martin.Mittring
added const to prevent coding errors
Change 2988332 on 2016/05/24 by Brian.Karis
Fixed motion blur crash on SM4
Change 2988446 on 2016/05/24 by Martin.Mittring
nicer UI
Change 2988990 on 2016/05/24 by Martin.Mittring
fixed UE-31227 Building lighting produces bad results
#jira:UE-31227
Change 2989729 on 2016/05/25 by Uriel.Doyon
Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
#jira UE-31254
Change 2989752 on 2016/05/25 by Olaf.Piesche
CVar to disable/freeze GPU particle simulation
Change 2989811 on 2016/05/25 by Daniel.Wright
Making use of MATERIALBLENDING_ANY_TRANSLUCENT
Change 2989812 on 2016/05/25 by Daniel.Wright
Hide DFGI show flags from UI
Change 2989901 on 2016/05/25 by Daniel.Wright
Height fog now works properly in planar reflections
* The ray used for computing fog is first clipped by the reflection plane
Change 2989904 on 2016/05/25 by Daniel.Wright
Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range
Change 2989991 on 2016/05/25 by Daniel.Wright
Improved usability for DBuffer Decals
* 'Show Decals' works correctly, previously would fetch from uninitialized textures
* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
* Improved the PrePass draw event to indicate whether it's full or partial
* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
* r.EarlyZPass can now be changed at runtime, which is useful for profiling
Change 2990008 on 2016/05/25 by Daniel.Wright
Fixed capsule shadows on skeletal meshes with scaling
Change 2990274 on 2016/05/25 by Daniel.Wright
Fixed DFAO (from cl 2961310)
Change 2990304 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#jira:OR-22233
Change 2990309 on 2016/05/25 by Martin.Mittring
Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
(Early work in progress)
Change 2990363 on 2016/05/25 by Daniel.Wright
Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s
Change 2990392 on 2016/05/25 by Daniel.Wright
Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
0: Apply non-directional AO to specular.
1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.
Change 2990454 on 2016/05/25 by Martin.Mittring
polish readme
Change 2990610 on 2016/05/25 by Martin.Mittring
fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
#code_review:Shane.Caudle
Change 2990754 on 2016/05/25 by Zabir.Hoque
Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.
#CodeReview: Martin.Mittring
Change 2990801 on 2016/05/25 by Zabir.Hoque
Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.
#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring
Change 2991169 on 2016/05/26 by Martin.Mittring
fixed compiler warning
WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
#lockdown: gil.gribb
Change 2991238 on 2016/05/26 by Martin.Mittring
fixed build
fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
#lockdown:Gil.Gribb
Change 2991726 on 2016/05/26 by Daniel.Wright
Subsurface materials are now handled with simple forward shading
#jira OR-22237
#lockdown gil.gribb
Change 2991727 on 2016/05/26 by Daniel.Wright
Emissive decals are now supported with simple forward shading
#jira OR-22282
#lockdown Gil.Gribb
Change 2994849 on 2016/05/31 by Daniel.Wright
Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
#lockdown Gil.Gribb
Change 2997243 on 2016/06/01 by Gil.Gribb
Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
float SurfaceAttenuation = (DistanceAttenuation * LightRadiusMask * SpotFalloff) * SurfaceShadow;
|
|
|
|
|
float SubsurfaceAttenuation = (DistanceAttenuation * LightRadiusMask * SpotFalloff) * SubsurfaceShadow;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-07-02 18:14:53 -04:00
|
|
|
LightAccumulator.EstimatedCost += 0.3f; // add the cost of getting the shadow terms
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
const bool bNeedsSeparateSubsurfaceLightAccumulation = GBuffer.ShadingModelID == SHADINGMODELID_SUBSURFACE_PROFILE;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
const float3 LightColor = LightData.LightColorAndFalloffExponent.rgb;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
#if NON_DIRECTIONAL_DIRECT_LIGHTING
|
|
|
|
|
|
|
|
|
|
float3 VolumeLighting = Diffuse_Lambert(GBuffer.DiffuseColor);
|
|
|
|
|
LightAccumulator_Add(LightAccumulator, VolumeLighting, (1.0/PI), LightColor * SurfaceAttenuation, bNeedsSeparateSubsurfaceLightAccumulation);
|
|
|
|
|
|
|
|
|
|
#else
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
const float ClearCoatRoughness = GBuffer.CustomData.y;
|
2014-10-30 17:05:48 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
|
|
|
float3 LobeRoughness = float3(ClearCoatRoughness, GBuffer.Roughness, 1);
|
2016-04-13 21:24:38 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
#if REFERENCE_QUALITY
|
|
|
|
|
float LightMask = LightRadiusMask * SpotFalloff * SurfaceShadow;
|
|
|
|
|
LightAccumulator_Add(LightAccumulator, SphereLightingMIS( GBuffer, LightData, LobeRoughness, ToLight, V, N, Random ), 0, LightColor * LightMask, bNeedsSeparateSubsurfaceLightAccumulation);
|
|
|
|
|
#else
|
|
|
|
|
float3 LobeEnergy = AreaLightSpecular(LightData, LobeRoughness, ToLight, L, V, N);
|
2014-06-26 16:40:05 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
// accumulate surface
|
|
|
|
|
{
|
|
|
|
|
float3 SurfaceLighting = SurfaceShading(GBuffer, LobeRoughness, LobeEnergy, L, V, N, Random);
|
|
|
|
|
LightAccumulator_Add(LightAccumulator, SurfaceLighting, (1.0/PI), LightColor * (NoL * SurfaceAttenuation), bNeedsSeparateSubsurfaceLightAccumulation);
|
|
|
|
|
}
|
2014-06-26 16:40:05 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
// accumulate subsurface
|
|
|
|
|
{
|
|
|
|
|
float3 SubsurfaceLighting = SubsurfaceShading(GBuffer, L, V, N, SubsurfaceShadow, Random);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
LightAccumulator_Add(LightAccumulator, SubsurfaceLighting, 0, LightColor * SubsurfaceAttenuation, false);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
LightAccumulator.EstimatedCost += 0.4f; // add the cost of the lighting computations (should sum up to 1 form one light)
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2014-07-02 18:14:53 -04:00
|
|
|
return LightAccumulator_GetResult(LightAccumulator);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Calculates lighting for a given position, normal, etc with a simple lighting model designed for speed.
|
|
|
|
|
* All lights rendered through this method are unshadowed point lights with no shadowing or light function or IES.
|
2014-06-26 16:40:05 -04:00
|
|
|
* A cheap specular is used instead of the more correct area specular, no fresnel.
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float3 GetSimpleDynamicLighting(float3 WorldPosition, float3 CameraVector, float3 WorldNormal, float AmbientOcclusion, float3 DiffuseColor, float3 SpecularColor, float Roughness, FSimpleDeferredLightData LightData)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
float3 V = -CameraVector;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float3 N = WorldNormal;
|
2014-06-26 16:40:05 -04:00
|
|
|
float3 ToLight = LightData.LightPositionAndInvRadius.xyz - WorldPosition;
|
2014-03-14 14:13:41 -04:00
|
|
|
float DistanceAttenuation = 1;
|
2014-06-26 16:40:05 -04:00
|
|
|
|
|
|
|
|
float DistanceSqr = dot( ToLight, ToLight );
|
|
|
|
|
float3 L = ToLight * rsqrt( DistanceSqr );
|
|
|
|
|
float NoL = saturate( dot( N, L ) );
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (LightData.bInverseSquared)
|
|
|
|
|
{
|
|
|
|
|
// Sphere falloff (technically just 1/d2 but this avoids inf)
|
|
|
|
|
DistanceAttenuation = 1 / ( DistanceSqr + 1 );
|
|
|
|
|
|
|
|
|
|
float LightRadiusMask = Square( saturate( 1 - Square( DistanceSqr * Square(LightData.LightPositionAndInvRadius.w) ) ) );
|
|
|
|
|
DistanceAttenuation *= LightRadiusMask;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-06-27 16:48:41 -04:00
|
|
|
DistanceAttenuation = RadialAttenuation(ToLight * LightData.LightPositionAndInvRadius.w, LightData.LightColorAndFalloffExponent.w);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
float3 OutLighting = 0;
|
|
|
|
|
|
|
|
|
|
BRANCH
|
|
|
|
|
if (DistanceAttenuation > 0)
|
|
|
|
|
{
|
2014-06-26 16:40:05 -04:00
|
|
|
const float3 LightColor = LightData.LightColorAndFalloffExponent.rgb;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-26 16:40:05 -04:00
|
|
|
// Apply SSAO to the direct lighting since we're not going to have any other shadowing
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
float Attenuation = DistanceAttenuation * AmbientOcclusion;
|
2014-06-26 16:40:05 -04:00
|
|
|
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
|
|
|
#if NON_DIRECTIONAL_DIRECT_LIGHTING
|
|
|
|
|
float3 VolumeLighting = Diffuse_Lambert(DiffuseColor);
|
|
|
|
|
OutLighting += LightColor * Attenuation * VolumeLighting;
|
|
|
|
|
#else
|
|
|
|
|
OutLighting += LightColor * (NoL * Attenuation) * SimpleShading(DiffuseColor, SpecularColor, max(Roughness, .04f), L, V, N);
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return OutLighting;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|