2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2014-09-03 18:17:19 -04:00
/*=============================================================================
DistanceFieldShadowing.usf
=============================================================================*/
#include "Common.usf"
#include "DeferredShadingCommon.usf"
#include "DistanceFieldLightingShared.usf"
2015-02-06 23:31:19 -05:00
#include "DistanceFieldShadowingShared.usf"
2014-09-03 18:17:19 -04:00
2014-11-21 22:32:16 -05:00
uint ObjectBoundingGeometryIndexCount;
float4 FetchObjectDataFloat4(uint SourceIndex)
{
return float4(ObjectData[4 * SourceIndex + 0], ObjectData[4 * SourceIndex + 1], ObjectData[4 * SourceIndex + 2], ObjectData[4 * SourceIndex + 3]);
}
void CopyCulledObjectData(uint DestIndex, uint SourceIndex)
{
RWCulledObjectBounds[DestIndex] = float4(ObjectBounds[4 * SourceIndex + 0], ObjectBounds[4 * SourceIndex + 1], ObjectBounds[4 * SourceIndex + 2], ObjectBounds[4 * SourceIndex + 3]);
UNROLL
for (uint VectorIndex = 0; VectorIndex < CULLED_OBJECT_DATA_STRIDE; VectorIndex++)
{
2014-12-16 20:00:22 -05:00
// Note: only copying the first CULLED_OBJECT_DATA_STRIDE of the original object data
2014-11-21 22:32:16 -05:00
RWCulledObjectData[DestIndex * CULLED_OBJECT_DATA_STRIDE + VectorIndex] = FetchObjectDataFloat4(SourceIndex * OBJECT_DATA_STRIDE + VectorIndex);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
float3 LocalVolumeBoundsMin;
float3 LocalVolumeBoundsMax;
LoadGlobalObjectLocalVolumeBoundsMinMax(SourceIndex, LocalVolumeBoundsMin, LocalVolumeBoundsMax);
2014-11-21 22:32:16 -05:00
float3 LocalBoundsVertices[8];
LocalBoundsVertices[0] = float3(LocalVolumeBoundsMin.x, LocalVolumeBoundsMin.y, LocalVolumeBoundsMin.z);
LocalBoundsVertices[1] = float3(LocalVolumeBoundsMax.x, LocalVolumeBoundsMin.y, LocalVolumeBoundsMin.z);
LocalBoundsVertices[2] = float3(LocalVolumeBoundsMin.x, LocalVolumeBoundsMax.y, LocalVolumeBoundsMin.z);
LocalBoundsVertices[3] = float3(LocalVolumeBoundsMax.x, LocalVolumeBoundsMax.y, LocalVolumeBoundsMin.z);
LocalBoundsVertices[4] = float3(LocalVolumeBoundsMin.x, LocalVolumeBoundsMin.y, LocalVolumeBoundsMax.z);
LocalBoundsVertices[5] = float3(LocalVolumeBoundsMax.x, LocalVolumeBoundsMin.y, LocalVolumeBoundsMax.z);
LocalBoundsVertices[6] = float3(LocalVolumeBoundsMin.x, LocalVolumeBoundsMax.y, LocalVolumeBoundsMax.z);
LocalBoundsVertices[7] = float3(LocalVolumeBoundsMax.x, LocalVolumeBoundsMax.y, LocalVolumeBoundsMax.z);
float3 MinViewSpacePosition = float3(2000000, 2000000, 2000000);
float3 MaxViewSpacePosition = float3(-2000000, -2000000, -2000000);
2014-12-16 20:00:22 -05:00
float4 M0 = FetchObjectDataFloat4(SourceIndex * OBJECT_DATA_STRIDE + 11);
float4 M1 = FetchObjectDataFloat4(SourceIndex * OBJECT_DATA_STRIDE + 12);
float4 M2 = FetchObjectDataFloat4(SourceIndex * OBJECT_DATA_STRIDE + 13);
float4 M3 = FetchObjectDataFloat4(SourceIndex * OBJECT_DATA_STRIDE + 14);
2014-11-21 22:32:16 -05:00
float4x4 LocalToWorld = float4x4(M0, M1, M2, M3);
float3 ViewSpaceBoundsVertices[8];
for (uint i = 0; i < 8; i++)
{
float3 WorldBoundsPosition = mul(float4(LocalBoundsVertices[i], 1), LocalToWorld).xyz;
float3 ViewSpacePosition = mul(float4(WorldBoundsPosition, 1), WorldToShadow).xyz;
MinViewSpacePosition = min(MinViewSpacePosition, ViewSpacePosition);
MaxViewSpacePosition = max(MaxViewSpacePosition, ViewSpacePosition);
ViewSpaceBoundsVertices[i] = ViewSpacePosition;
}
float3 ObjectXAxis = (ViewSpaceBoundsVertices[1] - ViewSpaceBoundsVertices[0]) / 2.0f;
float3 ObjectYAxis = (ViewSpaceBoundsVertices[2] - ViewSpaceBoundsVertices[0]) / 2.0f;
float3 ObjectZAxis = (ViewSpaceBoundsVertices[4] - ViewSpaceBoundsVertices[0]) / 2.0f;
RWCulledObjectBoxBounds[DestIndex * CULLED_OBJECT_BOX_BOUNDS_STRIDE + 0] = float4(MinViewSpacePosition, 0);
RWCulledObjectBoxBounds[DestIndex * CULLED_OBJECT_BOX_BOUNDS_STRIDE + 1] = float4(MaxViewSpacePosition, 0);
RWCulledObjectBoxBounds[DestIndex * CULLED_OBJECT_BOX_BOUNDS_STRIDE + 2] = float4(ObjectXAxis / max(dot(ObjectXAxis, ObjectXAxis), .0001f), 0);
RWCulledObjectBoxBounds[DestIndex * CULLED_OBJECT_BOX_BOUNDS_STRIDE + 3] = float4(ObjectYAxis / max(dot(ObjectYAxis, ObjectYAxis), .0001f), 0);
RWCulledObjectBoxBounds[DestIndex * CULLED_OBJECT_BOX_BOUNDS_STRIDE + 4] = float4(ObjectZAxis / max(dot(ObjectZAxis, ObjectZAxis), .0001f), 0);
}
float4 ShadowConvexHull[12];
float4 ShadowBoundingSphere;
uint NumShadowHullPlanes;
bool ShadowConvexHullIntersectSphere(float3 SphereOrigin, float SphereRadius)
{
float3 TranslatedSphereOrigin = SphereOrigin + ShadowBoundingSphere.xyz;
for (uint PlaneIndex = 0; PlaneIndex < NumShadowHullPlanes; PlaneIndex++)
{
float4 PlaneData = ShadowConvexHull[PlaneIndex];
float PlaneDistance = dot(PlaneData.xyz, TranslatedSphereOrigin) - PlaneData.w;
if (PlaneDistance > SphereRadius)
{
return false;
}
}
return true;
}
[numthreads(UPDATEOBJECTS_THREADGROUP_SIZE, 1, 1)]
void CullObjectsForShadowCS(
uint3 GroupId : SV_GroupID,
uint3 DispatchThreadId : SV_DispatchThreadID,
uint3 GroupThreadId : SV_GroupThreadID)
{
uint ObjectIndex = DispatchThreadId.x;
#define USE_FRUSTUM_CULLING 1
#if USE_FRUSTUM_CULLING
if (DispatchThreadId.x == 0)
{
2014-12-16 20:00:22 -05:00
// RWObjectIndirectArguments is zeroed by a clear before this shader, only need to set things that are non-zero (and are not read by this shader as that would be a race condition)
2014-11-21 22:32:16 -05:00
// IndexCount, NumInstances, StartIndex, BaseVertexIndex, FirstInstance
RWObjectIndirectArguments[0] = ObjectBoundingGeometryIndexCount;
}
GroupMemoryBarrierWithGroupSync();
uint SourceIndex = ObjectIndex;
if (ObjectIndex < NumSceneObjects)
{
float4 ObjectBoundingSphere = float4(ObjectBounds[4 * SourceIndex + 0], ObjectBounds[4 * SourceIndex + 1], ObjectBounds[4 * SourceIndex + 2], ObjectBounds[4 * SourceIndex + 3]);
if (ShadowBoundingSphere.w == 0 && ShadowConvexHullIntersectSphere(ObjectBoundingSphere.xyz, ObjectBoundingSphere.w)
|| ShadowBoundingSphere.w > 0 && dot(ShadowBoundingSphere.xyz - ObjectBoundingSphere.xyz, ShadowBoundingSphere.xyz - ObjectBoundingSphere.xyz) < Square(ShadowBoundingSphere.w + ObjectBoundingSphere.w))
{
uint DestIndex;
2015-03-30 17:48:16 -04:00
InterlockedAdd(RWObjectIndirectArguments[1], 1U, DestIndex);
2014-11-21 22:32:16 -05:00
CopyCulledObjectData(DestIndex, SourceIndex);
}
}
#else
if (DispatchThreadId.x == 0)
{
// IndexCount, NumInstances, StartIndex, BaseVertexIndex, FirstInstance
RWObjectIndirectArguments[0] = ObjectBoundingGeometryIndexCount;
RWObjectIndirectArguments[1] = NumSceneObjects;
}
uint SourceIndex = ObjectIndex;
uint DestIndex = ObjectIndex;
2015-02-20 16:59:24 -05:00
if (ObjectIndex < NumSceneObjects)
{
CopyCulledObjectData(DestIndex, SourceIndex);
}
2014-11-21 22:32:16 -05:00
#endif
}
2014-12-16 20:00:22 -05:00
RWBuffer<uint> RWShadowTileHeadDataUnpacked;
RWBuffer<uint> RWShadowTileArrayData;
2014-09-18 15:13:07 -04:00
[numthreads(THREADGROUP_SIZEX, THREADGROUP_SIZEY, 1)]
void ClearTilesCS(
uint3 GroupId : SV_GroupID,
uint3 DispatchThreadId : SV_DispatchThreadID,
uint3 GroupThreadId : SV_GroupThreadID)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
uint TileIndex = DispatchThreadId.y * ShadowTileListGroupSize.x + DispatchThreadId.x;
2014-09-18 15:13:07 -04:00
2014-12-16 20:00:22 -05:00
RWShadowTileHeadDataUnpacked[TileIndex * 2 + 0] = TileIndex;
RWShadowTileHeadDataUnpacked[TileIndex * 2 + 1] = 0;
2014-09-18 15:13:07 -04:00
}
struct FShadowObjectCullVertexOutput
{
nointerpolation float4 PositionAndRadius : TEXCOORD0;
nointerpolation uint ObjectIndex : TEXCOORD1;
};
float ConservativeRadiusScale;
float MinRadius;
/** Used when culling objects into screenspace tile lists */
void ShadowObjectCullVS(
float4 InPosition : ATTRIBUTE0,
uint ObjectIndex : SV_InstanceID,
2015-03-30 17:48:16 -04:00
out FShadowObjectCullVertexOutput Output,
out float4 OutPosition : SV_POSITION
2014-09-18 15:13:07 -04:00
)
{
float4 ObjectPositionAndRadius = LoadObjectPositionAndRadius(ObjectIndex);
// ConservativeRadiusScale pushes the sphere vertices out so the triangles between them lie completely outside the sphere
// MinRadius is for conservative rasterization
float EffectiveRadius = (ObjectPositionAndRadius.w + MinRadius) * ConservativeRadiusScale;
float3 WorldPosition = InPosition.xyz * EffectiveRadius + ObjectPositionAndRadius.xyz;
2015-03-30 17:48:16 -04:00
OutPosition = mul(float4(WorldPosition, 1), WorldToShadow);
2015-09-22 13:51:50 -04:00
// Clamp the vertex to the near plane if it is in front of the near plane
if (OutPosition.z < 0)
{
OutPosition.z = 0.000001f;
OutPosition.w = 1.0f;
}
2014-09-18 15:13:07 -04:00
Output.PositionAndRadius = ObjectPositionAndRadius;
Output.ObjectIndex = ObjectIndex;
}
/** Intersects a single object with the tile and adds to the intersection list if needed. */
void ShadowObjectCullPS(
FShadowObjectCullVertexOutput Input,
in float4 SVPos : SV_POSITION,
2015-03-30 17:48:16 -04:00
out float4 OutColor : SV_Target0)
2014-09-18 15:13:07 -04:00
{
OutColor = 0;
uint2 TilePosition = (uint2)SVPos.xy;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
uint TileIndex = TilePosition.y * ShadowTileListGroupSize.x + TilePosition.x;
2014-09-18 15:13:07 -04:00
#define OBJECT_OBB_INTERSECTION 1
#if OBJECT_OBB_INTERSECTION
float3 ShadowTileMin;
float3 ShadowTileMax;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
float2 TilePositionForCulling = float2(TilePosition.x, ShadowTileListGroupSize.y - TilePosition.y);
2014-09-18 15:13:07 -04:00
//@todo - why is this expand needed
float TileExpand = 1;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
ShadowTileMin.xy = (TilePositionForCulling - TileExpand) / (float2)ShadowTileListGroupSize * 2 - 1;
ShadowTileMax.xy = (TilePositionForCulling + 1) / (float2)ShadowTileListGroupSize * 2 - 1;
2015-09-22 13:51:50 -04:00
// Extrude toward light to avoid culling objects between the light and the shadow frustum
ShadowTileMin.z = -1000;
2014-09-18 15:13:07 -04:00
ShadowTileMax.z = 1;
float3 ObjectViewSpaceMin;
float3 ObjectViewSpaceMax;
LoadObjectViewSpaceBox(Input.ObjectIndex, ObjectViewSpaceMin, ObjectViewSpaceMax);
BRANCH
// Separating axis test on the AABB
2015-09-22 13:51:50 -04:00
// Note: don't clip by near plane, objects closer to the light can still cast into the frustum
if (all(ObjectViewSpaceMax.xy > ShadowTileMin.xy) && all(ObjectViewSpaceMin < ShadowTileMax))
2014-09-18 15:13:07 -04:00
{
float3 ObjectCenter = .5f * (ObjectViewSpaceMin + ObjectViewSpaceMax);
float3 MinProjections = 500000;
float3 MaxProjections = -500000;
{
float3 Corners[8];
Corners[0] = float3(ShadowTileMin.x, ShadowTileMin.y, ShadowTileMin.z);
Corners[1] = float3(ShadowTileMax.x, ShadowTileMin.y, ShadowTileMin.z);
Corners[2] = float3(ShadowTileMin.x, ShadowTileMax.y, ShadowTileMin.z);
Corners[3] = float3(ShadowTileMax.x, ShadowTileMax.y, ShadowTileMin.z);
Corners[4] = float3(ShadowTileMin.x, ShadowTileMin.y, ShadowTileMax.z);
Corners[5] = float3(ShadowTileMax.x, ShadowTileMin.y, ShadowTileMax.z);
Corners[6] = float3(ShadowTileMin.x, ShadowTileMax.y, ShadowTileMax.z);
Corners[7] = float3(ShadowTileMax.x, ShadowTileMax.y, ShadowTileMax.z);
float3 ObjectAxisX;
float3 ObjectAxisY;
float3 ObjectAxisZ;
LoadObjectAxes(Input.ObjectIndex, ObjectAxisX, ObjectAxisY, ObjectAxisZ);
UNROLL
for (int i = 0; i < 8; i++)
{
float3 CenterToVertex = Corners[i] - ObjectCenter;
float3 Projections = float3(dot(CenterToVertex, ObjectAxisX), dot(CenterToVertex, ObjectAxisY), dot(CenterToVertex, ObjectAxisZ));
MinProjections = min(MinProjections, Projections);
MaxProjections = max(MaxProjections, Projections);
}
}
BRANCH
// Separating axis test on the OBB
if (all(MinProjections < 1) && all(MaxProjections > -1))
{
uint ArrayIndex;
2014-12-16 20:00:22 -05:00
InterlockedAdd(RWShadowTileHeadDataUnpacked[TileIndex * 2 + 1], 1U, ArrayIndex);
2014-09-18 15:13:07 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3274304)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3250856 on 2017/01/09 by Daniel.Wright
Only showing instruction count for 'Base pass shader' now
Change 3250943 on 2017/01/09 by Rolando.Caloca
DR - Async Compute PSO creation
Change 3251036 on 2017/01/09 by Rolando.Caloca
DR - Add r.AsyncPipelineCompile
- Dispatch on any thread
- Wait for completion event
Change 3251058 on 2017/01/09 by Ben.Woodhouse
Fix for PSO creation D3D error with NumRenderTargets. Add code to compute the correct number of valid rendertargets to prevent an issue during PSO creation when NumRenderTargets is >0, but none of the formats are valid (all formats are DXGI_UNKNOWN)
#jira UE-40332
Change 3251141 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite CL 3243458:
D3D12 memory optimization - The d3d12 buddy suballocator is very wasteful for allocations above 4KB, but the vast majority of allocations are smaller . In the default buffer allocator this was causing 149MB of waste in 340MB of allocations. Moving the max allocation size threshold down to 4KB from 512KB saved 100MB of memory wastage memory.
On PC, buffers are 64KB aligned, so we need the threshold to be higher to avoid additional wastage.
Add PIX memory tracking instrumentation for buddy allocators so we can track the memory properly in PIX
Change 3251142 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite 3243496
memory optimisation: use NULL-terminated ansi strings instead of unicode FStrings for symbols, saving 118MB. Previously the strings were loaded from disk as ansi and then converted to FStrings (slowly), before finally being converted them back to ansi strings before being used. In addition to reducing memory overhead, this change reduces complexity and improves startup time.
Change 3252323 on 2017/01/10 by Rolando.Caloca
DR - Gfx async PSO creation prep
Change 3252474 on 2017/01/10 by Daniel.Wright
Added 'Compile Unreal Lightmass' to error message
Change 3252589 on 2017/01/10 by Daniel.Wright
Back out bulk data for distance fields from cl 3241990 which causes distance fields to be corrupt in Fortnite
Change 3252790 on 2017/01/10 by Daniel.Wright
Added InscatteringColorCubemapAngle to exponential height fog
Change 3252843 on 2017/01/10 by Uriel.Doyon
Propper fix for UE-40211, where texture streaming bound defrag and async tasks could interact in coherent ways.
The bound defrag is now done outside of the async work logic.
Change 3252866 on 2017/01/10 by Mark.Satterthwaite
Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
#jira UE-40357
Change 3254511 on 2017/01/11 by Rolando.Caloca
DR - PSO stats
Change 3255958 on 2017/01/12 by Mark.Satterthwaite
Reimplement RQT_AbsoluteTime for Metal - pretty sure I did this before, but somehow it got lost. When a RQT_AbsoluteTime is inserted into the command-stream, insert a command-buffer completion handler to record the time of completion & submit the command-buffer immediately. This breaks command-buffers so is noticeably slower and if inserted in a pass that can't be restarted will fail but is currently the only option available. This is sufficient to support the GPUBenchmark used by Scalability. To make this more efficient I've refactored the FMetalCommandBufferFence implementation so that we use a single shared-ptr object containing the command-buffer and a dispatch semaphore, rather than allocating one for each query. The semaphore allows for timed-waits where previously we'd block until completion, unlike the other APIs that report failure after a fixed interval (2s for RQT_AbsoluteTime, otherwise 0.5s). Sadly not all drivers support this abuse of the Metal API, so replace the GL-based workaround for not having time queries with one that just guesses based on RHI device details. Radars will be filed.
#jira UE-40554
Change 3256329 on 2017/01/12 by Olaf.Piesche
#jira UE-38615
Assert shouldn't be necessary; in fact, it causes a crash when exporting emitters, since in that case we're changing the template at runtime.
Change 3256371 on 2017/01/12 by Uriel.Doyon
Reenabled texture streaming bound defrag as the fix is in CL 3252843
Change 3257032 on 2017/01/13 by Daniel.Wright
Added fastClamp to fastmath.usf
Change 3257111 on 2017/01/13 by Daniel.Wright
Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game
Change 3257112 on 2017/01/13 by Daniel.Wright
DFAO optimizations
* Changed the culling algorithm to produce a list of intersecting screen tiles for each object, instead of the other way around. Each tile / object intersection gets its own cone tracing thread group so wavefronts are much smaller and scheduled better. 3.63ms -> 3.48ms (.15ms)
* Replace slow instructions in inner loop with fast approximations (exp2 -> sqr + 1, rcpFast, lengthFast) 3.25ms -> 3.09ms (.16ms)
* Moved transform from world to local space out of the inner loop (sample position constructed from local space position + direction) 3.09ms -> 3.04ms
* Compute shader for ClearUAV 3.04ms -> 2.62ms (.42ms)
Change 3257113 on 2017/01/13 by Daniel.Wright
Better distance field memory stats
Change 3257326 on 2017/01/13 by Uriel.Doyon
Workaround to support cases where several textures have the same lighting GUID.
Change 3257448 on 2017/01/13 by Daniel.Wright
Removed legacy features Distance Field Specular Occlusion, Distance Field Surface Cache AO, PreCullTriangles
Change 3257616 on 2017/01/13 by Daniel.Wright
Distance field mesh visualization now uses a cone containing the entire tile to cull objects with, making the results stable
Change 3257657 on 2017/01/13 by Daniel.Wright
Mesh distance fields are stored zlib compressed in memory until needed for uploading to GPU
* 81Mb of backing memory -> 32Mb in GPUPerfTest, atlas upload time 29ms -> 893ms
Change 3258063 on 2017/01/14 by Rolando.Caloca
DR - vk - Refactor descriptor set reuse in prep for more changes
Change 3258715 on 2017/01/16 by Daniel.Wright
Added VisualizeGlobalDistanceField show flag
Change 3258827 on 2017/01/16 by Daniel.Wright
Global distance field update regions are clipped against others to reduce redundant updates.
Change 3258959 on 2017/01/16 by Benjamin.Hyder
Updating Planar Reflection example material in TM-Shadermodels
Change 3259270 on 2017/01/16 by Daniel.Wright
[Copy] 'r.MSAACount 1' now produces no MSAA or TAA. 'r.MSAACount 0' can be used to toggle TAA on for comparisons.
Change 3259652 on 2017/01/16 by Uriel.Doyon
Better support for static primitive becoming dynamic.
Change 3260107 on 2017/01/17 by Ben.Woodhouse
Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
#jira UE-40717
Change 3260594 on 2017/01/17 by Daniel.Wright
Added a new global distance field (4x 128^3 clipmaps) which caches mostly static primitives (Mobility set to Static or Stationary)
* The full global distance field inherits from the mostly static cache, so when a Movable primitive is modified, only other movable primitives in the vicinity need to be re-composited into the global distance field
* Global distance field update cost with one large rotating object went from 2.5ms -> .2ms on 970GTX and 4.6ms -> .3ms. Worst case full volume update is mostly the same.
* Adds 12Mb for the new volume textures
Change 3260956 on 2017/01/17 by Daniel.Wright
Structured buffers for DF object data
* Full global distance field clipmap composite 3.0ms -> 2.0ms due to scalarized loads
Change 3261296 on 2017/01/17 by Daniel.Wright
Exposed MaxObjectsPerTile with 'r.AOMaxObjectsPerCullTile' and lowered the default from 512 to 256, saves 17Mb of object tile culling data structures
Removed unnecessary UAV transitions preventing object and global cone tracing from overlapping, saves ~.1ms
Change 3262036 on 2017/01/18 by Ben.Salem
V0 of Perf monitor plugin for easily consumable stat csvs. With plugin enabled, enter PerformanceMonitor help into the console to get usage details.
Change 3262056 on 2017/01/18 by Chris.Bunner
Remove inverse tonemapping when rendering HDR output.
#jira UE-40728
Change 3262661 on 2017/01/18 by Rolando.Caloca
DR - Add missing SetStencilRef() and SetBlendFactor() on most RHIs
- Fix hash for PSOs
Change 3263674 on 2017/01/19 by Chris.Bunner
PR #3144: Improved error messages (Contributed by DarkSlot)
#jira UE-40835
Change 3264150 on 2017/01/19 by Ben.Woodhouse
Add support for single threaded in FMonitoredProcess. Deprecated IsRunning() in favour of a new Update() method because polling IsRunning is not compatible with -nothreading mode
#jira UE-40841
Change 3264153 on 2017/01/19 by Ben.Woodhouse
Integrate latest changes from MS-DX12 CLs 3231395-3262526
- Added WinPixEventRuntime.tps
- Includes PIX support, various optimizations (saved 1.3ms in testbed scene)
CL 3262343:
Fix depth testing on translucency not working correctly after cl 3231395. This change reapplies the D3D12RHI changes from CL 3231395 because those changes were lost when integrating from //Dev-Rendering/ but also includes the depth fixes:
- Fix depth state not being in DEPTH_READ for use as depth read. The issue was HasDepthBits and HasStencilBits wern't intended for SRV formats and always returned false in the SRV case.
CL 3231395:
Update D3D12 RHI:
- Fix deferred MSAA path in RHI
- Add Pix3.h support
- Cleanup SetName usage and remove it from shipping builds.
- Fix fence reuse bug. We were signaling MAX UINT (-1) and then waiting for 0, which was always signaled. This change also removes the fence value reset code, there is no need to reset a fence to a previous value.
- Use FPlatformAtomics::InterlockedIncrement instead of InterlockedIncrement64
- Use InterlockedIncrement() instead of _InterlockedIncrement() and use the FPlatformAtomics:: version.
- Fix possible readback heap being evicted while in use. GetQueryData happens on the render thread and isn't tied to a command list so we should always have readback heaps resident.
Change 3264251 on 2017/01/19 by Mark.Satterthwaite
Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
#jira UE-40803
Change 3264642 on 2017/01/19 by Daniel.Wright
Raised GMaxShadowDepthBufferSizeX to max texture resolution on most platforms, was previously 4096.
Change 3265330 on 2017/01/20 by Ben.Salem
Stop performance plugin from building in Win32.
#tests recompiled and preflighted
Change 3265678 on 2017/01/20 by Marcus.Wassmer
Fix bad declaration.
#3055
Change 3266656 on 2017/01/20 by Mark.Satterthwaite
Changes to the FShaderCache to restore it and extend it to optionally report on shader de-duplication when generating a binary shader cache (Console Variable: r.BinaryShaderCacheLogging).
Duplicate & amend CL #3266053 from Trepka:
Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.
Amend & integrate RCO's CL #3197085.
Change 3267741 on 2017/01/23 by Rolando.Caloca
DR - Detect duplicated shader and pipeline types
Change 3268600 on 2017/01/23 by Uriel.Doyon
Added missing r.Streaming.MaxEffectiveScreenSize config to base texture scability settings.
Integrated CL 3227368 from Orion stream
Enabled r.Streaming.UsePerTextureBias by default as this has been tested in Orion for several months.
Fixed issue with the InvestigateTexture command which could return invalid reference depending on the timing,
Added th MaxEffectiveScreenSize settings in the investigate texture command.
Change 3269512 on 2017/01/24 by Richard.Wallis
Fix for shader binary cache uncompress data size during internal shader log.
Change 3271237 on 2017/01/25 by Ben.Woodhouse
D3D12 updateTexture2D crash fix
#jira UE-41059
Change 3271564 on 2017/01/25 by Olaf.Piesche
#jira UE-40980
#udn 325525
Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe
Change 3271594 on 2017/01/25 by Ben.Woodhouse
ESRAM support stage 1:
Implemented noncontiguous ESRAM page allocator replacing XgMemoryLayout API. The allocator allocates non-contiguous ranges of pages and maps them onto a contiguous virtual address range.
Unlike the previous implementation, this allocator frees pages for reuse when resources are destroyed
Note: issues with deferred deallocation may prevent reuse in many cases - that will be addressed in the next stage
Support for the old allocator is still available (for now) via the define NEW_ESRAM_ALLOCATOR
#fyi rolando.caloca
Change 3272616 on 2017/01/25 by Rolando.Caloca
DR - Update shader version
Change 3273138 on 2017/01/26 by Ben.Woodhouse
Fix merge issue with MonitoredProcess.cpp (this arose from an integration made as an edit in dev-rendering, which confused perforce when the change was subsequently integrated from main)
[CL 3274498 by Rolando Caloca in Main branch]
2017-01-26 19:20:49 -05:00
if (ArrayIndex < ShadowMaxObjectsPerTile)
2014-09-18 15:13:07 -04:00
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
uint DataIndex = (ArrayIndex * (uint)(ShadowTileListGroupSize.x * ShadowTileListGroupSize.y + .5f) + TileIndex);
RWShadowTileArrayData[DataIndex * SHADOW_TILE_ARRAY_DATA_STRIDE] = Input.ObjectIndex;
2014-09-18 15:13:07 -04:00
}
}
}
#else
{
uint ArrayIndex;
2014-12-16 20:00:22 -05:00
InterlockedAdd(RWShadowTileHeadDataUnpacked[TileIndex * 2 + 1], 1U, ArrayIndex);
2014-09-18 15:13:07 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3274304)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3250856 on 2017/01/09 by Daniel.Wright
Only showing instruction count for 'Base pass shader' now
Change 3250943 on 2017/01/09 by Rolando.Caloca
DR - Async Compute PSO creation
Change 3251036 on 2017/01/09 by Rolando.Caloca
DR - Add r.AsyncPipelineCompile
- Dispatch on any thread
- Wait for completion event
Change 3251058 on 2017/01/09 by Ben.Woodhouse
Fix for PSO creation D3D error with NumRenderTargets. Add code to compute the correct number of valid rendertargets to prevent an issue during PSO creation when NumRenderTargets is >0, but none of the formats are valid (all formats are DXGI_UNKNOWN)
#jira UE-40332
Change 3251141 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite CL 3243458:
D3D12 memory optimization - The d3d12 buddy suballocator is very wasteful for allocations above 4KB, but the vast majority of allocations are smaller . In the default buffer allocator this was causing 149MB of waste in 340MB of allocations. Moving the max allocation size threshold down to 4KB from 512KB saved 100MB of memory wastage memory.
On PC, buffers are 64KB aligned, so we need the threshold to be higher to avoid additional wastage.
Add PIX memory tracking instrumentation for buddy allocators so we can track the memory properly in PIX
Change 3251142 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite 3243496
memory optimisation: use NULL-terminated ansi strings instead of unicode FStrings for symbols, saving 118MB. Previously the strings were loaded from disk as ansi and then converted to FStrings (slowly), before finally being converted them back to ansi strings before being used. In addition to reducing memory overhead, this change reduces complexity and improves startup time.
Change 3252323 on 2017/01/10 by Rolando.Caloca
DR - Gfx async PSO creation prep
Change 3252474 on 2017/01/10 by Daniel.Wright
Added 'Compile Unreal Lightmass' to error message
Change 3252589 on 2017/01/10 by Daniel.Wright
Back out bulk data for distance fields from cl 3241990 which causes distance fields to be corrupt in Fortnite
Change 3252790 on 2017/01/10 by Daniel.Wright
Added InscatteringColorCubemapAngle to exponential height fog
Change 3252843 on 2017/01/10 by Uriel.Doyon
Propper fix for UE-40211, where texture streaming bound defrag and async tasks could interact in coherent ways.
The bound defrag is now done outside of the async work logic.
Change 3252866 on 2017/01/10 by Mark.Satterthwaite
Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
#jira UE-40357
Change 3254511 on 2017/01/11 by Rolando.Caloca
DR - PSO stats
Change 3255958 on 2017/01/12 by Mark.Satterthwaite
Reimplement RQT_AbsoluteTime for Metal - pretty sure I did this before, but somehow it got lost. When a RQT_AbsoluteTime is inserted into the command-stream, insert a command-buffer completion handler to record the time of completion & submit the command-buffer immediately. This breaks command-buffers so is noticeably slower and if inserted in a pass that can't be restarted will fail but is currently the only option available. This is sufficient to support the GPUBenchmark used by Scalability. To make this more efficient I've refactored the FMetalCommandBufferFence implementation so that we use a single shared-ptr object containing the command-buffer and a dispatch semaphore, rather than allocating one for each query. The semaphore allows for timed-waits where previously we'd block until completion, unlike the other APIs that report failure after a fixed interval (2s for RQT_AbsoluteTime, otherwise 0.5s). Sadly not all drivers support this abuse of the Metal API, so replace the GL-based workaround for not having time queries with one that just guesses based on RHI device details. Radars will be filed.
#jira UE-40554
Change 3256329 on 2017/01/12 by Olaf.Piesche
#jira UE-38615
Assert shouldn't be necessary; in fact, it causes a crash when exporting emitters, since in that case we're changing the template at runtime.
Change 3256371 on 2017/01/12 by Uriel.Doyon
Reenabled texture streaming bound defrag as the fix is in CL 3252843
Change 3257032 on 2017/01/13 by Daniel.Wright
Added fastClamp to fastmath.usf
Change 3257111 on 2017/01/13 by Daniel.Wright
Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game
Change 3257112 on 2017/01/13 by Daniel.Wright
DFAO optimizations
* Changed the culling algorithm to produce a list of intersecting screen tiles for each object, instead of the other way around. Each tile / object intersection gets its own cone tracing thread group so wavefronts are much smaller and scheduled better. 3.63ms -> 3.48ms (.15ms)
* Replace slow instructions in inner loop with fast approximations (exp2 -> sqr + 1, rcpFast, lengthFast) 3.25ms -> 3.09ms (.16ms)
* Moved transform from world to local space out of the inner loop (sample position constructed from local space position + direction) 3.09ms -> 3.04ms
* Compute shader for ClearUAV 3.04ms -> 2.62ms (.42ms)
Change 3257113 on 2017/01/13 by Daniel.Wright
Better distance field memory stats
Change 3257326 on 2017/01/13 by Uriel.Doyon
Workaround to support cases where several textures have the same lighting GUID.
Change 3257448 on 2017/01/13 by Daniel.Wright
Removed legacy features Distance Field Specular Occlusion, Distance Field Surface Cache AO, PreCullTriangles
Change 3257616 on 2017/01/13 by Daniel.Wright
Distance field mesh visualization now uses a cone containing the entire tile to cull objects with, making the results stable
Change 3257657 on 2017/01/13 by Daniel.Wright
Mesh distance fields are stored zlib compressed in memory until needed for uploading to GPU
* 81Mb of backing memory -> 32Mb in GPUPerfTest, atlas upload time 29ms -> 893ms
Change 3258063 on 2017/01/14 by Rolando.Caloca
DR - vk - Refactor descriptor set reuse in prep for more changes
Change 3258715 on 2017/01/16 by Daniel.Wright
Added VisualizeGlobalDistanceField show flag
Change 3258827 on 2017/01/16 by Daniel.Wright
Global distance field update regions are clipped against others to reduce redundant updates.
Change 3258959 on 2017/01/16 by Benjamin.Hyder
Updating Planar Reflection example material in TM-Shadermodels
Change 3259270 on 2017/01/16 by Daniel.Wright
[Copy] 'r.MSAACount 1' now produces no MSAA or TAA. 'r.MSAACount 0' can be used to toggle TAA on for comparisons.
Change 3259652 on 2017/01/16 by Uriel.Doyon
Better support for static primitive becoming dynamic.
Change 3260107 on 2017/01/17 by Ben.Woodhouse
Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
#jira UE-40717
Change 3260594 on 2017/01/17 by Daniel.Wright
Added a new global distance field (4x 128^3 clipmaps) which caches mostly static primitives (Mobility set to Static or Stationary)
* The full global distance field inherits from the mostly static cache, so when a Movable primitive is modified, only other movable primitives in the vicinity need to be re-composited into the global distance field
* Global distance field update cost with one large rotating object went from 2.5ms -> .2ms on 970GTX and 4.6ms -> .3ms. Worst case full volume update is mostly the same.
* Adds 12Mb for the new volume textures
Change 3260956 on 2017/01/17 by Daniel.Wright
Structured buffers for DF object data
* Full global distance field clipmap composite 3.0ms -> 2.0ms due to scalarized loads
Change 3261296 on 2017/01/17 by Daniel.Wright
Exposed MaxObjectsPerTile with 'r.AOMaxObjectsPerCullTile' and lowered the default from 512 to 256, saves 17Mb of object tile culling data structures
Removed unnecessary UAV transitions preventing object and global cone tracing from overlapping, saves ~.1ms
Change 3262036 on 2017/01/18 by Ben.Salem
V0 of Perf monitor plugin for easily consumable stat csvs. With plugin enabled, enter PerformanceMonitor help into the console to get usage details.
Change 3262056 on 2017/01/18 by Chris.Bunner
Remove inverse tonemapping when rendering HDR output.
#jira UE-40728
Change 3262661 on 2017/01/18 by Rolando.Caloca
DR - Add missing SetStencilRef() and SetBlendFactor() on most RHIs
- Fix hash for PSOs
Change 3263674 on 2017/01/19 by Chris.Bunner
PR #3144: Improved error messages (Contributed by DarkSlot)
#jira UE-40835
Change 3264150 on 2017/01/19 by Ben.Woodhouse
Add support for single threaded in FMonitoredProcess. Deprecated IsRunning() in favour of a new Update() method because polling IsRunning is not compatible with -nothreading mode
#jira UE-40841
Change 3264153 on 2017/01/19 by Ben.Woodhouse
Integrate latest changes from MS-DX12 CLs 3231395-3262526
- Added WinPixEventRuntime.tps
- Includes PIX support, various optimizations (saved 1.3ms in testbed scene)
CL 3262343:
Fix depth testing on translucency not working correctly after cl 3231395. This change reapplies the D3D12RHI changes from CL 3231395 because those changes were lost when integrating from //Dev-Rendering/ but also includes the depth fixes:
- Fix depth state not being in DEPTH_READ for use as depth read. The issue was HasDepthBits and HasStencilBits wern't intended for SRV formats and always returned false in the SRV case.
CL 3231395:
Update D3D12 RHI:
- Fix deferred MSAA path in RHI
- Add Pix3.h support
- Cleanup SetName usage and remove it from shipping builds.
- Fix fence reuse bug. We were signaling MAX UINT (-1) and then waiting for 0, which was always signaled. This change also removes the fence value reset code, there is no need to reset a fence to a previous value.
- Use FPlatformAtomics::InterlockedIncrement instead of InterlockedIncrement64
- Use InterlockedIncrement() instead of _InterlockedIncrement() and use the FPlatformAtomics:: version.
- Fix possible readback heap being evicted while in use. GetQueryData happens on the render thread and isn't tied to a command list so we should always have readback heaps resident.
Change 3264251 on 2017/01/19 by Mark.Satterthwaite
Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
#jira UE-40803
Change 3264642 on 2017/01/19 by Daniel.Wright
Raised GMaxShadowDepthBufferSizeX to max texture resolution on most platforms, was previously 4096.
Change 3265330 on 2017/01/20 by Ben.Salem
Stop performance plugin from building in Win32.
#tests recompiled and preflighted
Change 3265678 on 2017/01/20 by Marcus.Wassmer
Fix bad declaration.
#3055
Change 3266656 on 2017/01/20 by Mark.Satterthwaite
Changes to the FShaderCache to restore it and extend it to optionally report on shader de-duplication when generating a binary shader cache (Console Variable: r.BinaryShaderCacheLogging).
Duplicate & amend CL #3266053 from Trepka:
Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.
Amend & integrate RCO's CL #3197085.
Change 3267741 on 2017/01/23 by Rolando.Caloca
DR - Detect duplicated shader and pipeline types
Change 3268600 on 2017/01/23 by Uriel.Doyon
Added missing r.Streaming.MaxEffectiveScreenSize config to base texture scability settings.
Integrated CL 3227368 from Orion stream
Enabled r.Streaming.UsePerTextureBias by default as this has been tested in Orion for several months.
Fixed issue with the InvestigateTexture command which could return invalid reference depending on the timing,
Added th MaxEffectiveScreenSize settings in the investigate texture command.
Change 3269512 on 2017/01/24 by Richard.Wallis
Fix for shader binary cache uncompress data size during internal shader log.
Change 3271237 on 2017/01/25 by Ben.Woodhouse
D3D12 updateTexture2D crash fix
#jira UE-41059
Change 3271564 on 2017/01/25 by Olaf.Piesche
#jira UE-40980
#udn 325525
Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe
Change 3271594 on 2017/01/25 by Ben.Woodhouse
ESRAM support stage 1:
Implemented noncontiguous ESRAM page allocator replacing XgMemoryLayout API. The allocator allocates non-contiguous ranges of pages and maps them onto a contiguous virtual address range.
Unlike the previous implementation, this allocator frees pages for reuse when resources are destroyed
Note: issues with deferred deallocation may prevent reuse in many cases - that will be addressed in the next stage
Support for the old allocator is still available (for now) via the define NEW_ESRAM_ALLOCATOR
#fyi rolando.caloca
Change 3272616 on 2017/01/25 by Rolando.Caloca
DR - Update shader version
Change 3273138 on 2017/01/26 by Ben.Woodhouse
Fix merge issue with MonitoredProcess.cpp (this arose from an integration made as an edit in dev-rendering, which confused perforce when the change was subsequently integrated from main)
[CL 3274498 by Rolando Caloca in Main branch]
2017-01-26 19:20:49 -05:00
if (ArrayIndex < ShadowMaxObjectsPerTile)
2014-09-18 15:13:07 -04:00
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
uint DataIndex = (ArrayIndex * (uint)(ShadowTileListGroupSize.x * ShadowTileListGroupSize.y + .5f) + TileIndex);
RWShadowTileArrayData[DataIndex * SHADOW_TILE_ARRAY_DATA_STRIDE] = Input.ObjectIndex;
2014-09-18 15:13:07 -04:00
}
}
#endif
}
RWTexture2D<float2> RWShadowFactors;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
float2 NumGroups;
2014-09-18 15:13:07 -04:00
/** From point being shaded toward light, for directional lights. */
2014-09-03 18:17:19 -04:00
float3 LightDirection;
2014-09-18 15:13:07 -04:00
float4 LightPositionAndInvRadius;
float LightSourceRadius;
2015-01-23 21:17:37 -05:00
float RayStartOffsetDepthScale;
2015-09-22 13:51:50 -04:00
float3 TanLightAngleAndNormalThreshold;
2014-09-18 15:13:07 -04:00
int4 ScissorRectMinAndSize;
2014-09-03 18:17:19 -04:00
/** Min and Max depth for this tile. */
groupshared uint IntegerTileMinZ;
groupshared uint IntegerTileMaxZ;
/** Inner Min and Max depth for this tile. */
groupshared uint IntegerTileMinZ2;
groupshared uint IntegerTileMaxZ2;
/** Number of objects affecting the tile, after culling. */
groupshared uint TileNumObjects0;
groupshared uint TileNumObjects1;
2015-01-29 18:21:57 -05:00
void CullObjectsToTileWithGather(
float SceneDepth,
uint ThreadIndex,
uint2 GroupId,
float TraceDistance,
float MinDepth,
out uint NumIntersectingObjects,
out bool bTileShouldComputeShadowing,
out uint GroupIndex)
2014-09-03 18:17:19 -04:00
{
// Initialize per-tile variables
if (ThreadIndex == 0)
{
IntegerTileMinZ = 0x7F7FFFFF;
IntegerTileMaxZ = 0;
IntegerTileMinZ2 = 0x7F7FFFFF;
IntegerTileMaxZ2 = 0;
TileNumObjects0 = 0;
TileNumObjects1 = 0;
}
GroupMemoryBarrierWithGroupSync();
if (SceneDepth > MinDepth)
{
// Use shared memory atomics to build the depth bounds for this tile
// Each thread is assigned to a pixel at this point
//@todo - move depth range computation to a central point where it can be reused by all the frame's tiled deferred passes!
InterlockedMin(IntegerTileMinZ, asuint(SceneDepth));
InterlockedMax(IntegerTileMaxZ, asuint(SceneDepth));
}
GroupMemoryBarrierWithGroupSync();
float MinTileZ = asfloat(IntegerTileMinZ);
float MaxTileZ = asfloat(IntegerTileMaxZ);
float HalfZ = .5f * (MinTileZ + MaxTileZ);
// Compute a second min and max Z, clipped by HalfZ, so that we get two depth bounds per tile
// This results in more conservative tile depth bounds and fewer intersections
if (SceneDepth >= HalfZ && SceneDepth > MinDepth)
{
InterlockedMin(IntegerTileMinZ2, asuint(SceneDepth));
}
if (SceneDepth <= HalfZ && SceneDepth > MinDepth)
{
InterlockedMax(IntegerTileMaxZ2, asuint(SceneDepth));
}
GroupMemoryBarrierWithGroupSync();
float MinTileZ2 = asfloat(IntegerTileMinZ2);
float MaxTileZ2 = asfloat(IntegerTileMaxZ2);
float3 ViewTileMin;
float3 ViewTileMax;
float3 ViewTileMin2;
float3 ViewTileMax2;
float ExpandRadius = 0;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2981742)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2967522 on 2016/05/05 by Martin.Mittring
fixed UE-30208 Ensure taking high resolution screenshot
renamed cvar from r.SaveUncompressedEXRFrame to r.SaveEXR.CompressionQuality and change meaning
Change 2967541 on 2016/05/05 by Martin.Mittring
added cvar help entry to the editor menu
Change 2967544 on 2016/05/05 by Martin.Mittring
* added ensures to track down UE-22073 [CrashReport] Crash when changing Editor Window Size - FDeferredShadingSceneRenderer::ClearTranslucentVolumeLighting()
* fixed typo
* improved r.DisplayInternals
Change 2967685 on 2016/05/05 by Rolando.Caloca
DR - Fix 2013 compile
#jira UE-30369
Change 2967883 on 2016/05/05 by Olaf.Piesche
Making inherit rotation work for mesh particles
#jira UE-30153
Change 2967948 on 2016/05/05 by Daniel.Wright
MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
Change 2967954 on 2016/05/05 by Daniel.Wright
New refraction mode 'Pixel Normal Offset', which uses the difference between the per-pixel normal and the per-vertex normal to compute the refraction offset. This is useful for refraction from large water surfaces without reading outside of screen bounds as much.
Change 2967970 on 2016/05/05 by Olaf.Piesche
Improvement for depth buffer collision; reduce tunneling by sampling midpoint instead of predicted position.
#jira UE-27297
Change 2968125 on 2016/05/05 by Daniel.Wright
Hopeful fix for mac compile error with enum
Change 2968126 on 2016/05/05 by Daniel.Wright
Forward declare to fix compile error
Change 2969070 on 2016/05/06 by Martin.Mittring
fixed Clang Compile error
Change 2969224 on 2016/05/06 by Martin.Mittring
fixed Clang
Change 2969275 on 2016/05/06 by Rolando.Caloca
DR - Fix for simulation time from BP not matching material editor expression time
#jira UE-26431
Change 2969413 on 2016/05/06 by Daniel.Wright
Simple forward shading path
* Support for a directional light in the base pass, which can be shadowed either by distance field shadowmaps or a single shadow factor from the Indirect Lighting Cache
* Binding and outputting to GBuffers is disabled when using simple forward shading, along with dependencies of the GBuffers
* Specular, normal maps and the 3rd SH band of skylighting are all hardcoded off. Materials are forced fully rough.
* Enabled with 'r.SimpleForwardShading 1', which can be changed at runtime
* Added r.SupportSimpleForwardShading, which determines if the necessary shaders are compiled
* Removed r.SimpleDynamicLighting, whose functionality (unshadowed directional light in the base pass) is a subset of simple forward shading, and was unused
Change 2969414 on 2016/05/06 by Daniel.Wright
Added cvar 'r.Fog' for scalability
Change 2969415 on 2016/05/06 by Daniel.Wright
Low end scalability setup for Paragon
Change 2969583 on 2016/05/06 by Daniel.Wright
Effectively disabled the WRITES_PRECSHADOWFACTOR_TO_GBUFFER optimization, as all combinations use the GBuffer target
* This fixes bSingleSampleShadowFromStationaryLights which was broken in cl 2863775 when selective GBuffer outputs was enabled
Change 2969597 on 2016/05/06 by Olaf.Piesche
Adding emitter tick times to Cascade viewport overlays
#jira UE-25172
Change 2969599 on 2016/05/06 by Daniel.Wright
Added r.Shadow.ForceSingleSampleShadowingFromStationary for scalability
Change 2969795 on 2016/05/06 by Daniel.Wright
Made r.SimpleForwardShading a scalability cvar
Change 2969796 on 2016/05/06 by Daniel.Wright
Enabled simple forward shading for the lowest shadow quality in Paragon
* Moved Orion.Character.NonLocalHeroPreshadows to be under shadow quality
* Enabling r.Shadow.ForceSingleSampleShadowingFromStationary when shadows are disabled through r.ShadowQuality
Change 2972338 on 2016/05/10 by Martin.Mittring
Added ImageValidator V0.11 to Perforce (for automated screenshot comparison)
Change 2972450 on 2016/05/10 by Martin.Mittring
fixed sorting issues, added column sort
Change 2972564 on 2016/05/10 by Martin.Mittring
fixed PixelCountToFail
Change 2972572 on 2016/05/10 by Martin.Mittring
added color
Change 2972667 on 2016/05/10 by Daniel.Wright
Capsule shadows support an off-center projection - fixes stereo rendering
Indirect lighting cache is updated for primitives with a visible indirect capsule shadow - fixes indirect shadows disappearing when the caster is off-screen in the Static skylight case
Change 2972687 on 2016/05/10 by Martin.Mittring
split data from view
Change 2972713 on 2016/05/10 by Martin.Mittring
background validation
Change 2972742 on 2016/05/10 by Martin.Mittring
do not lock files in folder
Change 2972837 on 2016/05/10 by Daniel.Wright
Comment for tiled reflection culling edge failure case
Change 2972891 on 2016/05/10 by Daniel.Wright
Simple forward shading only supported on PC now
Change 2972927 on 2016/05/10 by Martin.Mittring
fixed comparison, added directory watcher
Change 2972952 on 2016/05/10 by Martin.Mittring
tooltips
Change 2972965 on 2016/05/10 by Martin.Mittring
readme
Change 2972986 on 2016/05/10 by Martin.Mittring
polish
Change 2973015 on 2016/05/10 by Zabir.Hoque
Clamp max cubemap resolutions for reflection capture component.
Change 2973067 on 2016/05/10 by Uriel.Doyon
Removed temporary streaming data from ULevel. Now the data goes directly in FStreamingManagerTexture.
Removed deprecated classes and structures associated with old data.
Uniformized dynamic primitives and static primitives streaming logic.
Static primitive instances are now bound to level component and have visibility information.
MeshTexCoordSize Debug now shows live update when tweaking "StreamingDistanceMultiplier"
Change 2973129 on 2016/05/10 by Martin.Mittring
fixed crash (uninit var)
Change 2973167 on 2016/05/10 by Olaf.Piesche
Fixing mac compiler warnings; removed beam tangent from particle source and target, as it's treated separately anyway.
Change 2973654 on 2016/05/11 by Gil.Gribb
FIxed bad resolve from main merge
Change 2973787 on 2016/05/11 by Simon.Tovey
PR #2080: Added 7 additional blueprint nodes and assoicated functions to Particle System Compoenent (Contributed by alwintom)
#2080
Change 2973794 on 2016/05/11 by Simon.Tovey
GitHub 1646 : Increase Wireframe Linear Color Value for Particles in Cascade Preview viewport
#1646
Change 2973814 on 2016/05/11 by Chris.Bunner
Fixed D3D warning.
Change 2973868 on 2016/05/11 by Martin.Mittring
fixed compiler warning
Change 2974104 on 2016/05/11 by Uriel.Doyon
Optimized TextureStreaming ASync task by improving cache efficency.
Removed ForcedFullyLoad texture sets and merged them with the other entries (to prevent checking in two data structures).
Change 2974163 on 2016/05/11 by Uriel.Doyon
Fixed Editor Build
Change 2974263 on 2016/05/11 by Olaf.Piesche
Fix for particle beam source/target selection
Change 2974313 on 2016/05/11 by Martin.Mittring
nicer icon
Change 2974632 on 2016/05/11 by Martin.Mittring
zoom (mouse wheel) and pan support
Change 2974651 on 2016/05/11 by Martin.Mittring
UE-30565 Blend Radius does not override Priority for blendable post process material array
#test:PC
Change 2974994 on 2016/05/12 by Uriel.Doyon
Fixed uninitialized members in texture streaming when updating dynamic primitives.
#jira UE-30632
Change 2975514 on 2016/05/12 by Olaf.Piesche
Getting mesh particle transform down to pixel shader, making available in TransformVector/TransformPosition nodes
#udn 288158, and requests from several artists
Change 2975970 on 2016/05/12 by Zabir.Hoque
Enable setting high precision normals/tangets as a part of static mesh import.
Change 2976134 on 2016/05/12 by Daniel.Wright
Moved RHI prefix out of command list macros so you can find callers in a Find in Files for RHIBlendState, etc
Change 2976135 on 2016/05/12 by Daniel.Wright
Added material property bAllowNegativeEmissiveColor which is useful when rendering to an offscreen render target
Change 2976139 on 2016/05/12 by Daniel.Wright
Blueprint can now be used to draw to a TextureRenderTarget2D with DrawMaterialToRenderTarget
Canvas can now draw to a TextureRenderTarget2D in a Blueprint with BeginDrawCanvasToRenderTarget / EndDrawCanvasToRenderTarget
Change 2976199 on 2016/05/12 by Brian.Karis
Improved screen space ray cast intersection heuristic.
Change 2976203 on 2016/05/12 by Brian.Karis
Fixed hair NaNs
Change 2976214 on 2016/05/12 by Zabir.Hoque
Fix compiler error on Clang
Change 2976239 on 2016/05/12 by Brian.Karis
Improved hair shadows
Change 2976240 on 2016/05/12 by Brian.Karis
Made recompileshaders specific file work again. Kind of hacky but better than nothing
Change 2976290 on 2016/05/12 by Zabir.Hoque
Few more clang compiler fixes.
#jira UE-30713
Change 2976517 on 2016/05/13 by Zabir.Hoque
Final set of fixes for compile breaks.
Change 2976535 on 2016/05/13 by Zabir.Hoque
Fix mono builds
Change 2977270 on 2016/05/13 by Zabir.Hoque
Incorrectly used 7 as max texcoords. Corrected to #define MAX_TEX_COORDS
#lockdown gil.gribb
Change 2980140 on 2016/05/17 by Gil.Gribb
Merging //UE4/Dev-Main@2980127 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
Change 2980211 on 2016/05/17 by Ben.Marsh
EC: Build DDC in Dev-Rendering every 3 hours.
#lockdown Gil.Gribb
Change 2980876 on 2016/05/17 by Michael.Trepka
Metal shader compile fix
#lockdown gil.gribb
[CL 2981788 by Gil Gribb in Main branch]
2016-05-18 09:31:59 -04:00
// Note: this code is assuming a centered projection, aka no translation present in ViewToClip
// Stereo rendering uses an off center projection
float2 TanViewFOV = GetTanHalfFieldOfView();
2014-09-18 15:13:07 -04:00
// tan(FOV) = HalfUnitPlaneWidth / 1, so TanViewFOV * 2 is the size of the whole unit view plane
// We are operating on a subset of that defined by ScissorRectMinAndSize
2016-06-17 20:25:37 -04:00
float2 TileSize = TanViewFOV * 2 * ScissorRectMinAndSize.zw / ((float2)View.ViewSizeAndInvSize.xy * NumGroups);
float2 UnitPlaneMin = -TanViewFOV + TanViewFOV * 2 * (ScissorRectMinAndSize.xy - View.ViewRectMin.xy) * View.ViewSizeAndInvSize.zw;
2014-09-18 15:13:07 -04:00
float2 UnitPlaneTileMin = (GroupId.xy * TileSize + UnitPlaneMin) * float2(1, -1);
float2 UnitPlaneTileMax = ((GroupId.xy + 1) * TileSize + UnitPlaneMin) * float2(1, -1);
2014-09-03 18:17:19 -04:00
ViewTileMin.xy = min(MinTileZ * UnitPlaneTileMin, MaxTileZ2 * UnitPlaneTileMin) - ExpandRadius;
ViewTileMax.xy = max(MinTileZ * UnitPlaneTileMax, MaxTileZ2 * UnitPlaneTileMax) + ExpandRadius;
ViewTileMin.z = MinTileZ - ExpandRadius;
ViewTileMax.z = MaxTileZ2 + ExpandRadius;
ViewTileMin2.xy = min(MinTileZ2 * UnitPlaneTileMin, MaxTileZ * UnitPlaneTileMin) - ExpandRadius;
ViewTileMax2.xy = max(MinTileZ2 * UnitPlaneTileMax, MaxTileZ * UnitPlaneTileMax) + ExpandRadius;
ViewTileMin2.z = MinTileZ2 - ExpandRadius;
ViewTileMax2.z = MaxTileZ + ExpandRadius;
float3 ViewGroup0Center = (ViewTileMax + ViewTileMin) / 2;
float3 WorldGroup0Center = mul(float4(ViewGroup0Center, 1), View.ViewToTranslatedWorld).xyz - View.PreViewTranslation;
float Group0BoundingRadius = length(ViewGroup0Center - ViewTileMax);
float3 ViewGroup1Center = (ViewTileMax2 + ViewTileMin2) / 2;
float3 WorldGroup1Center = mul(float4(ViewGroup1Center, 1), View.ViewToTranslatedWorld).xyz - View.PreViewTranslation;
float Group1BoundingRadius = length(ViewGroup1Center - ViewTileMax2);
2014-09-18 15:13:07 -04:00
#if POINT_LIGHT
float3 LightVector0 = LightPositionAndInvRadius.xyz - WorldGroup0Center;
float LightVector0Length = length(LightVector0);
float3 LightVector1 = LightPositionAndInvRadius.xyz - WorldGroup1Center;
float LightVector1Length = length(LightVector1);
float3 LightDirection0 = LightVector0 / LightVector0Length;
float3 LightDirection1 = LightVector1 / LightVector1Length;;
float RayLength0 = LightVector0Length;
float RayLength1 = LightVector1Length;
// Don't operate on tiles completely outside of the light's influence
2015-01-29 18:21:57 -05:00
bTileShouldComputeShadowing = LightVector0Length < 1.0f / LightPositionAndInvRadius.w + Group0BoundingRadius
2014-09-18 15:13:07 -04:00
|| LightVector1Length < 1.0f / LightPositionAndInvRadius.w + Group1BoundingRadius;
#else
float3 LightDirection0 = LightDirection;
float3 LightDirection1 = LightDirection;
float RayLength0 = TraceDistance;
float RayLength1 = TraceDistance;
2015-01-29 18:21:57 -05:00
bTileShouldComputeShadowing = SceneDepth > MinDepth;
2014-09-18 15:13:07 -04:00
#endif
BRANCH
2015-01-29 18:21:57 -05:00
if (bTileShouldComputeShadowing)
2014-09-03 18:17:19 -04:00
{
2014-11-21 22:32:16 -05:00
uint NumCulledObjects = GetCulledNumObjects();
2014-09-18 15:13:07 -04:00
// Compute per-tile lists of affecting objects through bounds culling
// Each thread now operates on a sample instead of a pixel
LOOP
2014-11-21 22:32:16 -05:00
for (uint ObjectIndex = ThreadIndex; ObjectIndex < NumCulledObjects; ObjectIndex += THREADGROUP_TOTALSIZE)
2014-09-03 18:17:19 -04:00
{
2014-09-18 15:13:07 -04:00
float4 SphereCenterAndRadius = LoadObjectPositionAndRadius(ObjectIndex);
2014-09-03 18:17:19 -04:00
2014-09-18 15:13:07 -04:00
BRANCH
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown ben.marsh
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Capsule shadows
* Capsule shadows excel at extremely soft area shadows caused by a large light source angle, but don't support accurate self-shadowing
* Artists can setup a physics asset containing Spheres and Sphyls (capsules) for a skeletal mesh that will be used to represent the mesh's occlusion
* These shapes can then be used for direct shadowing (bCastCapsuleDirectShadow) on a skeletal mesh component, whose softness depends on the light source angle / radius
* The shapes can also be used to create an indirect shadow (bCastCapsuleIndirectShadow), whose direction and softness is derived from the precomputed sky occlusion (stationary sky light) or primary indirect lighting (static sky light)
* Capsule shadowing is computed at half res and uses tiled deferred culling for efficiency - only implemented for PC SM5 + PS4 so far
* Shadowing of movable skylights is not yet supported
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data
Basepass drawlist are now merged within a single drawlist.
Lighting policy parameters are now accessed through a uniform buffer.
Changed the global resource initialization so that InitRHI now comes before InitDynamicRHI
#codereview nick.penwarden
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams
Remove unused RHI methods:
RHIIsDrawingViewport
RHIGpuTimeBegin
RHIGpuTimeEnd
Made default/empty versions of these calls and removed stubs from RHIs that don't use them:
RHISuspendRendering
RHIResumeRendering
RHIIsRenderingSuspended
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lighting channels - each component and light can choose from 3 channels
* Primitives output their channel mask to stencil during the base pass, the masks are copied to a texture after the base pass, deferred lighting passes compare the primitive mask against the light's mask
* Dynamic shadow casting also respects the channels
* Only works on opaque materials, direct lighting, dynamic lighting
* Not implemented for tiled deferred atm
* This will replace CastsShadowsFromCinematicObjectsOnly in the future
#rb Martin.Mittring
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New
First pass at separate Async Compute Context
#codereview Lee.Clark,Daniel.Wright
#rb Gil.Gribb
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
Removed a lot of complexity of the skeletal mesh motionblur code (better for multithreading, simpler, faster) but going from one large buffer to per mesh buffers. Upload of bones only needed once.
* GPUSkinCache didn't even work before (in this branch)
* tested BasePass velocity
* tested split screen
* tested editor pause
* matinee camera cut (no need, invalidates velocity)
* tested CPU Skin? (never has motionblur)
* tested CreateSceneProxy (recreation is prevented in CreteSceneProxy unless bone count changes)
* test ES2 -featureleveles2
#rb: Rolando.Caloca
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data
Embree integration into Lightmass
Can be enabled through Lightmass.ini [DevOptions.StaticLighting]bUseEmbree.
Also [DevOptions.StaticLighting]bVerifyEmbree will compare ray casting results.
Only usable on Win64 with this submit.
#review daniel.wright
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
added SSAO CS version, can be enabled with
r.AmbientOcclusion.Compute 1
Not optimized yet
#rb:Olaf.Piesche
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lightmass solver quality improvements
* IndirectLightingScale is no longer applied to photons, avoids splotchy artifacts when using small scales
* New 'Lightmass Portal' actor / component which tells the solver where to look for significant lighting. When lighting with a Static Skylight only, in a mostly indoor environment, setting up these portals is the only way to get high quality.
* Skylight bounce lighting is now much more accurate and leverages adaptive sampling
* Fixed a bug that effectively disabled adaptive sampling on high IndirectLightingQualities
* Shadow penumbras are also improved by IndirectLightingQuality
* Texel debugging is now a cvar 'r.TexelDebugging', instead of requiring a full recompile
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data
Quad Complexity ViewMode (PCD3D_SM5 only).
Shader Complexity with Quad Overhead ViewMode (PCD3D_SM5 only). Require ShaderComplexity ViewMode & Show.Visualize.QuadOverhead
#review brian.karis
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
improved SSAO quality (less high frequency noise) to avoid TemporalAA smearing
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S
DevRendering - Enable removing unused outputs on PS4 shader pipelines, disable by default removing unused on D3D (toggable with r.D3DRemoveUnusedInterpolators)
#codereview Marcus.Wassmer
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev
Submitting pull request from user Pierdek.
Early out of particle collision module update if there are no active particles.
#github
#1614
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Fixed the experimental r.RHICmdBalanceParallelLists 2 mode and renabled it for orion.
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Added a path so that texture streaming can avoid flushing the RHI thread.
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Added new PrimitiveComponent setting bSingleSampleShadowFromStationaryLights
* When enabled, shadowing of a movable component from a stationary directional light will come from the Volume Lighting Samples precomputed by Lightmass
* This provides essentially free on/off shadow receiving on dynamic objects, with a fade over time between states
* Lighting has to be rebuilt once for this to work
#rb Rolando.Caloca
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Dynamically set stream source to avoid creating a separate drawing policy for each static mesh with vertex colors.
#rb Daniel.Wright
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data
Enabled Embree by default
#review daniel.wright
==========================
ALL CHANGELISTS
==========================
Change 2720123 on 2015/10/07 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - 'integrate' Tem'
Change 2721682 on 2015/10/08 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Eliminated a fatal error '
Change 2721815 on 2015/10/08 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - Fix crash exiti'
Change 2724755 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix Tier'
Change 2724781 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix offse'
Change 2728317 on 2015/10/14 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - hlslcc - Fix fo'
Change 2729170 on 2015/10/14 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Force Lightmass volume sample g'
Change 2732131 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed resource transition issue'
Change 2732218 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code cleanup '
Change 2733533 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Clear stencil to 0 after decals'
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Capsule shadows * Capsule shado'
Change 2733546 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Light shaft targets are only al'
Change 2733602 on 2015/10/19 by Uriel.Doyon@uriel.doyon_office_data 'Decals not writing to Normal ca'
Change 2733627 on 2015/10/19 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix for transition ensure. '
Change 2735292 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for dark lightmap precision'
Change 2735298 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for speedtree LOD transitio'
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data 'Basepass drawlist are now merge'
Change 2737214 on 2015/10/21 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Expanded a warning when importi'
Change 2738581 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Updated comment on stencil usag'
Change 2738583 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Changed bound but not set scene'
Change 2738584 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed skylight occlusion maps b'
Change 2738589 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmap streaming fixes * Chan'
Change 2738593 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fix from licensee for race cond'
Change 2738982 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Activating CanTickOnAnyThread f'
Change 2739032 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Fixing compiler barf with Clang'
Change 2741517 on 2015/10/26 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRindering - D3D12 - Integrat'
Change 2743790 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed texel debugging on static'
Change 2743958 on 2015/10/27 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comments '
Change 2744153 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Unity compile fix '
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams 'Remove unused RHI methods: RHI'
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lighting channels - each compon'
Change 2746242 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix crashes on init by swapping'
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'First pass at separate Async Co'
Change 2746296 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Buffer label frees so we don't '
Change 2746297 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'updated comment '
Change 2746343 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746347 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746811 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Draw event for compute commandl'
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Removed a lot of complexity of '
Change 2747127 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Improved game console printout '
Change 2747702 on 2015/10/30 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Bumped Lightmass StaticMesh imp'
Change 2747954 on 2015/10/30 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix SubmitDone not called TRC e'
Change 2747979 on 2015/10/30 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'polish console autocomplete tex'
Change 2750719 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Add Embree 2.7.0 for Win64 and '
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Embree integration into Lightma'
Change 2750872 on 2015/11/02 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2751934 on 2015/11/03 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Disambiguate template function '
Change 2752190 on 2015/11/03 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed assert relating to '
Change 2752333 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Shader pipeline '
Change 2752655 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - Fix Materials pa'
Change 2752710 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2752711 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added better comment/help text '
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added SSAO CS version, can be e'
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmass solver quality improv'
Change 2752869 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Add shader pipel'
Change 2752882 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - hlslcc - Metal -'
Change 2752899 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'small SSAO GPU optimization mov'
Change 2752934 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor GPU optimization for SSAO'
Change 2753109 on 2015/11/03 by Uriel.Doyon@uriel.doyon_office_data 'Fixed final build '
Change 2753669 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed SM4 compiling '
Change 2754002 on 2015/11/04 by Nick.Penwarden@nickp_streams 'test change '
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data 'Quad Complexity ViewMode (PCD3D'
Change 2754115 on 2015/11/04 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed end of frame update'
Change 2754297 on 2015/11/04 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'PS4 compile fixes #codereview U'
Change 2754405 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor SSAO ALU optimizations fi'
Change 2754512 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'adjusted clamp for cvar '
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'improved SSAO quality (less hig'
Change 2755572 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - PS4 warning fix '
Change 2755667 on 2015/11/05 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed UE-22742, leak in t'
Change 2755722 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Remove unused co'
Change 2755814 on 2015/11/05 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2755935 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Rebuild static m'
Change 2756003 on 2015/11/05 by Uriel.Doyon@uriel.doyon_office_data 'Reduce the number of precompute'
Change 2756145 on 2015/11/05 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Temp fix for GPU crash #rb none'
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Enable removing '
Change 2756435 on 2015/11/05 by Olaf.Piesche@Olaf.Piesche_roaming 'Disabling a check, to fix OR-85'
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev 'Submitting pull request from us'
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed the experimental r.'
Change 2757341 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Changed the RHI thread di'
Change 2757342 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed lazy uniform buffer'
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Added a path so that text'
Change 2757500 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Add FrameSync to externalprofil'
Change 2757650 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'GBuffer should only be consider'
Change 2757665 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'UE-22816 Instruction count is n'
Change 2757834 on 2015/11/06 by Michael.Trepka@Michael.Trepka_a4202_Dev-Rendering 'Embree integration into Lightma'
Change 2757930 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix UT ensure #rb Peter.Knepley'
Change 2757931 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix Ocean ensure #rb josh.ander'
Change 2757946 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Removed invalid Lightmass asser'
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Added new PrimitiveComponent se'
Change 2758049 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'OR-8600 CRASH: AllocationLeveli'
Change 2758059 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'r.DumpTransitionsForResource #r'
Change 2758082 on 2015/11/06 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix resource tra'
Change 2758879 on 2015/11/09 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix PSSL names f'
Change 2758911 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed accidental force di'
Change 2758968 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled single frame buffer us'
Change 2758991 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix togglerhithread crash #rb G'
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Dynamically set stream so'
Change 2759063 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed UE-22368 CLONE - GitHub 1'
Change 2759073 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code quality improvements'
Change 2759501 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix particle ensure. '
Change 2759522 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix decals using CustomStencil.'
Change 2759610 on 2015/11/09 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed line light source shadows'
Change 2759634 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Refined GBufferA resolving when'
Change 2759657 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Fixed ResourceTransition with r'
Change 2759693 on 2015/11/09 by Rolando.Caloca@Rolando.Caloca_T4688_S 'DevRendering - Fixed global sha'
Change 2759771 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Fixed editor hit proxy renderin'
Change 2760188 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled some more deferred dec'
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data 'Enabled Embree by default #revi'
[CL 2761339 by Nick Penwarden in Main branch]
2015-11-10 17:11:09 -05:00
if (RaySegmentHitSphere(WorldGroup0Center, LightDirection0, RayLength0, SphereCenterAndRadius.xyz, SphereCenterAndRadius.w + Group0BoundingRadius))
2014-09-18 15:13:07 -04:00
{
uint ListIndex;
InterlockedAdd(TileNumObjects0, 1U, ListIndex);
// Don't overwrite on overflow
2015-08-27 10:11:22 -04:00
ListIndex = min(ListIndex, (uint)(MAX_INTERSECTING_OBJECTS - 1));
2014-09-18 15:13:07 -04:00
IntersectingObjectIndices[MAX_INTERSECTING_OBJECTS * 0 + ListIndex] = ObjectIndex;
}
BRANCH
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown ben.marsh
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Capsule shadows
* Capsule shadows excel at extremely soft area shadows caused by a large light source angle, but don't support accurate self-shadowing
* Artists can setup a physics asset containing Spheres and Sphyls (capsules) for a skeletal mesh that will be used to represent the mesh's occlusion
* These shapes can then be used for direct shadowing (bCastCapsuleDirectShadow) on a skeletal mesh component, whose softness depends on the light source angle / radius
* The shapes can also be used to create an indirect shadow (bCastCapsuleIndirectShadow), whose direction and softness is derived from the precomputed sky occlusion (stationary sky light) or primary indirect lighting (static sky light)
* Capsule shadowing is computed at half res and uses tiled deferred culling for efficiency - only implemented for PC SM5 + PS4 so far
* Shadowing of movable skylights is not yet supported
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data
Basepass drawlist are now merged within a single drawlist.
Lighting policy parameters are now accessed through a uniform buffer.
Changed the global resource initialization so that InitRHI now comes before InitDynamicRHI
#codereview nick.penwarden
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams
Remove unused RHI methods:
RHIIsDrawingViewport
RHIGpuTimeBegin
RHIGpuTimeEnd
Made default/empty versions of these calls and removed stubs from RHIs that don't use them:
RHISuspendRendering
RHIResumeRendering
RHIIsRenderingSuspended
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lighting channels - each component and light can choose from 3 channels
* Primitives output their channel mask to stencil during the base pass, the masks are copied to a texture after the base pass, deferred lighting passes compare the primitive mask against the light's mask
* Dynamic shadow casting also respects the channels
* Only works on opaque materials, direct lighting, dynamic lighting
* Not implemented for tiled deferred atm
* This will replace CastsShadowsFromCinematicObjectsOnly in the future
#rb Martin.Mittring
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New
First pass at separate Async Compute Context
#codereview Lee.Clark,Daniel.Wright
#rb Gil.Gribb
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
Removed a lot of complexity of the skeletal mesh motionblur code (better for multithreading, simpler, faster) but going from one large buffer to per mesh buffers. Upload of bones only needed once.
* GPUSkinCache didn't even work before (in this branch)
* tested BasePass velocity
* tested split screen
* tested editor pause
* matinee camera cut (no need, invalidates velocity)
* tested CPU Skin? (never has motionblur)
* tested CreateSceneProxy (recreation is prevented in CreteSceneProxy unless bone count changes)
* test ES2 -featureleveles2
#rb: Rolando.Caloca
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data
Embree integration into Lightmass
Can be enabled through Lightmass.ini [DevOptions.StaticLighting]bUseEmbree.
Also [DevOptions.StaticLighting]bVerifyEmbree will compare ray casting results.
Only usable on Win64 with this submit.
#review daniel.wright
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
added SSAO CS version, can be enabled with
r.AmbientOcclusion.Compute 1
Not optimized yet
#rb:Olaf.Piesche
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Lightmass solver quality improvements
* IndirectLightingScale is no longer applied to photons, avoids splotchy artifacts when using small scales
* New 'Lightmass Portal' actor / component which tells the solver where to look for significant lighting. When lighting with a Static Skylight only, in a mostly indoor environment, setting up these portals is the only way to get high quality.
* Skylight bounce lighting is now much more accurate and leverages adaptive sampling
* Fixed a bug that effectively disabled adaptive sampling on high IndirectLightingQualities
* Shadow penumbras are also improved by IndirectLightingQuality
* Texel debugging is now a cvar 'r.TexelDebugging', instead of requiring a full recompile
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data
Quad Complexity ViewMode (PCD3D_SM5 only).
Shader Complexity with Quad Overhead ViewMode (PCD3D_SM5 only). Require ShaderComplexity ViewMode & Show.Visualize.QuadOverhead
#review brian.karis
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering
improved SSAO quality (less high frequency noise) to avoid TemporalAA smearing
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S
DevRendering - Enable removing unused outputs on PS4 shader pipelines, disable by default removing unused on D3D (toggable with r.D3DRemoveUnusedInterpolators)
#codereview Marcus.Wassmer
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev
Submitting pull request from user Pierdek.
Early out of particle collision module update if there are no active particles.
#github
#1614
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Fixed the experimental r.RHICmdBalanceParallelLists 2 mode and renabled it for orion.
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Added a path so that texture streaming can avoid flushing the RHI thread.
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream
Added new PrimitiveComponent setting bSingleSampleShadowFromStationaryLights
* When enabled, shadowing of a movable component from a stationary directional light will come from the Volume Lighting Samples precomputed by Lightmass
* This provides essentially free on/off shadow receiving on dynamic objects, with a fade over time between states
* Lighting has to be rebuilt once for this to work
#rb Rolando.Caloca
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering
UE4 - Dynamically set stream source to avoid creating a separate drawing policy for each static mesh with vertex colors.
#rb Daniel.Wright
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data
Enabled Embree by default
#review daniel.wright
==========================
ALL CHANGELISTS
==========================
Change 2720123 on 2015/10/07 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - 'integrate' Tem'
Change 2721682 on 2015/10/08 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Eliminated a fatal error '
Change 2721815 on 2015/10/08 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - Fix crash exiti'
Change 2724755 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix Tier'
Change 2724781 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix offse'
Change 2728317 on 2015/10/14 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - hlslcc - Fix fo'
Change 2729170 on 2015/10/14 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Force Lightmass volume sample g'
Change 2732131 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed resource transition issue'
Change 2732218 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code cleanup '
Change 2733533 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Clear stencil to 0 after decals'
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Capsule shadows * Capsule shado'
Change 2733546 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Light shaft targets are only al'
Change 2733602 on 2015/10/19 by Uriel.Doyon@uriel.doyon_office_data 'Decals not writing to Normal ca'
Change 2733627 on 2015/10/19 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix for transition ensure. '
Change 2735292 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for dark lightmap precision'
Change 2735298 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for speedtree LOD transitio'
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data 'Basepass drawlist are now merge'
Change 2737214 on 2015/10/21 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Expanded a warning when importi'
Change 2738581 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Updated comment on stencil usag'
Change 2738583 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Changed bound but not set scene'
Change 2738584 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed skylight occlusion maps b'
Change 2738589 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmap streaming fixes * Chan'
Change 2738593 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fix from licensee for race cond'
Change 2738982 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Activating CanTickOnAnyThread f'
Change 2739032 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Fixing compiler barf with Clang'
Change 2741517 on 2015/10/26 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRindering - D3D12 - Integrat'
Change 2743790 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed texel debugging on static'
Change 2743958 on 2015/10/27 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comments '
Change 2744153 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Unity compile fix '
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams 'Remove unused RHI methods: RHI'
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lighting channels - each compon'
Change 2746242 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix crashes on init by swapping'
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'First pass at separate Async Co'
Change 2746296 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Buffer label frees so we don't '
Change 2746297 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'updated comment '
Change 2746343 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746347 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746811 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Draw event for compute commandl'
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Removed a lot of complexity of '
Change 2747127 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Improved game console printout '
Change 2747702 on 2015/10/30 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Bumped Lightmass StaticMesh imp'
Change 2747954 on 2015/10/30 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix SubmitDone not called TRC e'
Change 2747979 on 2015/10/30 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'polish console autocomplete tex'
Change 2750719 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Add Embree 2.7.0 for Win64 and '
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Embree integration into Lightma'
Change 2750872 on 2015/11/02 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2751934 on 2015/11/03 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Disambiguate template function '
Change 2752190 on 2015/11/03 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed assert relating to '
Change 2752333 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Shader pipeline '
Change 2752655 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - Fix Materials pa'
Change 2752710 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2752711 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added better comment/help text '
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added SSAO CS version, can be e'
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmass solver quality improv'
Change 2752869 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Add shader pipel'
Change 2752882 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - hlslcc - Metal -'
Change 2752899 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'small SSAO GPU optimization mov'
Change 2752934 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor GPU optimization for SSAO'
Change 2753109 on 2015/11/03 by Uriel.Doyon@uriel.doyon_office_data 'Fixed final build '
Change 2753669 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed SM4 compiling '
Change 2754002 on 2015/11/04 by Nick.Penwarden@nickp_streams 'test change '
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data 'Quad Complexity ViewMode (PCD3D'
Change 2754115 on 2015/11/04 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed end of frame update'
Change 2754297 on 2015/11/04 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'PS4 compile fixes #codereview U'
Change 2754405 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor SSAO ALU optimizations fi'
Change 2754512 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'adjusted clamp for cvar '
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'improved SSAO quality (less hig'
Change 2755572 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - PS4 warning fix '
Change 2755667 on 2015/11/05 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed UE-22742, leak in t'
Change 2755722 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Remove unused co'
Change 2755814 on 2015/11/05 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2755935 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Rebuild static m'
Change 2756003 on 2015/11/05 by Uriel.Doyon@uriel.doyon_office_data 'Reduce the number of precompute'
Change 2756145 on 2015/11/05 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Temp fix for GPU crash #rb none'
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Enable removing '
Change 2756435 on 2015/11/05 by Olaf.Piesche@Olaf.Piesche_roaming 'Disabling a check, to fix OR-85'
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev 'Submitting pull request from us'
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed the experimental r.'
Change 2757341 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Changed the RHI thread di'
Change 2757342 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed lazy uniform buffer'
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Added a path so that text'
Change 2757500 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Add FrameSync to externalprofil'
Change 2757650 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'GBuffer should only be consider'
Change 2757665 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'UE-22816 Instruction count is n'
Change 2757834 on 2015/11/06 by Michael.Trepka@Michael.Trepka_a4202_Dev-Rendering 'Embree integration into Lightma'
Change 2757930 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix UT ensure #rb Peter.Knepley'
Change 2757931 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix Ocean ensure #rb josh.ander'
Change 2757946 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Removed invalid Lightmass asser'
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Added new PrimitiveComponent se'
Change 2758049 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'OR-8600 CRASH: AllocationLeveli'
Change 2758059 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'r.DumpTransitionsForResource #r'
Change 2758082 on 2015/11/06 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix resource tra'
Change 2758879 on 2015/11/09 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix PSSL names f'
Change 2758911 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed accidental force di'
Change 2758968 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled single frame buffer us'
Change 2758991 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix togglerhithread crash #rb G'
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Dynamically set stream so'
Change 2759063 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed UE-22368 CLONE - GitHub 1'
Change 2759073 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code quality improvements'
Change 2759501 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix particle ensure. '
Change 2759522 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix decals using CustomStencil.'
Change 2759610 on 2015/11/09 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed line light source shadows'
Change 2759634 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Refined GBufferA resolving when'
Change 2759657 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Fixed ResourceTransition with r'
Change 2759693 on 2015/11/09 by Rolando.Caloca@Rolando.Caloca_T4688_S 'DevRendering - Fixed global sha'
Change 2759771 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Fixed editor hit proxy renderin'
Change 2760188 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled some more deferred dec'
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data 'Enabled Embree by default #revi'
[CL 2761339 by Nick Penwarden in Main branch]
2015-11-10 17:11:09 -05:00
if (RaySegmentHitSphere(WorldGroup1Center, LightDirection1, RayLength1, SphereCenterAndRadius.xyz, SphereCenterAndRadius.w + Group1BoundingRadius))
2014-09-18 15:13:07 -04:00
{
uint ListIndex;
InterlockedAdd(TileNumObjects1, 1U, ListIndex);
// Don't write out of bounds on overflow
2015-08-27 10:11:22 -04:00
ListIndex = min(ListIndex, (uint)(MAX_INTERSECTING_OBJECTS - 1));
2014-09-18 15:13:07 -04:00
IntersectingObjectIndices[MAX_INTERSECTING_OBJECTS * 1 + ListIndex] = ObjectIndex;
}
2014-09-03 18:17:19 -04:00
}
}
GroupMemoryBarrierWithGroupSync();
2015-01-29 18:21:57 -05:00
GroupIndex = SceneDepth > MaxTileZ2 ? 1 : 0;
2015-08-27 10:11:22 -04:00
NumIntersectingObjects = min(GroupIndex == 0 ? TileNumObjects0 : TileNumObjects1, (uint)MAX_INTERSECTING_OBJECTS);
2015-01-29 18:21:57 -05:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
float MinDepth;
float MaxDepth;
2015-01-29 18:21:57 -05:00
uint DownsampleFactor;
[numthreads(THREADGROUP_SIZEX, THREADGROUP_SIZEY, 1)]
void DistanceFieldShadowingCS(
uint3 GroupId : SV_GroupID,
uint3 DispatchThreadId : SV_DispatchThreadID,
uint3 GroupThreadId : SV_GroupThreadID)
{
uint ThreadIndex = GroupThreadId.y * THREADGROUP_SIZEX + GroupThreadId.x;
2016-06-17 20:25:37 -04:00
float2 ScreenUV = float2((DispatchThreadId.xy * DownsampleFactor + ScissorRectMinAndSize.xy + .5f) * View.BufferSizeAndInvSize.zw);
2016-01-07 11:21:22 -05:00
float2 ScreenPosition = (ScreenUV.xy - View.ScreenPositionScaleBias.wz) / View.ScreenPositionScaleBias.xy;
2015-01-29 18:21:57 -05:00
float SceneDepth = CalcSceneDepth(ScreenUV);
float4 HomogeneousWorldPosition = mul(float4(ScreenPosition * SceneDepth, SceneDepth, 1), View.ScreenToWorld);
float3 OpaqueWorldPosition = HomogeneousWorldPosition.xyz / HomogeneousWorldPosition.w;
// Distance for directional lights to trace
2015-09-22 13:51:50 -04:00
float TraceDistance = TanLightAngleAndNormalThreshold.z;
2015-01-29 18:21:57 -05:00
uint NumIntersectingObjects = GetCulledNumObjects();
2015-02-06 23:31:19 -05:00
uint CulledDataParameter = 0;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
bool bTileShouldComputeShadowing = SceneDepth > MinDepth && SceneDepth < MaxDepth;
2015-01-29 18:21:57 -05:00
#define USE_CULLING 1
#if USE_CULLING
#if SCATTER_TILE_CULLING
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
if (bTileShouldComputeShadowing)
{
GetShadowTileCulledData(OpaqueWorldPosition, CulledDataParameter, NumIntersectingObjects);
}
2015-01-29 18:21:57 -05:00
#else
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
//@todo - support MinDepth for tile culling
float MinDepthForTileCulling = 0;
CullObjectsToTileWithGather(SceneDepth, ThreadIndex, GroupId.xy, TraceDistance, MinDepthForTileCulling, NumIntersectingObjects, bTileShouldComputeShadowing, CulledDataParameter);
2015-01-29 18:21:57 -05:00
2014-09-18 15:13:07 -04:00
#endif
#endif // USE_CULLING
2014-09-03 18:17:19 -04:00
float Result = 0;
2014-09-11 18:30:45 -04:00
#define COMPUTE_SHADOWING 1
#if COMPUTE_SHADOWING
2014-09-03 18:17:19 -04:00
BRANCH
2014-09-18 15:13:07 -04:00
if (bTileShouldComputeShadowing)
2014-09-03 18:17:19 -04:00
{
{
2014-09-18 15:13:07 -04:00
// World space offset along the start of the ray to avoid incorrect self-shadowing
2015-01-23 21:17:37 -05:00
float RayStartOffset = 2 + RayStartOffsetDepthScale * SceneDepth;
2014-09-18 15:13:07 -04:00
// Keeps result from going all the way sharp
float MinSphereRadius = .4f;
// Maintain reasonable culling bounds
float MaxSphereRadius = 100;
2014-09-03 18:17:19 -04:00
2014-09-18 15:13:07 -04:00
#if POINT_LIGHT
float3 LightVector = LightPositionAndInvRadius.xyz - OpaqueWorldPosition;
float LightVectorLength = length(LightVector);
float3 WorldRayStart = OpaqueWorldPosition + LightVector / LightVectorLength * RayStartOffset;
float3 WorldRayEnd = LightPositionAndInvRadius.xyz;
float MaxRayTime = LightVectorLength;
2014-09-18 22:00:44 -04:00
float MaxAngle = tan(10 * PI / 180.0f);
// Comparing tangents instead of angles, but tangent is always increasing in this range
float TanLightAngle = min(LightSourceRadius / LightVectorLength, MaxAngle);
2014-09-18 15:13:07 -04:00
#else
float3 WorldRayStart = OpaqueWorldPosition + LightDirection * RayStartOffset;
float3 WorldRayEnd = OpaqueWorldPosition + LightDirection * TraceDistance;
float MaxRayTime = TraceDistance;
float TanLightAngle = TanLightAngleAndNormalThreshold.x;
#endif
2015-02-06 23:31:19 -05:00
#if SCATTER_TILE_CULLING
bool bUseScatterTileCulling = true;
#else
bool bUseScatterTileCulling = false;
#endif
#if USE_CULLING
bool bUseCulling = true;
#else
bool bUseCulling = false;
#endif
2014-09-03 18:17:19 -04:00
2015-02-19 16:09:00 -05:00
float SubsurfaceDensity = 0;
bool bUseSubsurfaceTransmission = false;
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 !FORWARD_SHADING
FGBufferData GBufferData = GetGBufferData(ScreenUV);
2015-02-19 16:09:00 -05:00
BRANCH
if (IsSubsurfaceModel(GBufferData.ShadingModelID))
{
// Note: this has to match shadowmap logic
// Derive density from a heuristic using opacity, tweaked for useful falloff ranges and to give a linear depth falloff with opacity
2015-09-11 15:01:19 -04:00
SubsurfaceDensity = -.05f * log(1 - min(GBufferData.CustomData.a, .999f));
2015-02-19 16:09:00 -05:00
bUseSubsurfaceTransmission = true;
}
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
#endif
2015-02-19 16:09:00 -05:00
2015-02-06 23:31:19 -05:00
Result = ShadowRayTraceThroughCulledObjects(
WorldRayStart,
WorldRayEnd,
MaxRayTime,
TanLightAngle,
MinSphereRadius,
MaxSphereRadius,
2015-02-19 16:09:00 -05:00
SubsurfaceDensity,
2015-02-06 23:31:19 -05:00
CulledDataParameter,
NumIntersectingObjects,
bUseCulling,
2015-02-19 16:09:00 -05:00
bUseScatterTileCulling,
bUseSubsurfaceTransmission);
2014-09-11 18:30:45 -04:00
}
2014-09-03 18:17:19 -04:00
}
2014-09-11 18:30:45 -04:00
#else
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3249742)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3232283 on 2016/12/13 by Ben.Woodhouse
D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
#jira UE-36999
Change 3232641 on 2016/12/13 by Mark.Satterthwaite
- Eliminate redundant state changes in MetalRHI in the state cache.
- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.
Change 3232661 on 2016/12/13 by Mark.Satterthwaite
Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.
Change 3232759 on 2016/12/13 by Ben.Woodhouse
Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html
Change 3232803 on 2016/12/13 by Ben.Marsh
Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.
Change 3232836 on 2016/12/13 by Ben.Marsh
Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.
Change 3232974 on 2016/12/13 by Rolando.Caloca
DR - Refactor common code to UWorld::RecreateScene
#jira UE-36719
PR #2824
Change 3232976 on 2016/12/13 by Ben.Marsh
Add missing dependency on tools node for Mac cooks. Need to compile SCW first.
Change 3233289 on 2016/12/13 by Olaf.Piesche
Fixing potentially broken spot/point light fade with old content; initialize new properties properly
Change 3233811 on 2016/12/13 by Mark.Satterthwaite
Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.
Change 3233854 on 2016/12/13 by Mark.Satterthwaite
More information about texture type validation errors in Metal.
Change 3234650 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix bad aspect on depth cubemaps
Change 3234651 on 2016/12/14 by Rolando.Caloca
DR - vk - Fix for 32 bit crash on dump layer
Change 3234813 on 2016/12/14 by Guillaume.Abadie
Fixes texture mask static lighting when using GBuffer selective outputs.
#jira UE-39527
Change 3235047 on 2016/12/14 by Uriel.Doyon
Refactored HLOD texture streaming strategy to separate forced load from visibility.
Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.
Change 3235317 on 2016/12/14 by Uriel.Doyon
Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.
Change 3235431 on 2016/12/14 by Rolando.Caloca
DR - Fix for Vulkan drawing black
Change 3236788 on 2016/12/15 by Mark.Satterthwaite
Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.
Change 3236850 on 2016/12/15 by Mark.Satterthwaite
Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
#jira UE-39801
Change 3237002 on 2016/12/15 by Benjamin.Hyder
submitting updated TM-Shadermodels map
Change 3237312 on 2016/12/15 by Rolando.Caloca
DR - Change more macros to lambdas
Change 3237394 on 2016/12/15 by Mark.Satterthwaite
Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
#jira UE-39799
Change 3237490 on 2016/12/15 by Daniel.Wright
Fixed ULandscapeComponent::GetUsedMaterials
Change 3237597 on 2016/12/15 by Ben.Woodhouse
Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.
It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.
Change 3237654 on 2016/12/15 by Daniel.Wright
Non-editor compile fix
Change 3238229 on 2016/12/16 by Rolando.Caloca
DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it
Change 3238236 on 2016/12/16 by Rolando.Caloca
DR - Compile fixes
Change 3238280 on 2016/12/16 by Marc.Olano
Small optimization to Lanczos-3 upsample shader code.
Change 3238321 on 2016/12/16 by Rolando.Caloca
DR - Compile fix
Change 3238331 on 2016/12/16 by Rolando.Caloca
DR - compile fix
Change 3238495 on 2016/12/16 by Marc.Olano
Replace TEA random number generator with PCG.
Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.
Change 3238496 on 2016/12/16 by Marc.Olano
Tone mapping fix for OR-31752, cherry picked from Orion 3208273
Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.
Change 3238520 on 2016/12/16 by Rolando.Caloca
DR - CIS Fix
Change 3238571 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3238605 on 2016/12/16 by Daniel.Wright
Sharing IndirectLightingCacheTextureSampler samplers
Change 3238626 on 2016/12/16 by Daniel.Wright
Ray Traced Distance Field Shadow optimizations
* Tighter light space tile culling
* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
* Depth bounds test on upsample
* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes
Change 3238652 on 2016/12/16 by Rolando.Caloca
DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead
Change 3238855 on 2016/12/16 by Rolando.Caloca
DR - Added FRHITexture2D GetSizeXY
Change 3238881 on 2016/12/16 by Rolando.Caloca
DR - CIS fix
Change 3239008 on 2016/12/16 by Arne.Schober
DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands
Change 3239012 on 2016/12/16 by Arne.Schober
DR - missing file
Change 3239255 on 2016/12/17 by Rolando.Caloca
DR - Remove shader clears from D3D11
Change 3239690 on 2016/12/19 by Rolando.Caloca
DR - vk - Misc fixes from 1.0.37.00 SDK warnings
Change 3239964 on 2016/12/19 by Rolando.Caloca
DR - Fix click on editor not showing selected
Change 3239995 on 2016/12/19 by Rolando.Caloca
DR - Enable dist field on GL4 & Vulkan SM5
Change 3240162 on 2016/12/19 by Daniel.Wright
Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code
Change 3240163 on 2016/12/19 by Daniel.Wright
Distance field self shadowing controls for hiding world position offset self-shadow artifacts
* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground
Change 3240271 on 2016/12/19 by Daniel.Wright
Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough. Saves 10mb of tile culling buffers.
Change 3240282 on 2016/12/19 by Rolando.Caloca
DR - Proper fix for hit proxies clear
- Added missing stencil ref to DrawClearQuad
Change 3240316 on 2016/12/19 by Rolando.Caloca
DR - vk - Fixed some new 1.0.37.0 warnings
Change 3240354 on 2016/12/19 by Rolando.Caloca
DR - Dev shaders on sm4/5
Change 3240759 on 2016/12/20 by Rolando.Caloca
DR - Fix bad crc on GL element declarations
Change 3240895 on 2016/12/20 by Rolando.Caloca
DR - vk - Swapchain fixes
Change 3241057 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix resize on desktop
Change 3241112 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix 1.0.37.0 warnings
- Ignore some warnings we know we can't fix
Change 3241310 on 2016/12/20 by Rolando.Caloca
DR - vk - Fix crash
Change 3241417 on 2016/12/20 by Daniel.Wright
[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios
Change 3241990 on 2016/12/21 by Daniel.Wright
Converted DistanceFieldVolume data to BulkData
* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s
Change 3242005 on 2016/12/21 by Daniel.Wright
Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity
Change 3242295 on 2016/12/21 by Bob.Tellez
Duplicating CL#3242294 from //Fortnite/Main
#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled
Change 3242487 on 2016/12/21 by Marcus.Wassmer
Fix typo
Change 3243091 on 2016/12/22 by Daniel.Wright
Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS
Change 3243161 on 2016/12/22 by Uriel.Doyon
New async tasks for the streaming update. Optimizing the biggest frame cost.
Change 3243179 on 2016/12/22 by Uriel.Doyon
Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask
Change 3243236 on 2016/12/22 by Daniel.Wright
Fixed DFAO bilateral upsample
* Depth buffer was being unbound due to lack of DepthRead_StencilNop
Change 3243452 on 2016/12/23 by Ben.Woodhouse
Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
#jira UE-35247
Change 3243512 on 2016/12/23 by Uriel.Doyon
Improved task system for texture streaming.
Change 3243742 on 2016/12/26 by Rolando.Caloca
DR - vk - Fix UAV clears
- Removed old validation layer
- Print found device layers
Change 3243745 on 2016/12/27 by Rolando.Caloca
DR - vk - Fix for texture cube arrays
- Warning for ClearUAVs
Change 3243762 on 2016/12/27 by Rolando.Caloca
DR - vk - Always use pipeline cache
Change 3244450 on 2016/12/31 by Rolando.Caloca
DR - vk - Pre reqs for separate transfer queue
Change 3244453 on 2016/12/31 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3244757 on 2017/01/03 by Marcus.Wassmer
Niagara is still experimental in non-task branches.
Change 3245059 on 2017/01/03 by Benjamin.Hyder
Submitting TM-TrigNodes map
Change 3245500 on 2017/01/03 by Olaf.Piesche
Compile fix #1 for post-merge problems
Change 3245572 on 2017/01/03 by Olaf.Piesche
(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.
Change 3245683 on 2017/01/03 by Marcus.Wassmer
Fix some niagara warnings
Change 3245732 on 2017/01/03 by Marcus.Wassmer
Fix Niagara compile on clang platforms.
Fix a few warnings / static analysis things as well.
Change 3246403 on 2017/01/04 by Rolando.Caloca
DR - vk - Fix bogus warning
Change 3246432 on 2017/01/04 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3246424 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3246538 on 2017/01/04 by Rolando.Caloca
DR - vk - Show hitch time for compute psos
Change 3246580 on 2017/01/04 by Rolando.Caloca
DR - vk - compile fix
Change 3246610 on 2017/01/04 by Rolando.Caloca
DR - Compute PSO pre reqs
Change 3246707 on 2017/01/04 by Marcus.Wassmer
Add missing integer operations to UnrealMathDirectX.h
Change 3246786 on 2017/01/04 by Marcus.Wassmer
Avoid public dependency build errors. Should probably just remove the DDCUtils module instead
Change 3246828 on 2017/01/04 by Olaf.Piesche
UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.
Change 3247026 on 2017/01/04 by Rolando.Caloca
DR - Remove CrossCompilerTool as it's not required anymore
Change 3247086 on 2017/01/04 by Marcus.Wassmer
Remove includes for Core.h monolithic header
Change 3247227 on 2017/01/04 by Marcus.Wassmer
Fix typo and compile errors.
Change 3247228 on 2017/01/04 by Marcus.Wassmer
Use crossplatform intrinsics
Change 3247229 on 2017/01/04 by Marcus.Wassmer
Implement missing integer NEON operations.
Change NEON vectorint to match name and sign from other platforms
Change 3247245 on 2017/01/04 by Marcus.Wassmer
Fixing various warnings/errors from clang platforms (Mac/Linux)
Change 3247331 on 2017/01/04 by Marcus.Wassmer
More Mac/clang fixes
Change 3247958 on 2017/01/05 by Marcus.Wassmer
VectorInt < - > Float ops should be conversions not reinterpret cast
Change 3247959 on 2017/01/05 by Marcus.Wassmer
Add missing ops to non-vector header
Change 3247964 on 2017/01/05 by Rolando.Caloca
DR - Temp fix for crash
#jira UE-40211
Change 3248067 on 2017/01/05 by Rolando.Caloca
DR - Static analysis fixes
#jira UE-40167
Change 3248284 on 2017/01/05 by Rolando.Caloca
DR - Linuix Compile fix
#jira UE-40260
Change 3248288 on 2017/01/05 by Rolando.Caloca
DR - Linux compile fix
#jira UE-40264
Change 3248399 on 2017/01/05 by Brian.Karis
Filtered importance sampling for envmap prefiltering.
Fixed SSR on clearcoat with skylight only.
Change 3248503 on 2017/01/05 by Rolando.Caloca
DR - Linux fixes
#jira UE-40264
Change 3248666 on 2017/01/05 by Brian.Karis
Fix GL compile error
Change 3248740 on 2017/01/05 by Marcus.Wassmer
Fix linux and clang errors/warnings
Change 3248851 on 2017/01/05 by Marcus.Wassmer
Simplest fix for ES2 compile errors
Change 3249217 on 2017/01/06 by Simon.Tovey
Speculative fix for static analysis warning
Change 3249296 on 2017/01/06 by Ben.Woodhouse
XB1/Fast semantics:
Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
This fixes bloom and diffuse irradiance issues
The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
#jira UE-39727
#jira UE-40238
Change 3249300 on 2017/01/06 by Ben.Woodhouse
Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296
Change 3249387 on 2017/01/06 by Rolando.Caloca
DR - Fix GL clear issues
#jira UE-40254
Change 3249435 on 2017/01/06 by Ben.Woodhouse
Duplicated from UT CL 3238664
Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
#jira UT-6891
#jira UE-39842
Change 3249721 on 2017/01/06 by Marcus.Wassmer
Remove final references to non-existent Niagara data
Change 3249742 on 2017/01/06 by Marcus.Wassmer
Fix missing GPU particles on Mac.
Pointers getting reused is causing the blendstate equality operator to fail.
Simple workaround until we have time for a proper fix.
[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
//Result = bTileShouldComputeShadowing;
Result = NumIntersectingObjects / 5000.0f;
2014-09-11 18:30:45 -04:00
#endif
2014-09-03 18:17:19 -04:00
RWShadowFactors[DispatchThreadId.xy] = float2(Result, SceneDepth);
}
Texture2D ShadowFactorsTexture;
SamplerState ShadowFactorsSampler;
2015-03-02 14:11:33 -05:00
float FadePlaneOffset;
float InvFadePlaneLength;
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3182951)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
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
Change 3182892 on 2016/11/02 by Luke.Thatcher
[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().
#jira UE-38017
Change 3182767 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
#jira UE-38020
Change 3182766 on 2016/11/02 by Luke.Thatcher
[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.
#jira UE-38017 UE-38020
Change 3182765 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
#jira UE-38017 UE-38020
Change 3182633 on 2016/11/01 by Jack.Porter
Fix crash sculpting a landscape with grass that uses the landscape's lightmap, when lighting has not been built
#jira UE-38042
Change 3182332 on 2016/11/01 by Mieszko.Zielinski
Added a sanity check to UNavigationSystem::AddElementToNavOctree to guard agains DirtyElement.NavInterface being null #UE4
#jira UE-37588
Change 3182321 on 2016/11/01 by Dmitry.Rekman
Updated READMEs for 4.14 (UE-38059).
#jira UE-38059
Change 3182231 on 2016/11/01 by Mitchell.Wilson
Adding Is Valid node in Retargeting_WorldInteractionBP to resolve warning.
#jira UE-38079
Change 3182164 on 2016/11/01 by Matt.Kuhlenschmidt
Fix alll collision being disabled if you dont auto-generate a simple hull when importing an FBX
#jira UE-38091
Change 3182017 on 2016/11/01 by Chris.Babcock
Disable glVertexAttribIPointer on PowerVR Rogue
#jira UE-38074
#ue4
#android
Change 3181942 on 2016/11/01 by Mitchell.Wilson
Resolving multiple warnings in CIS for Elemental Demo.
#jira UE-38075
Change 3181941 on 2016/11/01 by Nick.Shin
PhysX Bulid Automation script update
#jira UE-37329 'Compile UE4Game HTML5' - 300 Warnings
Change 3181939 on 2016/11/01 by Ryan.Vance
#jira UE-38072
We need to add a hook that can be called after native present has finished for SteamVR.
PostPresentHandoff should be called when using the interleaved compositor immediately after we've submitted our eye buffers and called present for the mirror window. This unblocks the compositor process so it can do it's re-projection work. Otherwise it will block until we call WaitGetPoses which is a ways into the next frame.
Change 3181849 on 2016/11/01 by Nick.Shin
jukka's (Mozilla) fixes to SSE2 and GL issues for HTML5
jukka's (Mozilla) python scripts to build ThirdParty HTML5 libs
the python scripts will need tweaking - they were moved from their original locations from:
https://github.com/Mozilla-Games/UnrealEngine/commit/fd48bc0e4a5f0278a1c036d2b81036ab1270ad68
the CMakeLists.txt (and one configure.ac) files are defiinitely used from the (bash) shell build script (to build thirdparty libs for HTML5)...
update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 -'Compile UE4Game HTML5' - 300 Warnings
Change 3181848 on 2016/11/01 by Nick.Shin
update compiled ThirdParty HTML5 libs using new emscripten tool chain (CL:#3180924)
#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3181838 on 2016/11/01 by Nick.Shin
new 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
#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3181611 on 2016/11/01 by Allan.Bentham
Recreate vulkan swapchain after a pause/resume on android.
#jira UE-36454
Change 3181451 on 2016/11/01 by Chris.Wood
CrashReportClient no longer attempts to restart Launcher-run Editors via IPC with the Launcher. They are now restarted directly.
[UE-37794] - Send and Restart from Crash Reporter Opens Project Browser
Launcher can't accept command line args when restarting an application so it can't restart the editor with the right project.
Also fixes broken SlateReflector in CRC (switched off in checked in version)
#jira UE-37794
Change 3181117 on 2016/11/01 by Dmitriy.Dyomin
Fixed: Text Actors not Rendering on Mobile
PowerVR based devices were rendring opaque objects twice
#jira UE-37949
Change 3181102 on 2016/11/01 by Jack.Porter
Fix for editor crash during Landscape sculpting on pressing Ctrl+z (Subdivision enabled in material)
#jira UE-36050
Change 3180851 on 2016/10/31 by Daniel.Wright
Ray Traced Distance Field shadows must be projected last, since they overlap the depth range as Far CSM. Fixes Kite demo medium-distance shadowing.
#jira UE-37793
Change 3180844 on 2016/10/31 by Michael.Trepka
Disabled high-DPI in Mac CrashReportClient
#jira UE-37697
Change 3180803 on 2016/10/31 by Michael.Trepka
Setup Mac Metal layer on the main thread to solve issues with empty game window when showing a separate log window.
#jira UE-37998
Change 3180764 on 2016/10/31 by zachary.wilson
Checkking in content for Lighting scenarios test, currently incomplete but needed for bug repro
#jira UE-29618
Change 3180666 on 2016/10/31 by Dmitry.Rekman
Fix Linux client & server hang when decoding voice chat (UE-36108).
- break out of voice channel while loop if unable to serialize the voice packet data.
- fixed by JoshM
#jira UE-36108
Change 3180428 on 2016/10/31 by Mitchell.Wilson
Rebuilt lighting in all Content Examples levels and saved to resolve warnings.
#jira UE-37880
Change 3180399 on 2016/10/31 by Dmitry.Rekman
Linux: revert to old commandline switch -binnedmalloc (UE-38001).
#jira UE-38001
Change 3180298 on 2016/10/31 by Steve.Robb
Extra information about which class has failed to have its CppStructOps initialized.
#jira UE-37921
Change 3180289 on 2016/10/31 by John.Pollard
Fix crash in FCurlHttpRequest::DebugCallback
+ Specify the string length to FString's constructor as the result from StringCast is not null terminated if the string's length is specified (instead of assuming null termination).
#jira UE-36658
Change 3180200 on 2016/10/31 by Benjamin.Hyder
Updating QA-Materials to include BuiltData
#jira UE-29618
Change 3180173 on 2016/10/31 by Nick.Whiting
Fixing up static analysis warning about array size in GoogleVRHMD code
#jira UE-38007
Change 3180123 on 2016/10/31 by ryan.brucks
#jira UE-35977
hooked up missing transform node inside of newly added function so that it works with variable rotations.
Change 3180108 on 2016/10/31 by Benjamin.Hyder
Updating QA-Effects map to include BuiltData
#jira UE-29618
Change 3180104 on 2016/10/31 by Marc.Audy
Don't recreate the render state if the component got unregistered in the interim.
#jira UE-37968
Change 3180084 on 2016/10/31 by Allan.Bentham
Use glVertexAttribIPointer for ES3.
Enable SupportsTextureMaxLevel for ES3.
ensure GL_HALF_FLOAT is used for vertex half float format on ES3 (instead of GL_HALF_FLOAT_OES)
Fix assert when previewing ES3.1 with PC OpenGL.
#jira UE-37472
Change 3180082 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [-] Back out PS4 OSS warnings filter in UBT output (original CL 3150360).
- We weren't relying on this anyway, since the build machines are filtering based on a perl script (See CL 3151027)
#jira UEPLAT-1424
Change 3180044 on 2016/10/31 by Michael.Trepka
Don't create additional autorelease pool for Metal context on the game thread.
#jira UE-37894
Change 3180023 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to OrionGame in //UE4/Release-4.14
Original CL description:
[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
- Replaced deprecated APIs with new ones.
- Replaced NpToolkit with NpToolkit2.
- Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
- Added online ID cache system, which calls out to Sony's new ID Mapper Web API.
Contains a breaking change in FUniqueNetId
- FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
- Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.
#jira UEPLAT-1424
Change 3179973 on 2016/10/31 by Sam.Deiter
#Jira UEDOC - 3957
#UE4 Docs: Fixing typos in the landscape tutorials for bug UEDOC - 3957
#Code_Review lauren.ridge, jeff.wilson, ian.shadden, wes.bunn, chase.mcallister, robert.gervais
Change 3179930 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to //UE4/Release-4.14
Original CL description:
[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
- Replaced deprecated APIs with new ones.
- Replaced NpToolkit with NpToolkit2.
- Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
- Added online ID cache system, which calls out to Sony's new ID Mapper Web API.
Contains a breaking change in FUniqueNetId
- FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
- Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.
#jira UEPLAT-1424
Change 3179539 on 2016/10/31 by Jack.Porter
Fix crash when Toggling Landscape Mode with Hidden Sub-Level containing a Landscape
#jira UE-37954
Change 3179309 on 2016/10/29 by Benjamin.Hyder
Re-Saving Foliage asset in Tm-DistanceFields
#jira UE-29618
Change 3179308 on 2016/10/29 by Benjamin.Hyder
updating AutoLOD settings for foliage example in TM-Shadermodels
#jira UE-29618
Change 3179135 on 2016/10/28 by Chris.Babcock
Only use alternative event flow for Daydream packaged applications
#jira UE-37847
#ue4
#android
Change 3178995 on 2016/10/28 by JohnHenry.Carawon
Adding test content for the World Origin Rebasing feature
#jira UE-29618
Change 3178994 on 2016/10/28 by Chris.Babcock
Disable ARM64 Google Play Games - need new library to fix crash
#jira UE-37972
#ue4
#android
Change 3178955 on 2016/10/28 by Marc.Audy
Don't worry about clearing from world's end of frame update frame if being GC'd
#jira UE-37928
Change 3178921 on 2016/10/28 by Daniel.Wright
[Copy] Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3.
Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970
#jira UE-37970
Change 3178919 on 2016/10/28 by Daniel.Wright
[Copy] Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path.
#jira UE-37970
Change 3178905 on 2016/10/28 by Max.Chen
Sequencer: Fix fade track instance compile
#jira UE-37939
Change 3178808 on 2016/10/28 by Dmitry.Rekman
Linux: fix crash on exit (UE-37536).
- Base virtual function (PostRun()) was called due to thread being stopped at the moment when the subclass destructor has already run.
#jira UE-37536
(Edigrating 3175651 from Dev-Platform to Release-4.14)
Change 3178707 on 2016/10/28 by Marc.Audy
Fix inverted null check that caused load game from slot to fail if using a BP generated class
#jira UE-37774
Change 3178664 on 2016/10/28 by Alexis.Matte
Fix the fbx automation tests
#jira UE-37960
Change 3178617 on 2016/10/28 by Bart.Hawthorne
Fix issue where changing the world origin in a single player game would try to access the FNetworkPredictionData_Client_Character on character movement components
#jira UE-37692
#tests ran QA game and tested that assert no longer fired in debug
Change 3178615 on 2016/10/28 by Max.Chen
Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter
Copy from Dev-Sequencer
#jira UE-37328
#2864
Change 3178553 on 2016/10/28 by Michael.Trepka
Don't wait for the main thread in FMacWindow::Show()
#jira UE-37915
Change 3178526 on 2016/10/28 by Alexis.Matte
Clean unused material when importing a skeletal mesh. Its possible to have a material reference in a fbx node and not have any face referencing this material.
#jira UE-37923
Change 3178451 on 2016/10/28 by Mitchell.Wilson
Limit the max angle the cannon tower can be rotated when manually aiming.
When max rotation is reached, debug line turns red to be consistent with the arrow tower.
#jira UE-36512
Change 3178420 on 2016/10/28 by Lina.Halper
Fix build issue
#jira: UE-37911
Change 3178390 on 2016/10/28 by mason.seay
Enabling follow on certain notifies to help catch issues
#jira UE-29618
Change 3178325 on 2016/10/28 by Zak.Middleton
#ue4 - (4.14) - Fix crash when player is destroyed and server PlayerController checks to see if it needs to force a network update. Also fix crash when calling ACharacter::SetReplicateMovement when not on the server.
Mirror CL 3178247 and CL 3178256 in Dev-Framework.
#jira UE-37902
Change 3178312 on 2016/10/28 by Max.Chen
Sequencer: Fade only oin the current player context, not on all worlds.
#jira UE-37939
Change 3178267 on 2016/10/28 by Lina.Halper
Fix issue with anim editor sound play notify doesn't work with follow option
#jira: UE-37946
Change 3178146 on 2016/10/28 by Lina.Halper
#fix crash with thumbnail update when there is no animation, and so on.
#code review: Benn.Gallagher
#jira: UE-37911
Change 3178145 on 2016/10/28 by Matthew.Griffin
Fixed Clean process during a Hot Reload
Prevent engine build products, intermediates and exe/dlls from being deleted during Hot Reload and make sure Hot Reload state is preserved
#jira UE-37616
Change 3178143 on 2016/10/28 by Mitchell.Wilson
Updating BP_Spinning_Logo to stop spinning when disabled instead of finishing the rotation.
#jira UE-36269
Change 3178110 on 2016/10/28 by Mitchell.Wilson
Rebuilt lighting and saved levels.
#jira UE-36913
Change 3178070 on 2016/10/28 by Mitchell.Wilson
Adjusted trigger ragdoll time in shooter character so the character does not appear to float while in death animation.
#jira UE-37124
Change 3178034 on 2016/10/28 by Jon.Nabozny
Add missing Super::Tick call to ATP_TopDownCharacter::Tick.
#jira UE-37914
Change 3178021 on 2016/10/28 by Max.Chen
Sequence Recorder: Disable auto possess player for recorded pawns. This fixes a bug where if you record a third person template character, when you open the sequence, the recorded character will possess the viewport.
Copy from Dev-Sequencer
#jira UE-35342
Change 3177992 on 2016/10/28 by Matt.Kuhlenschmidt
Fix outlined text accumulating error due to measuring the outlines for each text run rather than the entire string
#jira UE-37935
Change 3177981 on 2016/10/28 by Nick.Darnell
UMG - Fixing how the virtual window calculates desired size. It was including scale again, which is fine for SWindow, but isn't what we want on the SVirtualWindow, should probably consider making a new SWindowBase class they can both share in the future.
#jira UE-36861
Change 3177888 on 2016/10/28 by Matthew.Griffin
Back out revision 4 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/InheritableComponentHandler.cpp
Change 3177881 on 2016/10/28 by Matthew.Griffin
Added guards to WITH_EDITOR only static initialisation
Change 3177871 on 2016/10/28 by Matt.Kuhlenschmidt
Fix crash import fbx scenes if objects contain procedural textures (not supported)
#jira UE-37917
Change 3177856 on 2016/10/28 by Matthew.Griffin
Adding THIRD_PARTY_INCLUDES macros around Google VR includes to fix static analysis warnings
Change 3177815 on 2016/10/28 by Graeme.Thornton
Non-editor build fix
#jira UE-37929
Change 3177812 on 2016/10/28 by Graeme.Thornton
Fix for COTF crash with EDL. Manually copied from CL 3174743 in Dev-Core
#jira UE-37810
Change 3177737 on 2016/10/28 by Guillaume.Abadie
Brings over 3141695 and 3173310 from //Odin/Main: Fixes particle collision in the forward renderer.
#jira UE-37927
Change 3177703 on 2016/10/28 by Phillip.Kavan
[UE-37852] Ensure that we create a unique template object in a child class's ICH when overriding an inherited SCS default scene root node.
change summary:
- added UInheritableComponentHandler::SCSDefaultSceneRootOverrideNamePrefix
- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to special-case SCS default scene root node overrides when determining the new template name
- modified UInheritableComponentHandler::PostLoad() to special-case SCS default scene root node overrides during template name fixup
- modified SSCSEditor::RemoveComponentNode() to skip renaming the component template away from the variable name for the default scene root node, since we don't actually recreate it when it gets re-added
#jira UE-37852
Change 3177600 on 2016/10/27 by Chris.Babcock
Pass through the intent action from splash screen
#jira UE-37925
#ue4
#android
Change 3177436 on 2016/10/27 by Mike.Beach
Guarding against a top crash that could occur when pasting a select node (unknown how) - now using an unchecked accessor to get a specific pin, and guarding again a null (instead of asserting).
#jira UE-37910
Change 3177365 on 2016/10/27 by Daniel.Wright
Fixed access of FPrecomputedLightVolumeData after it has been deleted (causes crash on exit with USE_MALLOC_STOMP enabled)
#jira UE-37903
Change 3177236 on 2016/10/27 by Mitchell.Wilson
Updated UVs on M_FloorTiles1 to resolve precision issues with the material's normal on mobile devices.
Fixed reflection captures in the level and rebuilt lighting.
#jira UE-36624
Change 3177235 on 2016/10/27 by mason.seay
Vehicle Assets
#jira UE-29618
Change 3177036 on 2016/10/27 by Mitchell.Wilson
Inverted throttle control for controller Right Joystick Up, Down, Y-Axis to be consistent with the info from our template wiki
#jira UE-37881
Change 3176996 on 2016/10/27 by mason.seay
Missed node link
#jira UE-29618
Change 3176993 on 2016/10/27 by mason.seay
Test AnimBP for crash
#jira UE-29618
Change 3176992 on 2016/10/27 by Mitchell.Wilson
Adding [EditoronlyBP] to DefaultEditor.ini of projects that were missing it.
#jira UE-37846
Change 3176946 on 2016/10/27 by Alexis.Matte
We recompile the material only if there is a material expression node that ask for a shader recompile when the texture is change with no specified property.
#jira UE-37705
Change 3176939 on 2016/10/27 by Alexis.Matte
Check the pointer before using it
#jira UE-37853
Change 3176927 on 2016/10/27 by mason.seay
Rebuilt Lighting
#jira UE-29618
Change 3176883 on 2016/10/27 by Steve.Robb
Fix for crash when an array property changes while instancing subobjects.
Fix for StrStr running off the end of a non-null-terminated string and a tidy up with TUniquePtr.
Fix for accessing a deleted StaticClass() in FInputBindingEditorModule::ShutdownModule.
#fyi matt.kuhlenschmidt, alex.fennell
#jira UE-37752
Change 3176811 on 2016/10/27 by Chris.Bunner
Rework of previous commit to avoid potential confusion moving forward.
#jira UE-37424
Change 3176783 on 2016/10/27 by Chris.Bunner
Default scalability settings to Epic, not Cinematic.
Duplicated default render resolution scale fix (CL 3170020).
#jira UE-37424
Change 3176692 on 2016/10/27 by Mike.Beach
Fixing up a mistake where we weren't reading all [EditoronlyBP] settings (which are now deprecated). Was causing certain settings to default to off, and caused an inaccurate deprecation warning.
#jira UE-37848
Change 3176635 on 2016/10/27 by mason.seay
Setting up skeleton for retargeting testing
#jira UE-29618
Change 3176586 on 2016/10/27 by Marcus.Wassmer
Fix crash on D3D12 editor when selecting objects
#jira UE-37861
Change 3176479 on 2016/10/27 by Robert.Manuszewski
Fix for a rare crash when loading into Orion match. Made sure the Skeleton asset is loaded before PostLoad is called on it.
#jira UE-37297
#jira UE-37711
Change 3176107 on 2016/10/27 by Phillip.Kavan
[UE-37690] AddComponent node template names now use a counter to avoid a potential component data cache mismatch with an existing instance of an old AddComponent node template.
change summary:
- added UBlueprint::ComponentTemplateNameIndex as a way to to map component class names to an incremental counter (saved).
- UK2Node_AddComponent::MakeNewComponentTemplateName() is now public, non-static, and uses an internal index map to generate unique component template names.
#jira UE-37690
Change 3176105 on 2016/10/27 by Phillip.Kavan
[UE-37686] Fix naming for archetype objects associated with new AddComponent nodes.
change summary:
- switched UK2Node_AddComponent::MakeNewComponentTemplateName() to be a public API.
- modified UBlueprintComponentNodeSpawner::Invoke() to call UK2Node_AddComponent::MakeNewComponentTemplateName() in place of MakeUniqueObjectName().
- modified UBlueprintGeneratedClass::FindArchetype() to better handle old AddComponent node template names. These were based on the UClass display name, and thus it was possible for the non-index form of that FName to collide with SCS variable names after the initial switch to use the non-indexed (base) FName for archetype matching in all cases. As a result I've reverted back to using the given ArchetypeName value for the SCS variable case.
#jira UE-37686
Change 3176009 on 2016/10/26 by Dmitriy.Dyomin
Fixed: Editor crash on changing sub-level visbility under certain conditions
#jira UE-34740
Change 3175807 on 2016/10/26 by Daniel.Wright
Fixed the editor thinking a lighting build is still active after you discard the results from one
#jira UE-37834
Change 3175777 on 2016/10/26 by Jon.Nabozny
#jira UT-6263
Fix crash when running ServerTravel on a client
Dupe of CL #3175731 on UT, checked in on behalf of ben.zeigler
Change 3175695 on 2016/10/26 by Ryan.Gerleve
Don't clear level collections in UWorld::CleanupWorld unless bCleanupResources is true.
#jira UE-37336
Change 3175628 on 2016/10/26 by Chad.Garyet
Added -Build vstream from 4-14 to allow checkins from physx
altered build script and json to reflect new changes
#JIRA UE-37085
Change 3175612 on 2016/10/26 by Martin.Wilson
Fix crash when running an in-editor cook on the fly server with unsaved virtual bone changes
#jira UE-37785
Change 3175552 on 2016/10/26 by Brian.Karis
Twinblast bust changes
#jira UE-0
Change 3175543 on 2016/10/26 by Marc.Audy
Allow audio thread on PS4 to use 7th core as opposed to being pinned to it
#jira OR-30447
Change 3175538 on 2016/10/26 by Matt.Kuhlenschmidt
Fixed a crash when clicking Apply when using the Brush Clip tool
#jira UE-37838
Change 3175502 on 2016/10/26 by Mitchell.Wilson
Enabled modulated shadows on lights in rolling template levels.
#jira UE-37047
Change 3175485 on 2016/10/26 by mason.seay
Test Map for virtual bones
#jira UE-29618
Change 3175469 on 2016/10/26 by mason.seay
Test assets for Virtual Bones testing
#jira UE-29618
Change 3175428 on 2016/10/26 by Marc.Audy
Possibly fix crash in Autosave due to dereferencing a world pointer which is freed memory
#jira UE-37590
Change 3175414 on 2016/10/26 by Michael.Trepka
Fixed mouse position calculations for secondary monitors on Mac
#jira UE-37822
Change 3175382 on 2016/10/26 by Yannick.Lange
VR Editor: - Fix: Landscape UI Elements are not visible #jira UE-36843
- Fix: First-time switch to Landscape tab in VREditor causes UI Errors #jira UE-37410
- Fix: Enabling Foilage Mode in VR Editor breaks the pointer #jira UE-37214
- Fix: Landscape sculpting when attempting to move menu panels in VREditor #jira UE-37581
#jira UE-36843 #jira UE-37410 #jira UE-37214 #jira UE-37581
Change 3175349 on 2016/10/26 by Chad.Garyet
Changing physx build agents to compile workspaces instead of full ones
#JIRA UE-37085
Change 3175267 on 2016/10/26 by Martin.Wilson
Fix retarget crash
#jira UE-37781
Change 3175205 on 2016/10/26 by Rolando.Caloca
UE4.14 - Remove erroneus assert
#jira UE-37584
Change 3175188 on 2016/10/26 by Chris.Babcock
Fix out of spec GLSL operations (contributed by JeffRous)
#jira UE-37800
#PR #2886
#ue4
#android
Change 3175156 on 2016/10/26 by Mitchell.Wilson
Adding missing iOS app icons to SunTemple project
#jira UE-36991
Change 3175095 on 2016/10/26 by Daniel.Wright
Fixed stationary skylight reflections using an inverted mask on materials without high quality reflections with Forward Shading
#jira UE-37783
Change 3175075 on 2016/10/26 by Daniel.Wright
[Copy] Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear)
#jira UE-36497
Change 3175050 on 2016/10/26 by Jamie.Dale
FTextRenderComponentMIDCache now marks MIDs as stale when the font parameters available in the parent material changes
#jira UE-37819
Change 3175039 on 2016/10/26 by Daniel.Wright
Fixed Duplication mode
#jira UE-37231
Change 3174996 on 2016/10/26 by Mitchell.Wilson
Removing [EditoronlyBP] changes made to DefaultEditor.ini. EDL is now disabled by default in ShooterGame.
#jira UE-37648
Change 3174987 on 2016/10/26 by Jon.Nabozny
Fix crash when moving InstancedStaticMeshComponent in editor when it had no mesh set, but had instances.
#jira UE-37594
Change 3174803 on 2016/10/26 by Ori.Cohen
Fix world origin shifting causing a crash inside physx.
#JIRA UE-37745
Change 3174776 on 2016/10/26 by Allan.Bentham
Work around broken depth reads on Galaxy S4.
#jira UE-35481
Change 3174723 on 2016/10/26 by Robert.Manuszewski
Changing the criteria for UBL to ignore the event driven loader flag to IsEngineInstalled() just like at runtime.
#jira UE-37617
Change 3174650 on 2016/10/26 by Matthew.Griffin
Ensured that Online Subsystem Oculus plugin is precompiled successfully for Android
Change 3174644 on 2016/10/26 by Matthew.Griffin
Fixing GoogleVR compile issues
Change 3174352 on 2016/10/25 by Daniel.Wright
Rename map build data along with the world - fixes lighting lost on map rename / save as.
Duplicate map build data along with the world - fixes lighting lost on map duplicate in the content browser, or save as when the source already exists.
Save map build data packages in SaveWorld - fixes lighting being lost on save as.
#jira UE-37231
Change 3174335 on 2016/10/25 by Chris.Babcock
Corrected Proguard issue with Codeworks for Android 1R5 installers
#jira UE-37680
#ue4
#android
Change 3174318 on 2016/10/25 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
Change 3174263 on 2016/10/25 by patrickr.donovan
Test content updates and additions. Lighting Channel map added to TM-VRLoader.
#jira UE-29618
Change 3174120 on 2016/10/25 by Daniel.Wright
UObject::PostDuplicate with DuplicateMode
* Allows differentiating between being duplicated as part of a world duplication vs duplication within a level
* This is needed when generating a guid that needs to be unique within a level, but constant across instances of that level, like a light component
#jira UE-37231
Change 3174113 on 2016/10/25 by Daniel.Wright
Fixed log spam
#jira UE-37522
Change 3174010 on 2016/10/25 by Jamie.Dale
Fixed several crashes in the Session Frontend when viewing profiles
- SFiltersAndPresets wasn't being cleared when the profile data was changed back to a live instance.
- SFiltersAndPresets could crash if it was updated when no profile was selected.
- SDataGraph could cause a crash if you clicked on it when there was no data (passed a range of -1, 0).
- A session update message would clobber any loaded profile data, resetting to the current instance.
#jira UE-37597
Change 3173982 on 2016/10/25 by mason.seay
Deleting unneeded asset
#jira UE-29618
Change 3173912 on 2016/10/25 by Ori.Cohen
Fix divide by 0 crash when torque curve is 0
#JIRA UE-37737
Change 3173866 on 2016/10/25 by Ben.Marsh
Remove setting forcing UnrealCEFSubProcess to compile using Visual Studio 2013.
#jira UE-37678
Change 3173824 on 2016/10/25 by Ben.Marsh
Fix trying to recompile UBT in Rocket builds when cleaning a build target.
#jira UE-37616
Change 3173812 on 2016/10/25 by Nick.Darnell
XBoxOne - The Vertex and Index buffers are now allocated with the right nextwriteoffset to prevent stomping old data on future writes.
#jira UE-37757
Change 3173808 on 2016/10/25 by Ben.Marsh
Fix batch files detecting MSBuild install locations for Visual Studio "15" preview 5.
#jira UE-37627
Change 3173711 on 2016/10/25 by Ori.Cohen
Fix linux compiler issues for physx
#JIRA UE-37085, UE-37114, UE-37116
Change 3173704 on 2016/10/25 by James.Cobbett
Import test assets for Alembic Conversion test
#jira UE-29618
Change 3173694 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed Zip project not working in binary builds
#jira UE-37655
Change 3173692 on 2016/10/25 by James.Cobbett
Test content for Alembic Conversion options
#jira UE-29618
Change 3173666 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed array refreshing in the details panel not functioning properly for sub-object properties
#jira UE-37652
Change 3173619 on 2016/10/25 by Robert.Manuszewski
Making the cooker ignore EDL ini setting in binary engine build.
#jira UE-37617
Change 3173616 on 2016/10/25 by Nick.Whiting
Merging update to Google VR 1.01 SDK, which fixes multiple initialization errors
#jira UE-37440, UE-37236
Change 3173606 on 2016/10/25 by Jamie.Dale
Removed invalid assert
We're already passed the collection to modify, so the assert isn't needed.
#jira UE-37761
Change 3173604 on 2016/10/25 by Keli.Hlodversson
Work around an issue where the SteamVR plugin will fail to initialize if SteamVR was not already running before launching.
#jira UE-37623
Change 3173502 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed more cases of undoing causing selections to become out of sync
#jira UE-37300
Change 3173475 on 2016/10/25 by Ori.Cohen
Critical 4.14 physx fixes
#JIRA UE-37085, UE-37114, UE-37116
Change 3173445 on 2016/10/25 by Robert.Manuszewski
Disabling the Event Driven Loader in ShooterGame. Making sure the EDL can't be enabled in binary engine distributions.
#jira UE-37394
Change 3173401 on 2016/10/25 by Matt.Kuhlenschmidt
Guard against crashes when textures or materials are explicitly marked as pending kill and then passed to slate for rendering
#jira UE-36261
Change 3173245 on 2016/10/25 by Allan.Bentham
Remove incorrect assert.
#jira UE-37699, UE-37707
Change 3173232 on 2016/10/25 by Jurre.deBaare
Post Processing Settings do not update in Persona when the values are changed in Preview Scene Settings
#fix make sure we also pick up vector4 fields
#jira UE-37656
Change 3173183 on 2016/10/25 by Matthew.Griffin
Added Shipping configs to BootstrapPackagedGame (Duplicating CL#3150210 from Main)
Change 3173065 on 2016/10/25 by Dmitriy.Dyomin
Fixed: Disabling 'Use Landscape Lightmap' option Skewing Procedural Foliage Instances
#jira UE-37736
Change 3172929 on 2016/10/24 by Ryan.Vance
#jira UE-37742
Adding SceneViewExtension hooks that are called right after init views completes. It might be advantageous to do the work we're currently doing in PreRenderViewFamily_RenderThread and PreRenderView_RenderThread after init views is called with the way SteamVR's running start is implemented.
Change 3172915 on 2016/10/24 by Rolando.Caloca
UE4.14 - Fix compile issues on CCT
#jira UE-37722
Change 3172762 on 2016/10/24 by Brian.Karis
#jira UE-37369
Change 3172742 on 2016/10/24 by Daniel.Lamb
Fixed issue with file-> cook error when you haven't built the exe which you are trying to cook for.
#jira UE-36796
#test Cook shootergame
Change 3172690 on 2016/10/24 by Maciej.Mroz
DynamicClass gives now, as componet-archetype, objects with non-exact name.
Manually merged cl#3171563
#jira UE-37480
Change 3172663 on 2016/10/24 by Daniel.Lamb
Stopped cooker from handling modification requests when they are PIE requests.
#test PIE shootergame
#jira UE-21572
Change 3172629 on 2016/10/24 by Mitchell.Wilson
Reconnected some material functions to resolve warnings which caused characters to render with default materials, and resolving 'Top Material' warnings.
Reimported SM_GodRay_Plane to resolve PhysX warning
Rebuilt lighting for the level.
#jira UE-37728
Change 3172523 on 2016/10/24 by Nick.Shin
update physx cmakefiles and automation build scripts for release-414 stream (as per request)
#jira UEFW-106 Add HTML5 support to PhysX CMake & automation scripts
Change 3172515 on 2016/10/24 by Nick.Shin
remove old emsdk (1.35.0)
#jira UEPLAT-1324 Update HTML5 PhysX to CMake
Change 3172511 on 2016/10/24 by Mark.Satterthwaite
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3172461 on 2016/10/24 by Cody.Albert
Added check for pointer validity to prevent crash in ShooterGame
#jira UE-37433
Change 3172329 on 2016/10/24 by Peter.Sauerbrei
fix for remote notification method misspelling
#jira ue-37720
Change 3172322 on 2016/10/24 by Marc.Audy
Fix unreferenced variable the brute force to unblock QA
#jira UE-37718
Change 3172191 on 2016/10/24 by Mitchell.Wilson
Clearing preivew meshes on some materials to resolve warnings.
#jira UE-37713
Change 3172186 on 2016/10/24 by Matt.Kuhlenschmidt
Fix non-editor compile error
#jira UE-37695
Change 3172159 on 2016/10/24 by Dmitry.Rekman
Update GitDependencies.exe (UE-37530).
- Binary needs to be updated to support LINUX_MULTIARCH_ROOT variable.
#jira UE-37530
Change 3172132 on 2016/10/24 by Keith.Judge
Xbox One - Fix corrupted screenshots. Needed a GPU/CPU sync point, which legacy D3D11.x used to do for us, but now we have to do manually. Copied from Dev-Platform CL 3156872
#jira UE-37038
Change 3172131 on 2016/10/24 by Keith.Judge
Xbox One - Disable engine analytics on XB1 shipping games, as per XRs. Verified http requests from devkit with Fiddler. Copied from CL 3153176 in Dev-Platform.
#jira UE-36364
Change 3172106 on 2016/10/24 by Mitchell.Wilson
Updated reference to a material in VehicleMenu.umap to resolve warning
#jira UE-29748
Change 3172036 on 2016/10/24 by Steve.Robb
TEnumAsByte can be switchably deprecated for enum classes, and is currently not deprecated (reverting a change in behavior).
#jira UE-37706
Change 3172020 on 2016/10/24 by Marc.Audy
Child Actor should be created at registration, not creation. Otherwise attachment hierarchies can not be set up and thus, world positions incorrect
#jira UE-37615
Change 3171966 on 2016/10/24 by Dmitry.Rekman
Linux: fix Setup.sh on Ubuntu 16.10 (UE-37621)
#jira UE-37621
(Edigrating 3171266 from Dev-Platform to Release-4.14)
Change 3171964 on 2016/10/24 by Dmitry.Rekman
Linux: fix always rebuilding FixDeps (UE-37625).
#jira UE-37625
(Edigrating 3153471 from Dev-Platform to Release-4.14)
Change 3171957 on 2016/10/24 by Matt.Kuhlenschmidt
Guard against property editor crash happening when focused is lost on an object which has been GC'd due to PIE running
#jira UE-37636
Change 3171943 on 2016/10/24 by Matt.Kuhlenschmidt
Added mesh simplifcation plugin picker to the project settings under Editor - Mesh Simplification
The menu to pick simplification plugins also contains a link to find other plugins in the launcher marketplace. The launcher navigates to "/ue/marketplace/content-cat/assets/codeplugins" for now
#jira UE-37695
Change 3171928 on 2016/10/24 by Max.Chen
Sequencer: Revert CL#3162724. Fix time dilation in level sequence player because it's causing a regression. Will revisit the fix for UE-37277.
#jira UE-37589
Change 3171924 on 2016/10/24 by James.Cobbett
Test content 'preroll.abc'. Has empty frames at the start of animation. For alembic importer testing.
#jira UE-29618
Change 3171867 on 2016/10/24 by Lina.Halper
- Back out revision 2 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/Components/SkeletalMeshComponent.cpp
- Empties override materials before setting preview mesh in animation editor
#jira: UE-37610
#code review: Thomas.Sarkanen
Change 3171789 on 2016/10/24 by Allan.Bentham
Resolve depth on appropriate mobile devices when the view contains materials that read from the depth.
#jira UE-35023
Change 3171776 on 2016/10/24 by Robert.Manuszewski
Increasing the initial memory allocation size for FLargeMemoryWriter to reduce the number of allocations when saving or cooking
#jira UE-37599
Change 3171728 on 2016/10/24 by Dmitriy.Dyomin
Fix origin rebasing to work with precomputed lighting data stored in separate package
#jira UE-37693
Change 3171634 on 2016/10/24 by Dmitriy.Dyomin
Added commenets to 3171621
#jira UE-36449
Change 3171621 on 2016/10/23 by Dmitriy.Dyomin
Fixed: Editor crash when compiling the character blueprint after a PIE session with World Composition enabled
Actually disabled use of world composition with multiplayer PIE using separate processes
#jira UE-36449
Change 3171424 on 2016/10/22 by Jack.Porter
Remove unused exec command causing logspam
#jira UE-37661
Change 3171259 on 2016/10/21 by Ryan.Vance
Mobile multi-view update
#jira UE-37603
Removed dependence on shader name for determining if we need to enable multi-view, now relies on the presence of gl_ViewID_OVR
Worked around unsigned/signed integer driver issues. Some shader compilers were choking on the unsigned postfix
Attempted to clean up some of the code duplication in MobileBasePassRendering.cpp
Made a few design concessions which allows the feature to run on Mali devices in the wild right now:
Allow the feature to be enabled with ES2 rather than just ES3.1. Mali drivers have a bug preventing shader io blocks and multi-view from working together
Passing the view id from the vertex shader. Mali devices don't allow referencing gl_ViewID_OVR in a pixel shader
Change 3171165 on 2016/10/21 by Peter.Sauerbrei
revert out the memory changes for platform file cache for mobile
#jira UE-36835
Change 3171112 on 2016/10/21 by Matt.Barnes
Updating TM-Material_BP_Nodes to facilitate test UEQATC-2969.
#jira UEQATC-2969
Change 3171111 on 2016/10/21 by Mike.Beach
Mirroring CL 3171084 form Dev-BP
Guarding against a unrepro'able top-10 crash in SGraphPin. Making sure we're not operating on a null/pending-kill/transient pin.
#jira UE-37642
Change 3170980 on 2016/10/21 by patrickr.donovan
Motion controller test content update - further updates to combat thumbstick noise.
#jira UE-29618
Change 3170965 on 2016/10/21 by Mitchell.Wilson
Moved panner in M_Frame3_BG material to Custom UV0 to resolve issue with material rendering white on tvOS
#jira UE-37105
Change 3170905 on 2016/10/21 by Marc.Audy
Fix AActor::Serialize crash if a null in the owned components array
#jira UE-37641
Change 3170838 on 2016/10/21 by Ben.Woodhouse
Integrate crash fix from main CL3162008
Fix for crash in GPU profiler. This was caused by the RHIThread getting too far behind the renderthread. This change adds a fence wait on the renderthread in RHIEndDrawingViewport to ensure that the renderthread is never more than a frame ahead.
#jira UE-37216
Change 3170815 on 2016/10/21 by Jamie.Dale
Fixed a potential race-condition in FTextRenderComponentMIDCache, and updated it to detect "stale" MIDs
FMIDData was shared between the game and render threads, but used non-thread-safe shared pointers.
This also marks MIDs as "stale" if the number of MIDs no longer matches the number of pages in the font (which may happen if the font is edited). These "stale" MIDs are kept as a weak pointer in a separate array so that we can still keep the MID object alive as long as something is still using it (as it may still be used by a FTextRenderSceneProxy for a short while). This array of weak pointers is purged of unreferenced instances during the normal cache purge cycle.
#jira UE-37519
Change 3170784 on 2016/10/21 by Mitchell.Wilson
Changing a material in TM-Reflections level
#jira UE-29618
Change 3170668 on 2016/10/21 by Mitchell.Wilson
Updated defaulteditor.ini to resolve cook failure for UBlueprint.
#jira UE-37648
Change 3170595 on 2016/10/21 by Chris.Wood
Added "Vanilla" Editor detection and reporting it to analytics, MTBF and Crash Reporter.
[UE-37132] - Detect "Vanilla" Editor and report it to MTBF analytics and Crash Reporter
#jira UE-37132
Change 3170395 on 2016/10/21 by Robert.Manuszewski
UBT will now respect -remoteini command line param when looking for ini files for build settings. Fixes a crash when launching BP-only project from the Editor with EDL enabled.
#jira UE-37617
Change 3170367 on 2016/10/21 by Allan.Bentham
Prevent overflow of bright pixels during DoF calc.
#jira UE-31755
Change 3170363 on 2016/10/21 by Robert.Manuszewski
Fixing crashes when cancelling async loading
#jira UE-37634
Change 3170362 on 2016/10/21 by Robert.Manuszewski
Fixing MallocBinned2 crashes on 32-bit platforms.
#jira UE-37326
Change 3170280 on 2016/10/21 by Jack.Porter
Fix for landscape not rendering in Player Collision view mode after toggling G.
#jira UE-37576
Change 3170202 on 2016/10/21 by Dmitriy.Dyomin
Fixed: CustomDepth is incorrect when used in Custom PostProcess after Tonemapping
#jira UE-37628
Change 3170160 on 2016/10/20 by Aaron.McLeran
#jira UE-37596 Making detail customizations and experimental setting for sound base showing audiomixer-only features
Implementing CL 3169422 in 4.14
Change 3170029 on 2016/10/20 by Aaron.McLeran
#jira UE-37004
#jira UE-37005
Fixing stat soundwaves
Implementing 3154264 from Dev-Framework
Change 3170024 on 2016/10/20 by Aaron.McLeran
#jira UE-37024 Set Sound Mix Class Override still Playing Sounds in Certain Conditions
Implementing the CL from Dev-Framework
Change 3169869 on 2016/10/20 by Arne.Schober
duplicated:
CL 3169845
#jira UE-35937
Change 3169810 on 2016/10/20 by Steve.Cano
Moving change from CL 3169642 to 4.14 - fix a library issue that was causing Kindle Fire 1st edition to crash when trying to run QA game, may be causing issues on other devices as well
#ue4
#android
#jira UE-22440
Change 3169635 on 2016/10/20 by Mike.Beach
Mirroring CL 3169443 from Dev-BP
Deprecating the [EditoronlyBP] config settings (which are super old, and support legacy functionality, allowing users to export editor-only UBlueprint objects on cook). This is in support of the new event-driven loader (EDL), which is incompatible with these exports. We will be removing support for these settings promptly in 4.15 (hence the choice to deprecate them for 4.14).
#jira UE-37605
Change 3169618 on 2016/10/20 by Mitchell.Wilson
rebuilt lighting for all levels in Content Examples
#jira UE-37570
Change 3169447 on 2016/10/20 by Peter.Sauerbrei
fix for double quotes causing arguments to not be sent correctly to rsync
#jira UE-37018
Change 3169362 on 2016/10/20 by tim.gautier
Updated TM-UMG Level Blueprint - mouse-clicks outside of UMG assets no longer take focus from the set Display Widget
#jira abc-123
Change 3169244 on 2016/10/20 by Chris.Babcock
Update to new CodeWorks for Android 1R5
#jira UE-37554
#ue4
#android
Change 3169240 on 2016/10/20 by Jon.Nabozny
#rn Fixup GameModeClassAliases in Engine.ini files. These must be prefixed with either /Game/ or /Script/ otherwise the asset may fail to resolve and an empty name will be used instead (and cause weird behavior).
#jira UE-37488
Change 3169155 on 2016/10/20 by Peter.Sauerbrei
fix for incorrect characters in bundle id when project has underscores in the name
#jira UE-36436
Change 3169127 on 2016/10/20 by Allan.Bentham
Fix android vulkan compile error with dev builds
#jira abc-123
Change 3169058 on 2016/10/20 by Allan.Bentham
Flush command buffer during init to fix vulkan crash when rendering thread is enabled.
Fix FDeferredDeletionQueue's resource handle storage on 32 bit platforms.
#jira UE-36452
Change 3169049 on 2016/10/20 by Peter.Sauerbrei
fix for minimum ios version in base ini file
#jira UE-37034
Change 3168910 on 2016/10/20 by Jack.Porter
Fix occasional race condition crash in FTcpMessageTransportConnection on editor shutdown
#jira UE-36944
Change 3168906 on 2016/10/20 by Dmitriy.Dyomin
Fixed: Black rendering on Galaxy S4 PowerVR
#jira UE-37567
Change 3168858 on 2016/10/20 by Richard.TalbotWatkin
Made BSP rendering more robust so that out-of-range array accesses trigger an 'ensure' rather than a crash (with a view to identifying the cause of this issue). Also fixed non-editor builds.
#jira UE-37267 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::GetDynamicMeshElements() [modelrender.cpp:322]
Change 3168826 on 2016/10/20 by Richard.TalbotWatkin
Duplicated from //UE4/Dev-Editor, CL 3156473
Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]
Change 3168335 on 2016/10/19 by Michael.Trepka
Restored previous version of FMacWindow::IsPointInWindow function to solve issues with window dragging.
#jira UE-37418
Change 3168307 on 2016/10/19 by Rolando.Caloca
UE4.14 - Integrate changes from 3051720 and 3057522
[RENDERING] [!]
Revert fix in GPU skin cache (original CL 2722034)
- Waiting on shader compilation with the GPU skin update will destroy/recreate render state, causing a crash in the GPU skin cache.
#jira UE-37545
Change 3168201 on 2016/10/19 by Peter.Sauerbrei
fix for urls with queries not working correctly
#jira UE-35090
Change 3168200 on 2016/10/19 by Mitchell.Wilson
Re-saved multiple cloth assets to resolve building adjacency information warnings.
Replaced deprecated SetText and GrabComponent blueprint nodes with new SetText and GrabComponentAtLocation.
Re-saved multiple assets to resolve empty engine version warnings.
#jira UE-37537
Change 3168174 on 2016/10/19 by Alan.Noon
#jira UE-37534
deleted unnecessary files from Photorealistic Character project
Change 3168160 on 2016/10/19 by Arne.Schober
duplicated:
fixes for velocity render pass
CL 3166370
CL 3166799
#jira UE-37362
Change 3168136 on 2016/10/19 by Alan.Noon
#jira UE-37534
Initial add of Photorealistic Character Sample project
Change 3168127 on 2016/10/19 by Peter.Sauerbrei
fix for IOS_7 not being found
#jira UE-37034
Change 3167886 on 2016/10/19 by patrickr.donovan
#jira UE-37242
TLDR; Test content updates.
Bug entered due to finicky hardware returning noise values that weren't accounted for in test contet. Fortified test content against this edge case, no code change necessary.
Change 3167882 on 2016/10/19 by samuel.proctor
Updating asset for Profiler Heatmap testing
#jira UE-29618
Change 3167868 on 2016/10/19 by Dmitry.Rekman
Linux: disable XGE on Windows (UE-37446).
- XGE does not seem to handle new clang 3.9.0 toolchain well, with very reproducible crashes.
Also fix build breakage with clang 3.8.1.
- always_inline was still applied to debug builds and as such was ignored.
#jira UE-37446
(Edigrating CL 3166330, 3166456 from Dev-Platform to Release-4.14)
Change 3167832 on 2016/10/19 by Mitchell.Wilson
Reconnected 'TopMaterial' in multiple materials to resolve warnings.
Rebuilt lighting and saved levels.
#jira UE-37529 UE-37535
Change 3167688 on 2016/10/19 by Mitchell.Wilson
Removing preview mesh from multiple materials to resolve warnings.
Rebuilt lighting and saved all levels.
#jira UE-29678 UE-37526
Change 3167616 on 2016/10/19 by Marc.Audy
Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656.
#jira UE-37517
Change 3167585 on 2016/10/19 by Jamie.Dale
Re-enabled all-cultures upload to OneSky so we prime translations correctly
#jira UE-37518
Change 3167579 on 2016/10/19 by Jamie.Dale
Fixed text render component regression with custom MIDs
#jira UE-37305
Change 3167501 on 2016/10/19 by Matt.Kuhlenschmidt
Fixed realtime rendering in editor viewport being disabled when simulating in editor
#jira UE-37466
Change 3167498 on 2016/10/19 by Mitchell.Wilson
Re-saving multiple blueprints with nodeguid warnings.
Cleared preview mesh for materials with string asset reference warnings.
Rebuilt lighting and added _BuildData to resolve lighting rebuild warnings.
#jira UE-30840
Change 3167492 on 2016/10/19 by Matt.Kuhlenschmidt
Fix for disappearing menus in lastest windows 10 build
#jira UE-36752
Change 3167311 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#jira UE-37496
Change 3167206 on 2016/10/19 by Matthew.Griffin
Moved Github promotion earlier in build script and added 'After' dependencies so that we can guarantee the order of the nightly build/prevent unimportant jobs from running before binary build is completed
Change 3167205 on 2016/10/19 by Matthew.Griffin
Changed CommandUtils.UnzipFiles to use system unzip tool when running on mono, as there has been issues with Ionic not being able to decompress those created by the zip tool
Change 3167010 on 2016/10/19 by Dmitriy.Dyomin
Fix for LevelStreaming getting stuck, and World->PersistentLevel null assert
Contributed by Funcom: https://udn.unrealengine.com/questions/312900/fix-for-levelstreaming-getting-stuck-and-world-per.html
#jira UE-36397
[CL 3189774 by Matthew Griffin in Main branch]
2016-11-08 02:45:19 -05:00
float NearFadePlaneOffset;
float InvNearFadePlaneLength;
2015-03-02 14:11:33 -05:00
2014-09-03 18:17:19 -04:00
void DistanceFieldShadowingUpsamplePS(
in float4 UVAndScreenPos : TEXCOORD0,
in float4 SVPos : SV_POSITION,
out float4 OutColor : SV_Target0)
{
2014-09-18 15:13:07 -04:00
// Distance field shadowing was computed at 0,0 regardless of viewrect min
2016-06-17 20:25:37 -04:00
float2 DistanceFieldUVs = UVAndScreenPos.xy - ScissorRectMinAndSize.xy * View.BufferSizeAndInvSize.zw;
2015-03-02 14:11:33 -05:00
float SceneDepth = CalcSceneDepth(UVAndScreenPos.xy);
2014-09-03 18:17:19 -04:00
#define BILATERAL_UPSAMPLE 1
2015-01-29 18:21:57 -05:00
#if BILATERAL_UPSAMPLE && UPSAMPLE_REQUIRED
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
float2 LowResBufferSize = floor(View.BufferSizeAndInvSize.xy / DOWNSAMPLE_FACTOR);
2014-09-03 18:17:19 -04:00
float2 LowResTexelSize = 1.0f / LowResBufferSize;
float2 Corner00UV = floor(DistanceFieldUVs * LowResBufferSize - .5f) / LowResBufferSize + .5f * LowResTexelSize;
float2 BilinearWeights = (DistanceFieldUVs - Corner00UV) * LowResBufferSize;
float2 TextureValues00 = Texture2DSampleLevel(ShadowFactorsTexture, ShadowFactorsSampler, Corner00UV, 0).xy;
float2 TextureValues10 = Texture2DSampleLevel(ShadowFactorsTexture, ShadowFactorsSampler, Corner00UV + float2(LowResTexelSize.x, 0), 0).xy;
float2 TextureValues01 = Texture2DSampleLevel(ShadowFactorsTexture, ShadowFactorsSampler, Corner00UV + float2(0, LowResTexelSize.y), 0).xy;
float2 TextureValues11 = Texture2DSampleLevel(ShadowFactorsTexture, ShadowFactorsSampler, Corner00UV + LowResTexelSize, 0).xy;
float4 CornerWeights = float4(
(1 - BilinearWeights.y) * (1 - BilinearWeights.x),
(1 - BilinearWeights.y) * BilinearWeights.x,
BilinearWeights.y * (1 - BilinearWeights.x),
BilinearWeights.y * BilinearWeights.x);
float Epsilon = .0001f;
float4 CornerDepths = abs(float4(TextureValues00.y, TextureValues10.y, TextureValues01.y, TextureValues11.y));
float4 DepthWeights = 1.0f / (abs(CornerDepths - SceneDepth.xxxx) + Epsilon);
float4 FinalWeights = CornerWeights * DepthWeights;
float InterpolatedResult =
(FinalWeights.x * TextureValues00.x
+ FinalWeights.y * TextureValues10.x
+ FinalWeights.z * TextureValues01.x
+ FinalWeights.w * TextureValues11.x)
/ dot(FinalWeights, 1);
float Output = InterpolatedResult;
#else
float Output = Texture2DSampleLevel(ShadowFactorsTexture, ShadowFactorsSampler, DistanceFieldUVs, 0).x;
#endif
Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3182951)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
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
Change 3182892 on 2016/11/02 by Luke.Thatcher
[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().
#jira UE-38017
Change 3182767 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
#jira UE-38020
Change 3182766 on 2016/11/02 by Luke.Thatcher
[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.
#jira UE-38017 UE-38020
Change 3182765 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
#jira UE-38017 UE-38020
Change 3182633 on 2016/11/01 by Jack.Porter
Fix crash sculpting a landscape with grass that uses the landscape's lightmap, when lighting has not been built
#jira UE-38042
Change 3182332 on 2016/11/01 by Mieszko.Zielinski
Added a sanity check to UNavigationSystem::AddElementToNavOctree to guard agains DirtyElement.NavInterface being null #UE4
#jira UE-37588
Change 3182321 on 2016/11/01 by Dmitry.Rekman
Updated READMEs for 4.14 (UE-38059).
#jira UE-38059
Change 3182231 on 2016/11/01 by Mitchell.Wilson
Adding Is Valid node in Retargeting_WorldInteractionBP to resolve warning.
#jira UE-38079
Change 3182164 on 2016/11/01 by Matt.Kuhlenschmidt
Fix alll collision being disabled if you dont auto-generate a simple hull when importing an FBX
#jira UE-38091
Change 3182017 on 2016/11/01 by Chris.Babcock
Disable glVertexAttribIPointer on PowerVR Rogue
#jira UE-38074
#ue4
#android
Change 3181942 on 2016/11/01 by Mitchell.Wilson
Resolving multiple warnings in CIS for Elemental Demo.
#jira UE-38075
Change 3181941 on 2016/11/01 by Nick.Shin
PhysX Bulid Automation script update
#jira UE-37329 'Compile UE4Game HTML5' - 300 Warnings
Change 3181939 on 2016/11/01 by Ryan.Vance
#jira UE-38072
We need to add a hook that can be called after native present has finished for SteamVR.
PostPresentHandoff should be called when using the interleaved compositor immediately after we've submitted our eye buffers and called present for the mirror window. This unblocks the compositor process so it can do it's re-projection work. Otherwise it will block until we call WaitGetPoses which is a ways into the next frame.
Change 3181849 on 2016/11/01 by Nick.Shin
jukka's (Mozilla) fixes to SSE2 and GL issues for HTML5
jukka's (Mozilla) python scripts to build ThirdParty HTML5 libs
the python scripts will need tweaking - they were moved from their original locations from:
https://github.com/Mozilla-Games/UnrealEngine/commit/fd48bc0e4a5f0278a1c036d2b81036ab1270ad68
the CMakeLists.txt (and one configure.ac) files are defiinitely used from the (bash) shell build script (to build thirdparty libs for HTML5)...
update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 -'Compile UE4Game HTML5' - 300 Warnings
Change 3181848 on 2016/11/01 by Nick.Shin
update compiled ThirdParty HTML5 libs using new emscripten tool chain (CL:#3180924)
#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3181838 on 2016/11/01 by Nick.Shin
new 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
#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3181611 on 2016/11/01 by Allan.Bentham
Recreate vulkan swapchain after a pause/resume on android.
#jira UE-36454
Change 3181451 on 2016/11/01 by Chris.Wood
CrashReportClient no longer attempts to restart Launcher-run Editors via IPC with the Launcher. They are now restarted directly.
[UE-37794] - Send and Restart from Crash Reporter Opens Project Browser
Launcher can't accept command line args when restarting an application so it can't restart the editor with the right project.
Also fixes broken SlateReflector in CRC (switched off in checked in version)
#jira UE-37794
Change 3181117 on 2016/11/01 by Dmitriy.Dyomin
Fixed: Text Actors not Rendering on Mobile
PowerVR based devices were rendring opaque objects twice
#jira UE-37949
Change 3181102 on 2016/11/01 by Jack.Porter
Fix for editor crash during Landscape sculpting on pressing Ctrl+z (Subdivision enabled in material)
#jira UE-36050
Change 3180851 on 2016/10/31 by Daniel.Wright
Ray Traced Distance Field shadows must be projected last, since they overlap the depth range as Far CSM. Fixes Kite demo medium-distance shadowing.
#jira UE-37793
Change 3180844 on 2016/10/31 by Michael.Trepka
Disabled high-DPI in Mac CrashReportClient
#jira UE-37697
Change 3180803 on 2016/10/31 by Michael.Trepka
Setup Mac Metal layer on the main thread to solve issues with empty game window when showing a separate log window.
#jira UE-37998
Change 3180764 on 2016/10/31 by zachary.wilson
Checkking in content for Lighting scenarios test, currently incomplete but needed for bug repro
#jira UE-29618
Change 3180666 on 2016/10/31 by Dmitry.Rekman
Fix Linux client & server hang when decoding voice chat (UE-36108).
- break out of voice channel while loop if unable to serialize the voice packet data.
- fixed by JoshM
#jira UE-36108
Change 3180428 on 2016/10/31 by Mitchell.Wilson
Rebuilt lighting in all Content Examples levels and saved to resolve warnings.
#jira UE-37880
Change 3180399 on 2016/10/31 by Dmitry.Rekman
Linux: revert to old commandline switch -binnedmalloc (UE-38001).
#jira UE-38001
Change 3180298 on 2016/10/31 by Steve.Robb
Extra information about which class has failed to have its CppStructOps initialized.
#jira UE-37921
Change 3180289 on 2016/10/31 by John.Pollard
Fix crash in FCurlHttpRequest::DebugCallback
+ Specify the string length to FString's constructor as the result from StringCast is not null terminated if the string's length is specified (instead of assuming null termination).
#jira UE-36658
Change 3180200 on 2016/10/31 by Benjamin.Hyder
Updating QA-Materials to include BuiltData
#jira UE-29618
Change 3180173 on 2016/10/31 by Nick.Whiting
Fixing up static analysis warning about array size in GoogleVRHMD code
#jira UE-38007
Change 3180123 on 2016/10/31 by ryan.brucks
#jira UE-35977
hooked up missing transform node inside of newly added function so that it works with variable rotations.
Change 3180108 on 2016/10/31 by Benjamin.Hyder
Updating QA-Effects map to include BuiltData
#jira UE-29618
Change 3180104 on 2016/10/31 by Marc.Audy
Don't recreate the render state if the component got unregistered in the interim.
#jira UE-37968
Change 3180084 on 2016/10/31 by Allan.Bentham
Use glVertexAttribIPointer for ES3.
Enable SupportsTextureMaxLevel for ES3.
ensure GL_HALF_FLOAT is used for vertex half float format on ES3 (instead of GL_HALF_FLOAT_OES)
Fix assert when previewing ES3.1 with PC OpenGL.
#jira UE-37472
Change 3180082 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [-] Back out PS4 OSS warnings filter in UBT output (original CL 3150360).
- We weren't relying on this anyway, since the build machines are filtering based on a perl script (See CL 3151027)
#jira UEPLAT-1424
Change 3180044 on 2016/10/31 by Michael.Trepka
Don't create additional autorelease pool for Metal context on the game thread.
#jira UE-37894
Change 3180023 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to OrionGame in //UE4/Release-4.14
Original CL description:
[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
- Replaced deprecated APIs with new ones.
- Replaced NpToolkit with NpToolkit2.
- Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
- Added online ID cache system, which calls out to Sony's new ID Mapper Web API.
Contains a breaking change in FUniqueNetId
- FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
- Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.
#jira UEPLAT-1424
Change 3179973 on 2016/10/31 by Sam.Deiter
#Jira UEDOC - 3957
#UE4 Docs: Fixing typos in the landscape tutorials for bug UEDOC - 3957
#Code_Review lauren.ridge, jeff.wilson, ian.shadden, wes.bunn, chase.mcallister, robert.gervais
Change 3179930 on 2016/10/31 by Luke.Thatcher
[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to //UE4/Release-4.14
Original CL description:
[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
- Replaced deprecated APIs with new ones.
- Replaced NpToolkit with NpToolkit2.
- Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
- Added online ID cache system, which calls out to Sony's new ID Mapper Web API.
Contains a breaking change in FUniqueNetId
- FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
- Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.
#jira UEPLAT-1424
Change 3179539 on 2016/10/31 by Jack.Porter
Fix crash when Toggling Landscape Mode with Hidden Sub-Level containing a Landscape
#jira UE-37954
Change 3179309 on 2016/10/29 by Benjamin.Hyder
Re-Saving Foliage asset in Tm-DistanceFields
#jira UE-29618
Change 3179308 on 2016/10/29 by Benjamin.Hyder
updating AutoLOD settings for foliage example in TM-Shadermodels
#jira UE-29618
Change 3179135 on 2016/10/28 by Chris.Babcock
Only use alternative event flow for Daydream packaged applications
#jira UE-37847
#ue4
#android
Change 3178995 on 2016/10/28 by JohnHenry.Carawon
Adding test content for the World Origin Rebasing feature
#jira UE-29618
Change 3178994 on 2016/10/28 by Chris.Babcock
Disable ARM64 Google Play Games - need new library to fix crash
#jira UE-37972
#ue4
#android
Change 3178955 on 2016/10/28 by Marc.Audy
Don't worry about clearing from world's end of frame update frame if being GC'd
#jira UE-37928
Change 3178921 on 2016/10/28 by Daniel.Wright
[Copy] Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3.
Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970
#jira UE-37970
Change 3178919 on 2016/10/28 by Daniel.Wright
[Copy] Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path.
#jira UE-37970
Change 3178905 on 2016/10/28 by Max.Chen
Sequencer: Fix fade track instance compile
#jira UE-37939
Change 3178808 on 2016/10/28 by Dmitry.Rekman
Linux: fix crash on exit (UE-37536).
- Base virtual function (PostRun()) was called due to thread being stopped at the moment when the subclass destructor has already run.
#jira UE-37536
(Edigrating 3175651 from Dev-Platform to Release-4.14)
Change 3178707 on 2016/10/28 by Marc.Audy
Fix inverted null check that caused load game from slot to fail if using a BP generated class
#jira UE-37774
Change 3178664 on 2016/10/28 by Alexis.Matte
Fix the fbx automation tests
#jira UE-37960
Change 3178617 on 2016/10/28 by Bart.Hawthorne
Fix issue where changing the world origin in a single player game would try to access the FNetworkPredictionData_Client_Character on character movement components
#jira UE-37692
#tests ran QA game and tested that assert no longer fired in debug
Change 3178615 on 2016/10/28 by Max.Chen
Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter
Copy from Dev-Sequencer
#jira UE-37328
#2864
Change 3178553 on 2016/10/28 by Michael.Trepka
Don't wait for the main thread in FMacWindow::Show()
#jira UE-37915
Change 3178526 on 2016/10/28 by Alexis.Matte
Clean unused material when importing a skeletal mesh. Its possible to have a material reference in a fbx node and not have any face referencing this material.
#jira UE-37923
Change 3178451 on 2016/10/28 by Mitchell.Wilson
Limit the max angle the cannon tower can be rotated when manually aiming.
When max rotation is reached, debug line turns red to be consistent with the arrow tower.
#jira UE-36512
Change 3178420 on 2016/10/28 by Lina.Halper
Fix build issue
#jira: UE-37911
Change 3178390 on 2016/10/28 by mason.seay
Enabling follow on certain notifies to help catch issues
#jira UE-29618
Change 3178325 on 2016/10/28 by Zak.Middleton
#ue4 - (4.14) - Fix crash when player is destroyed and server PlayerController checks to see if it needs to force a network update. Also fix crash when calling ACharacter::SetReplicateMovement when not on the server.
Mirror CL 3178247 and CL 3178256 in Dev-Framework.
#jira UE-37902
Change 3178312 on 2016/10/28 by Max.Chen
Sequencer: Fade only oin the current player context, not on all worlds.
#jira UE-37939
Change 3178267 on 2016/10/28 by Lina.Halper
Fix issue with anim editor sound play notify doesn't work with follow option
#jira: UE-37946
Change 3178146 on 2016/10/28 by Lina.Halper
#fix crash with thumbnail update when there is no animation, and so on.
#code review: Benn.Gallagher
#jira: UE-37911
Change 3178145 on 2016/10/28 by Matthew.Griffin
Fixed Clean process during a Hot Reload
Prevent engine build products, intermediates and exe/dlls from being deleted during Hot Reload and make sure Hot Reload state is preserved
#jira UE-37616
Change 3178143 on 2016/10/28 by Mitchell.Wilson
Updating BP_Spinning_Logo to stop spinning when disabled instead of finishing the rotation.
#jira UE-36269
Change 3178110 on 2016/10/28 by Mitchell.Wilson
Rebuilt lighting and saved levels.
#jira UE-36913
Change 3178070 on 2016/10/28 by Mitchell.Wilson
Adjusted trigger ragdoll time in shooter character so the character does not appear to float while in death animation.
#jira UE-37124
Change 3178034 on 2016/10/28 by Jon.Nabozny
Add missing Super::Tick call to ATP_TopDownCharacter::Tick.
#jira UE-37914
Change 3178021 on 2016/10/28 by Max.Chen
Sequence Recorder: Disable auto possess player for recorded pawns. This fixes a bug where if you record a third person template character, when you open the sequence, the recorded character will possess the viewport.
Copy from Dev-Sequencer
#jira UE-35342
Change 3177992 on 2016/10/28 by Matt.Kuhlenschmidt
Fix outlined text accumulating error due to measuring the outlines for each text run rather than the entire string
#jira UE-37935
Change 3177981 on 2016/10/28 by Nick.Darnell
UMG - Fixing how the virtual window calculates desired size. It was including scale again, which is fine for SWindow, but isn't what we want on the SVirtualWindow, should probably consider making a new SWindowBase class they can both share in the future.
#jira UE-36861
Change 3177888 on 2016/10/28 by Matthew.Griffin
Back out revision 4 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/InheritableComponentHandler.cpp
Change 3177881 on 2016/10/28 by Matthew.Griffin
Added guards to WITH_EDITOR only static initialisation
Change 3177871 on 2016/10/28 by Matt.Kuhlenschmidt
Fix crash import fbx scenes if objects contain procedural textures (not supported)
#jira UE-37917
Change 3177856 on 2016/10/28 by Matthew.Griffin
Adding THIRD_PARTY_INCLUDES macros around Google VR includes to fix static analysis warnings
Change 3177815 on 2016/10/28 by Graeme.Thornton
Non-editor build fix
#jira UE-37929
Change 3177812 on 2016/10/28 by Graeme.Thornton
Fix for COTF crash with EDL. Manually copied from CL 3174743 in Dev-Core
#jira UE-37810
Change 3177737 on 2016/10/28 by Guillaume.Abadie
Brings over 3141695 and 3173310 from //Odin/Main: Fixes particle collision in the forward renderer.
#jira UE-37927
Change 3177703 on 2016/10/28 by Phillip.Kavan
[UE-37852] Ensure that we create a unique template object in a child class's ICH when overriding an inherited SCS default scene root node.
change summary:
- added UInheritableComponentHandler::SCSDefaultSceneRootOverrideNamePrefix
- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to special-case SCS default scene root node overrides when determining the new template name
- modified UInheritableComponentHandler::PostLoad() to special-case SCS default scene root node overrides during template name fixup
- modified SSCSEditor::RemoveComponentNode() to skip renaming the component template away from the variable name for the default scene root node, since we don't actually recreate it when it gets re-added
#jira UE-37852
Change 3177600 on 2016/10/27 by Chris.Babcock
Pass through the intent action from splash screen
#jira UE-37925
#ue4
#android
Change 3177436 on 2016/10/27 by Mike.Beach
Guarding against a top crash that could occur when pasting a select node (unknown how) - now using an unchecked accessor to get a specific pin, and guarding again a null (instead of asserting).
#jira UE-37910
Change 3177365 on 2016/10/27 by Daniel.Wright
Fixed access of FPrecomputedLightVolumeData after it has been deleted (causes crash on exit with USE_MALLOC_STOMP enabled)
#jira UE-37903
Change 3177236 on 2016/10/27 by Mitchell.Wilson
Updated UVs on M_FloorTiles1 to resolve precision issues with the material's normal on mobile devices.
Fixed reflection captures in the level and rebuilt lighting.
#jira UE-36624
Change 3177235 on 2016/10/27 by mason.seay
Vehicle Assets
#jira UE-29618
Change 3177036 on 2016/10/27 by Mitchell.Wilson
Inverted throttle control for controller Right Joystick Up, Down, Y-Axis to be consistent with the info from our template wiki
#jira UE-37881
Change 3176996 on 2016/10/27 by mason.seay
Missed node link
#jira UE-29618
Change 3176993 on 2016/10/27 by mason.seay
Test AnimBP for crash
#jira UE-29618
Change 3176992 on 2016/10/27 by Mitchell.Wilson
Adding [EditoronlyBP] to DefaultEditor.ini of projects that were missing it.
#jira UE-37846
Change 3176946 on 2016/10/27 by Alexis.Matte
We recompile the material only if there is a material expression node that ask for a shader recompile when the texture is change with no specified property.
#jira UE-37705
Change 3176939 on 2016/10/27 by Alexis.Matte
Check the pointer before using it
#jira UE-37853
Change 3176927 on 2016/10/27 by mason.seay
Rebuilt Lighting
#jira UE-29618
Change 3176883 on 2016/10/27 by Steve.Robb
Fix for crash when an array property changes while instancing subobjects.
Fix for StrStr running off the end of a non-null-terminated string and a tidy up with TUniquePtr.
Fix for accessing a deleted StaticClass() in FInputBindingEditorModule::ShutdownModule.
#fyi matt.kuhlenschmidt, alex.fennell
#jira UE-37752
Change 3176811 on 2016/10/27 by Chris.Bunner
Rework of previous commit to avoid potential confusion moving forward.
#jira UE-37424
Change 3176783 on 2016/10/27 by Chris.Bunner
Default scalability settings to Epic, not Cinematic.
Duplicated default render resolution scale fix (CL 3170020).
#jira UE-37424
Change 3176692 on 2016/10/27 by Mike.Beach
Fixing up a mistake where we weren't reading all [EditoronlyBP] settings (which are now deprecated). Was causing certain settings to default to off, and caused an inaccurate deprecation warning.
#jira UE-37848
Change 3176635 on 2016/10/27 by mason.seay
Setting up skeleton for retargeting testing
#jira UE-29618
Change 3176586 on 2016/10/27 by Marcus.Wassmer
Fix crash on D3D12 editor when selecting objects
#jira UE-37861
Change 3176479 on 2016/10/27 by Robert.Manuszewski
Fix for a rare crash when loading into Orion match. Made sure the Skeleton asset is loaded before PostLoad is called on it.
#jira UE-37297
#jira UE-37711
Change 3176107 on 2016/10/27 by Phillip.Kavan
[UE-37690] AddComponent node template names now use a counter to avoid a potential component data cache mismatch with an existing instance of an old AddComponent node template.
change summary:
- added UBlueprint::ComponentTemplateNameIndex as a way to to map component class names to an incremental counter (saved).
- UK2Node_AddComponent::MakeNewComponentTemplateName() is now public, non-static, and uses an internal index map to generate unique component template names.
#jira UE-37690
Change 3176105 on 2016/10/27 by Phillip.Kavan
[UE-37686] Fix naming for archetype objects associated with new AddComponent nodes.
change summary:
- switched UK2Node_AddComponent::MakeNewComponentTemplateName() to be a public API.
- modified UBlueprintComponentNodeSpawner::Invoke() to call UK2Node_AddComponent::MakeNewComponentTemplateName() in place of MakeUniqueObjectName().
- modified UBlueprintGeneratedClass::FindArchetype() to better handle old AddComponent node template names. These were based on the UClass display name, and thus it was possible for the non-index form of that FName to collide with SCS variable names after the initial switch to use the non-indexed (base) FName for archetype matching in all cases. As a result I've reverted back to using the given ArchetypeName value for the SCS variable case.
#jira UE-37686
Change 3176009 on 2016/10/26 by Dmitriy.Dyomin
Fixed: Editor crash on changing sub-level visbility under certain conditions
#jira UE-34740
Change 3175807 on 2016/10/26 by Daniel.Wright
Fixed the editor thinking a lighting build is still active after you discard the results from one
#jira UE-37834
Change 3175777 on 2016/10/26 by Jon.Nabozny
#jira UT-6263
Fix crash when running ServerTravel on a client
Dupe of CL #3175731 on UT, checked in on behalf of ben.zeigler
Change 3175695 on 2016/10/26 by Ryan.Gerleve
Don't clear level collections in UWorld::CleanupWorld unless bCleanupResources is true.
#jira UE-37336
Change 3175628 on 2016/10/26 by Chad.Garyet
Added -Build vstream from 4-14 to allow checkins from physx
altered build script and json to reflect new changes
#JIRA UE-37085
Change 3175612 on 2016/10/26 by Martin.Wilson
Fix crash when running an in-editor cook on the fly server with unsaved virtual bone changes
#jira UE-37785
Change 3175552 on 2016/10/26 by Brian.Karis
Twinblast bust changes
#jira UE-0
Change 3175543 on 2016/10/26 by Marc.Audy
Allow audio thread on PS4 to use 7th core as opposed to being pinned to it
#jira OR-30447
Change 3175538 on 2016/10/26 by Matt.Kuhlenschmidt
Fixed a crash when clicking Apply when using the Brush Clip tool
#jira UE-37838
Change 3175502 on 2016/10/26 by Mitchell.Wilson
Enabled modulated shadows on lights in rolling template levels.
#jira UE-37047
Change 3175485 on 2016/10/26 by mason.seay
Test Map for virtual bones
#jira UE-29618
Change 3175469 on 2016/10/26 by mason.seay
Test assets for Virtual Bones testing
#jira UE-29618
Change 3175428 on 2016/10/26 by Marc.Audy
Possibly fix crash in Autosave due to dereferencing a world pointer which is freed memory
#jira UE-37590
Change 3175414 on 2016/10/26 by Michael.Trepka
Fixed mouse position calculations for secondary monitors on Mac
#jira UE-37822
Change 3175382 on 2016/10/26 by Yannick.Lange
VR Editor: - Fix: Landscape UI Elements are not visible #jira UE-36843
- Fix: First-time switch to Landscape tab in VREditor causes UI Errors #jira UE-37410
- Fix: Enabling Foilage Mode in VR Editor breaks the pointer #jira UE-37214
- Fix: Landscape sculpting when attempting to move menu panels in VREditor #jira UE-37581
#jira UE-36843 #jira UE-37410 #jira UE-37214 #jira UE-37581
Change 3175349 on 2016/10/26 by Chad.Garyet
Changing physx build agents to compile workspaces instead of full ones
#JIRA UE-37085
Change 3175267 on 2016/10/26 by Martin.Wilson
Fix retarget crash
#jira UE-37781
Change 3175205 on 2016/10/26 by Rolando.Caloca
UE4.14 - Remove erroneus assert
#jira UE-37584
Change 3175188 on 2016/10/26 by Chris.Babcock
Fix out of spec GLSL operations (contributed by JeffRous)
#jira UE-37800
#PR #2886
#ue4
#android
Change 3175156 on 2016/10/26 by Mitchell.Wilson
Adding missing iOS app icons to SunTemple project
#jira UE-36991
Change 3175095 on 2016/10/26 by Daniel.Wright
Fixed stationary skylight reflections using an inverted mask on materials without high quality reflections with Forward Shading
#jira UE-37783
Change 3175075 on 2016/10/26 by Daniel.Wright
[Copy] Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear)
#jira UE-36497
Change 3175050 on 2016/10/26 by Jamie.Dale
FTextRenderComponentMIDCache now marks MIDs as stale when the font parameters available in the parent material changes
#jira UE-37819
Change 3175039 on 2016/10/26 by Daniel.Wright
Fixed Duplication mode
#jira UE-37231
Change 3174996 on 2016/10/26 by Mitchell.Wilson
Removing [EditoronlyBP] changes made to DefaultEditor.ini. EDL is now disabled by default in ShooterGame.
#jira UE-37648
Change 3174987 on 2016/10/26 by Jon.Nabozny
Fix crash when moving InstancedStaticMeshComponent in editor when it had no mesh set, but had instances.
#jira UE-37594
Change 3174803 on 2016/10/26 by Ori.Cohen
Fix world origin shifting causing a crash inside physx.
#JIRA UE-37745
Change 3174776 on 2016/10/26 by Allan.Bentham
Work around broken depth reads on Galaxy S4.
#jira UE-35481
Change 3174723 on 2016/10/26 by Robert.Manuszewski
Changing the criteria for UBL to ignore the event driven loader flag to IsEngineInstalled() just like at runtime.
#jira UE-37617
Change 3174650 on 2016/10/26 by Matthew.Griffin
Ensured that Online Subsystem Oculus plugin is precompiled successfully for Android
Change 3174644 on 2016/10/26 by Matthew.Griffin
Fixing GoogleVR compile issues
Change 3174352 on 2016/10/25 by Daniel.Wright
Rename map build data along with the world - fixes lighting lost on map rename / save as.
Duplicate map build data along with the world - fixes lighting lost on map duplicate in the content browser, or save as when the source already exists.
Save map build data packages in SaveWorld - fixes lighting being lost on save as.
#jira UE-37231
Change 3174335 on 2016/10/25 by Chris.Babcock
Corrected Proguard issue with Codeworks for Android 1R5 installers
#jira UE-37680
#ue4
#android
Change 3174318 on 2016/10/25 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
Change 3174263 on 2016/10/25 by patrickr.donovan
Test content updates and additions. Lighting Channel map added to TM-VRLoader.
#jira UE-29618
Change 3174120 on 2016/10/25 by Daniel.Wright
UObject::PostDuplicate with DuplicateMode
* Allows differentiating between being duplicated as part of a world duplication vs duplication within a level
* This is needed when generating a guid that needs to be unique within a level, but constant across instances of that level, like a light component
#jira UE-37231
Change 3174113 on 2016/10/25 by Daniel.Wright
Fixed log spam
#jira UE-37522
Change 3174010 on 2016/10/25 by Jamie.Dale
Fixed several crashes in the Session Frontend when viewing profiles
- SFiltersAndPresets wasn't being cleared when the profile data was changed back to a live instance.
- SFiltersAndPresets could crash if it was updated when no profile was selected.
- SDataGraph could cause a crash if you clicked on it when there was no data (passed a range of -1, 0).
- A session update message would clobber any loaded profile data, resetting to the current instance.
#jira UE-37597
Change 3173982 on 2016/10/25 by mason.seay
Deleting unneeded asset
#jira UE-29618
Change 3173912 on 2016/10/25 by Ori.Cohen
Fix divide by 0 crash when torque curve is 0
#JIRA UE-37737
Change 3173866 on 2016/10/25 by Ben.Marsh
Remove setting forcing UnrealCEFSubProcess to compile using Visual Studio 2013.
#jira UE-37678
Change 3173824 on 2016/10/25 by Ben.Marsh
Fix trying to recompile UBT in Rocket builds when cleaning a build target.
#jira UE-37616
Change 3173812 on 2016/10/25 by Nick.Darnell
XBoxOne - The Vertex and Index buffers are now allocated with the right nextwriteoffset to prevent stomping old data on future writes.
#jira UE-37757
Change 3173808 on 2016/10/25 by Ben.Marsh
Fix batch files detecting MSBuild install locations for Visual Studio "15" preview 5.
#jira UE-37627
Change 3173711 on 2016/10/25 by Ori.Cohen
Fix linux compiler issues for physx
#JIRA UE-37085, UE-37114, UE-37116
Change 3173704 on 2016/10/25 by James.Cobbett
Import test assets for Alembic Conversion test
#jira UE-29618
Change 3173694 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed Zip project not working in binary builds
#jira UE-37655
Change 3173692 on 2016/10/25 by James.Cobbett
Test content for Alembic Conversion options
#jira UE-29618
Change 3173666 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed array refreshing in the details panel not functioning properly for sub-object properties
#jira UE-37652
Change 3173619 on 2016/10/25 by Robert.Manuszewski
Making the cooker ignore EDL ini setting in binary engine build.
#jira UE-37617
Change 3173616 on 2016/10/25 by Nick.Whiting
Merging update to Google VR 1.01 SDK, which fixes multiple initialization errors
#jira UE-37440, UE-37236
Change 3173606 on 2016/10/25 by Jamie.Dale
Removed invalid assert
We're already passed the collection to modify, so the assert isn't needed.
#jira UE-37761
Change 3173604 on 2016/10/25 by Keli.Hlodversson
Work around an issue where the SteamVR plugin will fail to initialize if SteamVR was not already running before launching.
#jira UE-37623
Change 3173502 on 2016/10/25 by Matt.Kuhlenschmidt
Fixed more cases of undoing causing selections to become out of sync
#jira UE-37300
Change 3173475 on 2016/10/25 by Ori.Cohen
Critical 4.14 physx fixes
#JIRA UE-37085, UE-37114, UE-37116
Change 3173445 on 2016/10/25 by Robert.Manuszewski
Disabling the Event Driven Loader in ShooterGame. Making sure the EDL can't be enabled in binary engine distributions.
#jira UE-37394
Change 3173401 on 2016/10/25 by Matt.Kuhlenschmidt
Guard against crashes when textures or materials are explicitly marked as pending kill and then passed to slate for rendering
#jira UE-36261
Change 3173245 on 2016/10/25 by Allan.Bentham
Remove incorrect assert.
#jira UE-37699, UE-37707
Change 3173232 on 2016/10/25 by Jurre.deBaare
Post Processing Settings do not update in Persona when the values are changed in Preview Scene Settings
#fix make sure we also pick up vector4 fields
#jira UE-37656
Change 3173183 on 2016/10/25 by Matthew.Griffin
Added Shipping configs to BootstrapPackagedGame (Duplicating CL#3150210 from Main)
Change 3173065 on 2016/10/25 by Dmitriy.Dyomin
Fixed: Disabling 'Use Landscape Lightmap' option Skewing Procedural Foliage Instances
#jira UE-37736
Change 3172929 on 2016/10/24 by Ryan.Vance
#jira UE-37742
Adding SceneViewExtension hooks that are called right after init views completes. It might be advantageous to do the work we're currently doing in PreRenderViewFamily_RenderThread and PreRenderView_RenderThread after init views is called with the way SteamVR's running start is implemented.
Change 3172915 on 2016/10/24 by Rolando.Caloca
UE4.14 - Fix compile issues on CCT
#jira UE-37722
Change 3172762 on 2016/10/24 by Brian.Karis
#jira UE-37369
Change 3172742 on 2016/10/24 by Daniel.Lamb
Fixed issue with file-> cook error when you haven't built the exe which you are trying to cook for.
#jira UE-36796
#test Cook shootergame
Change 3172690 on 2016/10/24 by Maciej.Mroz
DynamicClass gives now, as componet-archetype, objects with non-exact name.
Manually merged cl#3171563
#jira UE-37480
Change 3172663 on 2016/10/24 by Daniel.Lamb
Stopped cooker from handling modification requests when they are PIE requests.
#test PIE shootergame
#jira UE-21572
Change 3172629 on 2016/10/24 by Mitchell.Wilson
Reconnected some material functions to resolve warnings which caused characters to render with default materials, and resolving 'Top Material' warnings.
Reimported SM_GodRay_Plane to resolve PhysX warning
Rebuilt lighting for the level.
#jira UE-37728
Change 3172523 on 2016/10/24 by Nick.Shin
update physx cmakefiles and automation build scripts for release-414 stream (as per request)
#jira UEFW-106 Add HTML5 support to PhysX CMake & automation scripts
Change 3172515 on 2016/10/24 by Nick.Shin
remove old emsdk (1.35.0)
#jira UEPLAT-1324 Update HTML5 PhysX to CMake
Change 3172511 on 2016/10/24 by Mark.Satterthwaite
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3172461 on 2016/10/24 by Cody.Albert
Added check for pointer validity to prevent crash in ShooterGame
#jira UE-37433
Change 3172329 on 2016/10/24 by Peter.Sauerbrei
fix for remote notification method misspelling
#jira ue-37720
Change 3172322 on 2016/10/24 by Marc.Audy
Fix unreferenced variable the brute force to unblock QA
#jira UE-37718
Change 3172191 on 2016/10/24 by Mitchell.Wilson
Clearing preivew meshes on some materials to resolve warnings.
#jira UE-37713
Change 3172186 on 2016/10/24 by Matt.Kuhlenschmidt
Fix non-editor compile error
#jira UE-37695
Change 3172159 on 2016/10/24 by Dmitry.Rekman
Update GitDependencies.exe (UE-37530).
- Binary needs to be updated to support LINUX_MULTIARCH_ROOT variable.
#jira UE-37530
Change 3172132 on 2016/10/24 by Keith.Judge
Xbox One - Fix corrupted screenshots. Needed a GPU/CPU sync point, which legacy D3D11.x used to do for us, but now we have to do manually. Copied from Dev-Platform CL 3156872
#jira UE-37038
Change 3172131 on 2016/10/24 by Keith.Judge
Xbox One - Disable engine analytics on XB1 shipping games, as per XRs. Verified http requests from devkit with Fiddler. Copied from CL 3153176 in Dev-Platform.
#jira UE-36364
Change 3172106 on 2016/10/24 by Mitchell.Wilson
Updated reference to a material in VehicleMenu.umap to resolve warning
#jira UE-29748
Change 3172036 on 2016/10/24 by Steve.Robb
TEnumAsByte can be switchably deprecated for enum classes, and is currently not deprecated (reverting a change in behavior).
#jira UE-37706
Change 3172020 on 2016/10/24 by Marc.Audy
Child Actor should be created at registration, not creation. Otherwise attachment hierarchies can not be set up and thus, world positions incorrect
#jira UE-37615
Change 3171966 on 2016/10/24 by Dmitry.Rekman
Linux: fix Setup.sh on Ubuntu 16.10 (UE-37621)
#jira UE-37621
(Edigrating 3171266 from Dev-Platform to Release-4.14)
Change 3171964 on 2016/10/24 by Dmitry.Rekman
Linux: fix always rebuilding FixDeps (UE-37625).
#jira UE-37625
(Edigrating 3153471 from Dev-Platform to Release-4.14)
Change 3171957 on 2016/10/24 by Matt.Kuhlenschmidt
Guard against property editor crash happening when focused is lost on an object which has been GC'd due to PIE running
#jira UE-37636
Change 3171943 on 2016/10/24 by Matt.Kuhlenschmidt
Added mesh simplifcation plugin picker to the project settings under Editor - Mesh Simplification
The menu to pick simplification plugins also contains a link to find other plugins in the launcher marketplace. The launcher navigates to "/ue/marketplace/content-cat/assets/codeplugins" for now
#jira UE-37695
Change 3171928 on 2016/10/24 by Max.Chen
Sequencer: Revert CL#3162724. Fix time dilation in level sequence player because it's causing a regression. Will revisit the fix for UE-37277.
#jira UE-37589
Change 3171924 on 2016/10/24 by James.Cobbett
Test content 'preroll.abc'. Has empty frames at the start of animation. For alembic importer testing.
#jira UE-29618
Change 3171867 on 2016/10/24 by Lina.Halper
- Back out revision 2 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/Components/SkeletalMeshComponent.cpp
- Empties override materials before setting preview mesh in animation editor
#jira: UE-37610
#code review: Thomas.Sarkanen
Change 3171789 on 2016/10/24 by Allan.Bentham
Resolve depth on appropriate mobile devices when the view contains materials that read from the depth.
#jira UE-35023
Change 3171776 on 2016/10/24 by Robert.Manuszewski
Increasing the initial memory allocation size for FLargeMemoryWriter to reduce the number of allocations when saving or cooking
#jira UE-37599
Change 3171728 on 2016/10/24 by Dmitriy.Dyomin
Fix origin rebasing to work with precomputed lighting data stored in separate package
#jira UE-37693
Change 3171634 on 2016/10/24 by Dmitriy.Dyomin
Added commenets to 3171621
#jira UE-36449
Change 3171621 on 2016/10/23 by Dmitriy.Dyomin
Fixed: Editor crash when compiling the character blueprint after a PIE session with World Composition enabled
Actually disabled use of world composition with multiplayer PIE using separate processes
#jira UE-36449
Change 3171424 on 2016/10/22 by Jack.Porter
Remove unused exec command causing logspam
#jira UE-37661
Change 3171259 on 2016/10/21 by Ryan.Vance
Mobile multi-view update
#jira UE-37603
Removed dependence on shader name for determining if we need to enable multi-view, now relies on the presence of gl_ViewID_OVR
Worked around unsigned/signed integer driver issues. Some shader compilers were choking on the unsigned postfix
Attempted to clean up some of the code duplication in MobileBasePassRendering.cpp
Made a few design concessions which allows the feature to run on Mali devices in the wild right now:
Allow the feature to be enabled with ES2 rather than just ES3.1. Mali drivers have a bug preventing shader io blocks and multi-view from working together
Passing the view id from the vertex shader. Mali devices don't allow referencing gl_ViewID_OVR in a pixel shader
Change 3171165 on 2016/10/21 by Peter.Sauerbrei
revert out the memory changes for platform file cache for mobile
#jira UE-36835
Change 3171112 on 2016/10/21 by Matt.Barnes
Updating TM-Material_BP_Nodes to facilitate test UEQATC-2969.
#jira UEQATC-2969
Change 3171111 on 2016/10/21 by Mike.Beach
Mirroring CL 3171084 form Dev-BP
Guarding against a unrepro'able top-10 crash in SGraphPin. Making sure we're not operating on a null/pending-kill/transient pin.
#jira UE-37642
Change 3170980 on 2016/10/21 by patrickr.donovan
Motion controller test content update - further updates to combat thumbstick noise.
#jira UE-29618
Change 3170965 on 2016/10/21 by Mitchell.Wilson
Moved panner in M_Frame3_BG material to Custom UV0 to resolve issue with material rendering white on tvOS
#jira UE-37105
Change 3170905 on 2016/10/21 by Marc.Audy
Fix AActor::Serialize crash if a null in the owned components array
#jira UE-37641
Change 3170838 on 2016/10/21 by Ben.Woodhouse
Integrate crash fix from main CL3162008
Fix for crash in GPU profiler. This was caused by the RHIThread getting too far behind the renderthread. This change adds a fence wait on the renderthread in RHIEndDrawingViewport to ensure that the renderthread is never more than a frame ahead.
#jira UE-37216
Change 3170815 on 2016/10/21 by Jamie.Dale
Fixed a potential race-condition in FTextRenderComponentMIDCache, and updated it to detect "stale" MIDs
FMIDData was shared between the game and render threads, but used non-thread-safe shared pointers.
This also marks MIDs as "stale" if the number of MIDs no longer matches the number of pages in the font (which may happen if the font is edited). These "stale" MIDs are kept as a weak pointer in a separate array so that we can still keep the MID object alive as long as something is still using it (as it may still be used by a FTextRenderSceneProxy for a short while). This array of weak pointers is purged of unreferenced instances during the normal cache purge cycle.
#jira UE-37519
Change 3170784 on 2016/10/21 by Mitchell.Wilson
Changing a material in TM-Reflections level
#jira UE-29618
Change 3170668 on 2016/10/21 by Mitchell.Wilson
Updated defaulteditor.ini to resolve cook failure for UBlueprint.
#jira UE-37648
Change 3170595 on 2016/10/21 by Chris.Wood
Added "Vanilla" Editor detection and reporting it to analytics, MTBF and Crash Reporter.
[UE-37132] - Detect "Vanilla" Editor and report it to MTBF analytics and Crash Reporter
#jira UE-37132
Change 3170395 on 2016/10/21 by Robert.Manuszewski
UBT will now respect -remoteini command line param when looking for ini files for build settings. Fixes a crash when launching BP-only project from the Editor with EDL enabled.
#jira UE-37617
Change 3170367 on 2016/10/21 by Allan.Bentham
Prevent overflow of bright pixels during DoF calc.
#jira UE-31755
Change 3170363 on 2016/10/21 by Robert.Manuszewski
Fixing crashes when cancelling async loading
#jira UE-37634
Change 3170362 on 2016/10/21 by Robert.Manuszewski
Fixing MallocBinned2 crashes on 32-bit platforms.
#jira UE-37326
Change 3170280 on 2016/10/21 by Jack.Porter
Fix for landscape not rendering in Player Collision view mode after toggling G.
#jira UE-37576
Change 3170202 on 2016/10/21 by Dmitriy.Dyomin
Fixed: CustomDepth is incorrect when used in Custom PostProcess after Tonemapping
#jira UE-37628
Change 3170160 on 2016/10/20 by Aaron.McLeran
#jira UE-37596 Making detail customizations and experimental setting for sound base showing audiomixer-only features
Implementing CL 3169422 in 4.14
Change 3170029 on 2016/10/20 by Aaron.McLeran
#jira UE-37004
#jira UE-37005
Fixing stat soundwaves
Implementing 3154264 from Dev-Framework
Change 3170024 on 2016/10/20 by Aaron.McLeran
#jira UE-37024 Set Sound Mix Class Override still Playing Sounds in Certain Conditions
Implementing the CL from Dev-Framework
Change 3169869 on 2016/10/20 by Arne.Schober
duplicated:
CL 3169845
#jira UE-35937
Change 3169810 on 2016/10/20 by Steve.Cano
Moving change from CL 3169642 to 4.14 - fix a library issue that was causing Kindle Fire 1st edition to crash when trying to run QA game, may be causing issues on other devices as well
#ue4
#android
#jira UE-22440
Change 3169635 on 2016/10/20 by Mike.Beach
Mirroring CL 3169443 from Dev-BP
Deprecating the [EditoronlyBP] config settings (which are super old, and support legacy functionality, allowing users to export editor-only UBlueprint objects on cook). This is in support of the new event-driven loader (EDL), which is incompatible with these exports. We will be removing support for these settings promptly in 4.15 (hence the choice to deprecate them for 4.14).
#jira UE-37605
Change 3169618 on 2016/10/20 by Mitchell.Wilson
rebuilt lighting for all levels in Content Examples
#jira UE-37570
Change 3169447 on 2016/10/20 by Peter.Sauerbrei
fix for double quotes causing arguments to not be sent correctly to rsync
#jira UE-37018
Change 3169362 on 2016/10/20 by tim.gautier
Updated TM-UMG Level Blueprint - mouse-clicks outside of UMG assets no longer take focus from the set Display Widget
#jira abc-123
Change 3169244 on 2016/10/20 by Chris.Babcock
Update to new CodeWorks for Android 1R5
#jira UE-37554
#ue4
#android
Change 3169240 on 2016/10/20 by Jon.Nabozny
#rn Fixup GameModeClassAliases in Engine.ini files. These must be prefixed with either /Game/ or /Script/ otherwise the asset may fail to resolve and an empty name will be used instead (and cause weird behavior).
#jira UE-37488
Change 3169155 on 2016/10/20 by Peter.Sauerbrei
fix for incorrect characters in bundle id when project has underscores in the name
#jira UE-36436
Change 3169127 on 2016/10/20 by Allan.Bentham
Fix android vulkan compile error with dev builds
#jira abc-123
Change 3169058 on 2016/10/20 by Allan.Bentham
Flush command buffer during init to fix vulkan crash when rendering thread is enabled.
Fix FDeferredDeletionQueue's resource handle storage on 32 bit platforms.
#jira UE-36452
Change 3169049 on 2016/10/20 by Peter.Sauerbrei
fix for minimum ios version in base ini file
#jira UE-37034
Change 3168910 on 2016/10/20 by Jack.Porter
Fix occasional race condition crash in FTcpMessageTransportConnection on editor shutdown
#jira UE-36944
Change 3168906 on 2016/10/20 by Dmitriy.Dyomin
Fixed: Black rendering on Galaxy S4 PowerVR
#jira UE-37567
Change 3168858 on 2016/10/20 by Richard.TalbotWatkin
Made BSP rendering more robust so that out-of-range array accesses trigger an 'ensure' rather than a crash (with a view to identifying the cause of this issue). Also fixed non-editor builds.
#jira UE-37267 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::GetDynamicMeshElements() [modelrender.cpp:322]
Change 3168826 on 2016/10/20 by Richard.TalbotWatkin
Duplicated from //UE4/Dev-Editor, CL 3156473
Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]
Change 3168335 on 2016/10/19 by Michael.Trepka
Restored previous version of FMacWindow::IsPointInWindow function to solve issues with window dragging.
#jira UE-37418
Change 3168307 on 2016/10/19 by Rolando.Caloca
UE4.14 - Integrate changes from 3051720 and 3057522
[RENDERING] [!]
Revert fix in GPU skin cache (original CL 2722034)
- Waiting on shader compilation with the GPU skin update will destroy/recreate render state, causing a crash in the GPU skin cache.
#jira UE-37545
Change 3168201 on 2016/10/19 by Peter.Sauerbrei
fix for urls with queries not working correctly
#jira UE-35090
Change 3168200 on 2016/10/19 by Mitchell.Wilson
Re-saved multiple cloth assets to resolve building adjacency information warnings.
Replaced deprecated SetText and GrabComponent blueprint nodes with new SetText and GrabComponentAtLocation.
Re-saved multiple assets to resolve empty engine version warnings.
#jira UE-37537
Change 3168174 on 2016/10/19 by Alan.Noon
#jira UE-37534
deleted unnecessary files from Photorealistic Character project
Change 3168160 on 2016/10/19 by Arne.Schober
duplicated:
fixes for velocity render pass
CL 3166370
CL 3166799
#jira UE-37362
Change 3168136 on 2016/10/19 by Alan.Noon
#jira UE-37534
Initial add of Photorealistic Character Sample project
Change 3168127 on 2016/10/19 by Peter.Sauerbrei
fix for IOS_7 not being found
#jira UE-37034
Change 3167886 on 2016/10/19 by patrickr.donovan
#jira UE-37242
TLDR; Test content updates.
Bug entered due to finicky hardware returning noise values that weren't accounted for in test contet. Fortified test content against this edge case, no code change necessary.
Change 3167882 on 2016/10/19 by samuel.proctor
Updating asset for Profiler Heatmap testing
#jira UE-29618
Change 3167868 on 2016/10/19 by Dmitry.Rekman
Linux: disable XGE on Windows (UE-37446).
- XGE does not seem to handle new clang 3.9.0 toolchain well, with very reproducible crashes.
Also fix build breakage with clang 3.8.1.
- always_inline was still applied to debug builds and as such was ignored.
#jira UE-37446
(Edigrating CL 3166330, 3166456 from Dev-Platform to Release-4.14)
Change 3167832 on 2016/10/19 by Mitchell.Wilson
Reconnected 'TopMaterial' in multiple materials to resolve warnings.
Rebuilt lighting and saved levels.
#jira UE-37529 UE-37535
Change 3167688 on 2016/10/19 by Mitchell.Wilson
Removing preview mesh from multiple materials to resolve warnings.
Rebuilt lighting and saved all levels.
#jira UE-29678 UE-37526
Change 3167616 on 2016/10/19 by Marc.Audy
Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656.
#jira UE-37517
Change 3167585 on 2016/10/19 by Jamie.Dale
Re-enabled all-cultures upload to OneSky so we prime translations correctly
#jira UE-37518
Change 3167579 on 2016/10/19 by Jamie.Dale
Fixed text render component regression with custom MIDs
#jira UE-37305
Change 3167501 on 2016/10/19 by Matt.Kuhlenschmidt
Fixed realtime rendering in editor viewport being disabled when simulating in editor
#jira UE-37466
Change 3167498 on 2016/10/19 by Mitchell.Wilson
Re-saving multiple blueprints with nodeguid warnings.
Cleared preview mesh for materials with string asset reference warnings.
Rebuilt lighting and added _BuildData to resolve lighting rebuild warnings.
#jira UE-30840
Change 3167492 on 2016/10/19 by Matt.Kuhlenschmidt
Fix for disappearing menus in lastest windows 10 build
#jira UE-36752
Change 3167311 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#jira UE-37496
Change 3167206 on 2016/10/19 by Matthew.Griffin
Moved Github promotion earlier in build script and added 'After' dependencies so that we can guarantee the order of the nightly build/prevent unimportant jobs from running before binary build is completed
Change 3167205 on 2016/10/19 by Matthew.Griffin
Changed CommandUtils.UnzipFiles to use system unzip tool when running on mono, as there has been issues with Ionic not being able to decompress those created by the zip tool
Change 3167010 on 2016/10/19 by Dmitriy.Dyomin
Fix for LevelStreaming getting stuck, and World->PersistentLevel null assert
Contributed by Funcom: https://udn.unrealengine.com/questions/312900/fix-for-levelstreaming-getting-stuck-and-world-per.html
#jira UE-36397
[CL 3189774 by Matthew Griffin in Main branch]
2016-11-08 02:45:19 -05:00
float FarBlendFactor = 1.0f - saturate((SceneDepth - FadePlaneOffset) * InvFadePlaneLength);
Output = lerp(1, Output, FarBlendFactor);
float NearBlendFactor = saturate((SceneDepth - NearFadePlaneOffset) * InvNearFadePlaneLength);
Output = lerp(1, Output, NearBlendFactor);
OutColor = EncodeLightAttenuation(half4(Output, Output, Output, Output));
2014-09-03 18:17:19 -04:00
}