Files
UnrealEngineUWP/Engine/Source/Programs/ShaderCompileWorker/Private/ShaderCompileWorker.cpp

1029 lines
39 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
// ShaderCompileWorker.cpp : Defines the entry point for the console application.
//
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "CoreMinimal.h"
#include "RequiredProgramMainCPPInclude.h"
#include "ShaderCore.h"
#include "ExceptionHandling.h"
#include "IShaderFormat.h"
#include "IShaderFormatModule.h"
#define DEBUG_USING_CONSOLE 0
// this is for the protocol, not the data, bump if FShaderCompilerInput or ProcessInputFromArchive changes (also search for the second one with the same name, todo: put into one header file)
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
const int32 ShaderCompileWorkerInputVersion = 7;
// this is for the protocol, not the data, bump if FShaderCompilerOutput or WriteToOutputArchive changes (also search for the second one with the same name, todo: put into one header file)
const int32 ShaderCompileWorkerOutputVersion = 3;
// this is for the protocol, not the data, bump if FShaderCompilerOutput or WriteToOutputArchive changes (also search for the second one with the same name, todo: put into one header file)
const int32 ShaderCompileWorkerSingleJobHeader = 'S';
// this is for the protocol, not the data, bump if FShaderCompilerOutput or WriteToOutputArchive changes (also search for the second one with the same name, todo: put into one header file)
const int32 ShaderCompileWorkerPipelineJobHeader = 'P';
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
enum class ESCWErrorCode
{
Success,
GeneralCrash,
BadShaderFormatVersion,
BadInputVersion,
BadSingleJobHeader,
BadPipelineJobHeader,
CantDeleteInputFile,
CantSaveOutputFile,
NoTargetShaderFormatsFound,
CantCompileForSpecificFormat,
};
double LastCompileTime = 0.0;
static bool GShaderCompileUseXGE = false;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
static ESCWErrorCode GFailedErrorCode = ESCWErrorCode::Success;
static void WriteXGESuccessFile(const TCHAR* WorkingDirectory)
{
// To signal compilation completion, create a zero length file in the working directory.
delete IFileManager::Get().CreateFileWriter(*FString::Printf(TEXT("%s/Success"), WorkingDirectory), FILEWRITE_EvenIfReadOnly);
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3053250 on 2016/07/18 by Steve.Robb TNot metafunction added. Change 3053252 on 2016/07/18 by Steve.Robb New TIsEnumClass trait. Change 3061345 on 2016/07/22 by Robert.Manuszewski Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy Change 3061377 on 2016/07/22 by Graeme.Thornton Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default Change 3064592 on 2016/07/26 by Steven.Hutton Uploading repository files Change 3064595 on 2016/07/26 by Steven.Hutton Assign crashes to buggs based not just on Callstack but also based on Error message. Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message. Change 3066046 on 2016/07/27 by Graeme.Thornton Better dedicated client/server class exclusion during cooking - Add class lists to cooker settings so they can be modified in the editor Change 3066077 on 2016/07/27 by Graeme.Thornton Move Paragon NeedsLoadForServer calls over to the new config based system Change 3066203 on 2016/07/27 by Chris.Wood CrashReportProcess logging and Slack reporting improvements to monitor disk space. [UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full Change 3066276 on 2016/07/27 by Graeme.Thornton Move simple NeedsLoadForClient implementations over to new config based system Change 3068019 on 2016/07/28 by Graeme.Thornton Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources - Corrects some bad stats Change 3068218 on 2016/07/28 by Chris.Wood CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics [UE-31706] - Add new BuildVersion string to crash context and website Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs. Change 3071665 on 2016/08/01 by Robert.Manuszewski Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed. Change 3073388 on 2016/08/02 by Graeme.Thornton Invalidate string asset reference tags after finishing up loading of an async package Change 3073745 on 2016/08/02 by Robert.Manuszewski Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games. #jira FORT-27839 Change 3074866 on 2016/08/03 by Robert.Manuszewski PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki) Change 3075128 on 2016/08/03 by Steve.Robb Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier Change 3075130 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel' Change 3075131 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner' Change 3075235 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn' Change 3075248 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile' Change 3075662 on 2016/08/03 by Steve.Robb Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call Change 3075668 on 2016/08/03 by Steve.Robb Static analysis fix: warning C6326: Potential comparison of a constant with another constant Change 3075679 on 2016/08/03 by Chris.Wood Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19 [OR-26335] - 29.1 crash reporter generating reports with no callstacks / info New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing. Change 3077070 on 2016/08/04 by Steve.Robb Dead array slack tracking code removed. Change 3077113 on 2016/08/04 by Steve.Robb TEnumAsByte is now deprecated for enum classes. All current uses fixed (which tidies up that code anyway). New FArchive::op<< for enum classes. Generated code now never uses TEnumAsByte for enum classes. Change 3077117 on 2016/08/04 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings' Change 3078709 on 2016/08/05 by Steve.Robb FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer. TObjectIterator annotated to never return null. NewObject annotated to never return null. Change 3078836 on 2016/08/05 by Graeme.Thornton Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading Change 3082217 on 2016/08/09 by Steve.Robb Missing #include for FUniqueNetIdRepl added. Change 3083679 on 2016/08/10 by Chris.Wood CrashReportProcess performance improvements. CRP v1.1.22 [UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances [UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway Passing lock details to MDD on command line and managing multiple MDD tasks in CRP. Configurable values for range of queue sizes that cause us to throw away crashes. Change 3085362 on 2016/08/11 by Steve.Robb Rule-of-three fixes for FAIMessageObserver, to prevent accidents. From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html Change 3085396 on 2016/08/11 by Steve.Robb Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types. Change 3088840 on 2016/08/15 by Steve.Robb TRemoveReference moved to its own header. Change 3088858 on 2016/08/15 by Steve.Robb TDecay moved to its own header. Change 3088963 on 2016/08/15 by Steve.Robb Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke. Change 3089144 on 2016/08/15 by Steve.Robb Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features. Change 3089147 on 2016/08/15 by Steve.Robb TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::. Change 3090243 on 2016/08/16 by Steve.Robb New Algo::Sort and Algo::SortBy algorithms. Change 3090387 on 2016/08/16 by Steve.Robb Improved bitwise swapping for Swap. See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html Change 3090444 on 2016/08/16 by Steve.Robb Ptr+Size overloads removed after discussion - MakeArrayView should be used instead. Change 3090495 on 2016/08/16 by Steve.Robb Assert when FString::Mid is passed a negative count. #jira UE-18756 Change 3093455 on 2016/08/18 by Steve.Robb Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps. Change 3094476 on 2016/08/19 by Steve.Robb BOM removed from InvariantCulture.h. Change 3094697 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3094702 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'. Change 3094715 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read. Change 3094737 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OwnedComponent'. warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did. Change 3094750 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094768 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'LevelSequence'. warning C6011: Dereferencing NULL pointer 'Actor'. Change 3094774 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'. Change 3094783 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'. Change 3094807 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094815 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'VarNode'. warning C6011: Dereferencing NULL pointer 'SourceClass'. Change 3094840 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TunnelGraph'. warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did. Change 3094864 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3094880 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'. Change 3094886 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'. Change 3094903 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'. Change 3094916 on 2016/08/19 by Steve.Robb Static analysis fix: Dereferencing NULL pointer 'CompilerContext'. Change 3094931 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'. Change 3094935 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3094943 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did. Change 3094960 on 2016/08/19 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'. Change 3095046 on 2016/08/19 by Steve.Robb Single parameter version of CastChecked tagged to never return null. Change 3095054 on 2016/08/19 by Steve.Robb Committed wrong version in CL# 3095046. Change 3095089 on 2016/08/19 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. Change 3096035 on 2016/08/22 by Steve.Robb Fix for static lighting in pixel inspector. Change 3096039 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'. Change 3096045 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'. Change 3096058 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'. Change 3096059 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'. Change 3096066 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'. Change 3096070 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'. Change 3096074 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'. Change 3096075 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'. Change 3096081 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'. Change 3096156 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'BP'. warning C6011: Dereferencing NULL pointer 'Object'. Change 3096308 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TopMipData'. warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'. Change 3096315 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'OldParent'. warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'. Change 3096318 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'. Change 3096322 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'. Change 3096337 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Pin'. warning C6011: Dereferencing NULL pointer 'SpawnVarPin'. Change 3096345 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope. Change 3096356 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'. Change 3096387 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'. warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'. Change 3096400 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'. Change 3096413 on 2016/08/22 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did. Change 3096416 on 2016/08/22 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 3096423 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'. Change 3096439 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'. Change 3096446 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'. Change 3096454 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'. Change 3096464 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'. Change 3096469 on 2016/08/22 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'. Change 3097559 on 2016/08/23 by Steve.Robb Alternate fix to CL# 3096439. Change 3097583 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'. warning C6011: Dereferencing NULL pointer 'CurrentWorld'. Change 3097584 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'. Change 3097585 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did. warning C6011: Dereferencing NULL pointer 'FirstNativeClass'. Change 3097588 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'. Change 3097589 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did. Change 3097591 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'. Change 3097597 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'. Change 3097598 on 2016/08/23 by Steve.Robb Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension. Change 3097600 on 2016/08/23 by Steve.Robb Fix for incorrect null check. Change 3097605 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'. Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125 Change 3097609 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did. Change 3097613 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'. Change 3097620 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'. Change 3097627 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'. Change 3097629 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did. Change 3097631 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'. Change 3097634 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'. Change 3097639 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'. Change 3097650 on 2016/08/23 by Steve.Robb Alternate fix for CL# 3097597. Change 3097725 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'. Change 3097764 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did. Change 3097770 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'. Change 3097775 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'. Change 3097796 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'. Change 3097797 on 2016/08/23 by Steve.Robb Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'. Change 3097843 on 2016/08/23 by Steve.Robb Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did. Change 3097864 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ObjectClass'. warning C6011: Dereferencing NULL pointer 'Client'. Change 3097871 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did. Change 3098015 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094864. Change 3098024 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094943. Change 3098052 on 2016/08/23 by Steve.Robb Alternative fix for CL# 3094886. Change 3098080 on 2016/08/23 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did. Change 3098102 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'. Change 3098148 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. warning C6011: Dereferencing NULL pointer 'OldNode'. warning C6011: Dereferencing NULL pointer 'LinkedPin'. warning C6011: Dereferencing NULL pointer 'RootNode'. Change 3098156 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'. Change 3098176 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'. Change 3098182 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'. Change 3098197 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'. Coding standards fixes. Change 3098202 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'. Change 3098208 on 2016/08/23 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did. warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did. Change 3098229 on 2016/08/23 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3099188 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099195 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'. Change 3099205 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'. Change 3099228 on 2016/08/24 by Steve.Robb Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did. Change 3099539 on 2016/08/24 by Steve.Robb Spurious static analysis fixes: warning C6011: Dereferencing NULL pointer 'InBlueprint'. warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did. https://connect.microsoft.com/VisualStudio/feedback/details/3082362 https://connect.microsoft.com/VisualStudio/feedback/details/3082622 Change 3099546 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'. Change 3099561 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'. Change 3099571 on 2016/08/24 by Steve.Robb Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did. Change 3099600 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read. warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read. warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written. Change 3099912 on 2016/08/24 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'. Change 3099923 on 2016/08/24 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'. Change 3100977 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory '*VectorRef'. warning C6001: Using uninitialized memory '*PointRef'. warning C6001: Using uninitialized memory '*PolyRef'. Coding standard fixes. Change 3100985 on 2016/08/25 by Steve.Robb Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3100987 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'. warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'. Change 3100992 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3101000 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'tmpMemReq'. warning C6001: Using uninitialized memory 'TmpCreateInfo'. Change 3101004 on 2016/08/25 by Steve.Robb warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did. Change 3101009 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'. Change 3101115 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'. Change 3101120 on 2016/08/25 by Steve.Robb Fixes to previous fixes. Change 3101128 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'. Change 3101281 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6001: Using uninitialized memory 'Pixel'. Change 3101292 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'. Change 3101299 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'. Change 3101300 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'. Change 3101304 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'. Change 3101311 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'. Change 3101323 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'. Change 3101329 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'. Change 3101333 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'. Change 3101339 on 2016/08/25 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ImportData'. warning C6011: Dereferencing NULL pointer 'CurveToImport'. Change 3101485 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'. Change 3101583 on 2016/08/25 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'. Change 3105721 on 2016/08/30 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'. Change 3105724 on 2016/08/30 by Steven.Hutton Change users page to more responsive paginated version. Change 3105725 on 2016/08/30 by Steven.Hutton Added field for crash processor failed Change 3105786 on 2016/08/30 by Steve.Robb Reintroduced missing operator<< for enum classes. Change 3105803 on 2016/08/30 by Steve.Robb Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too. Change 3106251 on 2016/08/30 by Steve.Robb Switch static analysis node to build editor instead of just the engine. Change 3107556 on 2016/08/31 by Steven.Hutton Added build version data from CRP to DB as part of add crash #rb none Change 3107557 on 2016/08/31 by Steven.Hutton Passed build version data to CRW through crash description #rb none Change 3107634 on 2016/08/31 by Graeme.Thornton Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension #jira UE-20147 Change 3107797 on 2016/08/31 by Steve.Robb Fix for UHT debugging manifest, after paths changed in CL# 3088416. Change 3107964 on 2016/08/31 by Steve.Robb TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive. New case-sensitive TCString::Strfind added, based on GitHub PR #2453. Change 3108023 on 2016/08/31 by Steve.Robb Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks. Change 3108160 on 2016/08/31 by Steven.Hutton Update to add new filter to website front page #rb none Change 3109556 on 2016/09/01 by Steven.Hutton Fixing compile warning #rb none Change 3110001 on 2016/09/01 by Steve.Robb PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything) Change 3111835 on 2016/09/02 by Steve.Robb Enforce uint8 on UENUM() enum classes. #jira UE-35224 Change 3111867 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 3111880 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written. Change 3111886 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written. Change 3112025 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'. warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'. Change 3112051 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'. Change 3112066 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'. Change 3112093 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'. Change 3112110 on 2016/09/02 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'. Change 3112123 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CurDriver'. warning C6011: Dereferencing NULL pointer 'CurNetDriver'. warning C6011: Dereferencing NULL pointer 'CurWorld'. Change 3112157 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'. Change 3112283 on 2016/09/02 by Steve.Robb Static analysis fixes: warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'. Change 3113455 on 2016/09/05 by Chris.Wood CRP performance improvements (v1.1.25) Change 3113468 on 2016/09/05 by Steve.Robb Reverting unnecessary merge in CL# 3112464. Change 3113508 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'. Change 3113588 on 2016/09/05 by Steve.Robb Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration Change 3113863 on 2016/09/06 by Steve.Robb Fix for this error: Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'. Change 3113864 on 2016/09/06 by Steve.Robb Misc static analysis fixes for VS2015 Update 2. Change 3113918 on 2016/09/06 by Ben.Marsh Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception. Change 3114293 on 2016/09/06 by Steve.Robb Static analysis fixes for Visual Studio Update 2. Change 3115732 on 2016/09/07 by Steve.Robb Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 3115754 on 2016/09/07 by Steve.Robb GObjectArrayForDebugVisualizers init order fix. Removal of obsolete FName visualizer helper code. Change 3115774 on 2016/09/07 by Steve.Robb Fix for ICE by moving static variables into their own file and removing const return types. #jira UE-35597 Change 3116061 on 2016/09/07 by Steve.Robb Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774. Change 3117478 on 2016/09/08 by Steve.Robb Static analysis fixes in third party code, using a new macro-based system. Change 3119152 on 2016/09/09 by Steve.Robb TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error. Change 3119200 on 2016/09/09 by Steve.Robb Fix for destructors not being called in TSparseArray move assignment. Change 3119568 on 2016/09/09 by Steve.Robb Fix for TSparseArray visualizer. Change 3119591 on 2016/09/09 by Steve.Robb New MakeShared function which allocates the object and reference controller in a single block. Change 3120281 on 2016/09/09 by Steve.Robb Fix for ICE on static analysis build. #jira UE-35596 Change 3120786 on 2016/09/12 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'. Change 3120787 on 2016/09/12 by Steve.Robb Removal of TEnumAsByte on enum classes. Change 3120789 on 2016/09/12 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read. warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter. Change 3121234 on 2016/09/12 by Steve.Robb Unused ToBuildInfoString function declaration removed. Change 3122616 on 2016/09/13 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'. Change 3123070 on 2016/09/13 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did. [CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
#if USING_CODE_ANALYSIS
FUNCTION_NO_RETURN_START static inline void ExitWithoutCrash(ESCWErrorCode ErrorCode, const FString& Message) FUNCTION_NO_RETURN_END;
#endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
static inline void ExitWithoutCrash(ESCWErrorCode ErrorCode, const FString& Message)
{
GFailedErrorCode = ErrorCode;
FCString::Snprintf(GErrorExceptionDescription, sizeof(GErrorExceptionDescription), TEXT("%s"), *Message);
UE_LOG(LogShaders, Fatal, TEXT("%s"), *Message);
}
static const TArray<const IShaderFormat*>& GetShaderFormats()
{
static bool bInitialized = false;
static TArray<const IShaderFormat*> Results;
if (!bInitialized)
{
bInitialized = true;
Results.Empty(Results.Num());
TArray<FName> Modules;
FModuleManager::Get().FindModules(SHADERFORMAT_MODULE_WILDCARD, Modules);
if (!Modules.Num())
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash(ESCWErrorCode::NoTargetShaderFormatsFound, TEXT("No target shader formats found!"));
}
for (int32 Index = 0; Index < Modules.Num(); Index++)
{
IShaderFormat* Format = FModuleManager::LoadModuleChecked<IShaderFormatModule>(Modules[Index]).GetShaderFormat();
if (Format != nullptr)
{
Results.Add(Format);
}
}
}
return Results;
}
static const IShaderFormat* FindShaderFormat(FName Name)
{
const TArray<const IShaderFormat*>& ShaderFormats = GetShaderFormats();
for (int32 Index = 0; Index < ShaderFormats.Num(); Index++)
{
TArray<FName> Formats;
ShaderFormats[Index]->GetSupportedFormats(Formats);
for (int32 FormatIndex = 0; FormatIndex < Formats.Num(); FormatIndex++)
{
if (Formats[FormatIndex] == Name)
{
return ShaderFormats[Index];
}
}
}
return nullptr;
}
/** Processes a compilation job. */
static void ProcessCompilationJob(const FShaderCompilerInput& Input,FShaderCompilerOutput& Output,const FString& WorkingDirectory)
{
const IShaderFormat* Compiler = FindShaderFormat(Input.ShaderFormat);
if (!Compiler)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash(ESCWErrorCode::CantCompileForSpecificFormat, FString::Printf(TEXT("Can't compile shaders for format %s"), *Input.ShaderFormat.ToString()));
}
// Compile the shader directly through the platform dll (directly from the shader dir as the working directory)
Compiler->CompileShader(Input.ShaderFormat, Input, Output, WorkingDirectory);
}
class FWorkLoop
{
public:
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
FWorkLoop(const TCHAR* ParentProcessIdText,const TCHAR* InWorkingDirectory,const TCHAR* InInputFilename,const TCHAR* InOutputFilename, TMap<FString, uint16>& InFormatVersionMap)
: ParentProcessId(FCString::Atoi(ParentProcessIdText))
, WorkingDirectory(InWorkingDirectory)
, InputFilename(InInputFilename)
, OutputFilename(InOutputFilename)
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
, InputFilePath(FString(InWorkingDirectory) + InInputFilename)
, OutputFilePath(FString(InWorkingDirectory) + InOutputFilename)
, FormatVersionMap(InFormatVersionMap)
{
}
void Loop()
{
UE_LOG(LogShaders, Log, TEXT("Entering job loop"));
while(true)
{
TArray<FJobResult> SingleJobResults;
TArray<FPipelineJobResult> PipelineJobResults;
// Read & Process Input
{
FArchive* InputFilePtr = OpenInputFile();
if(!InputFilePtr)
{
break;
}
UE_LOG(LogShaders, Log, TEXT("Processing shader"));
ProcessInputFromArchive(InputFilePtr, SingleJobResults, PipelineJobResults);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
LastCompileTime = FPlatformTime::Seconds();
// Close the input file.
delete InputFilePtr;
}
// Prepare for output
FArchive* OutputFilePtr = CreateOutputArchive();
check(OutputFilePtr);
WriteToOutputArchive(OutputFilePtr, SingleJobResults, PipelineJobResults);
// Close the output file.
delete OutputFilePtr;
// Change the output file name to requested one
IFileManager::Get().Move(*OutputFilePath, *TempFilePath);
if (GShaderCompileUseXGE)
{
// To signal compilation completion, create a zero length file in the working directory.
WriteXGESuccessFile(*WorkingDirectory);
// We only do one pass per process when using XGE.
break;
}
}
UE_LOG(LogShaders, Log, TEXT("Exiting job loop"));
}
private:
struct FJobResult
{
FShaderCompilerOutput CompilerOutput;
};
struct FPipelineJobResult
{
FString PipelineName;
TArray<FJobResult> SingleJobs;
};
const int32 ParentProcessId;
const FString WorkingDirectory;
const FString InputFilename;
const FString OutputFilename;
const FString InputFilePath;
const FString OutputFilePath;
TMap<FString, uint16> FormatVersionMap;
FString TempFilePath;
/** Opens an input file, trying multiple times if necessary. */
FArchive* OpenInputFile()
{
FArchive* InputFile = nullptr;
bool bFirstOpenTry = true;
while(!InputFile && !GIsRequestingExit)
{
// Try to open the input file that we are going to process
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
InputFile = IFileManager::Get().CreateFileReader(*InputFilePath,FILEREAD_Silent);
if(!InputFile && !bFirstOpenTry)
{
CheckExitConditions();
// Give up CPU time while we are waiting
FPlatformProcess::Sleep(0.01f);
}
bFirstOpenTry = false;
}
return InputFile;
}
void VerifyFormatVersions(TMap<FString, uint16>& ReceivedFormatVersionMap)
{
for (auto Pair : ReceivedFormatVersionMap)
{
auto* Found = FormatVersionMap.Find(Pair.Key);
if (Found)
{
if (Pair.Value != *Found)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash(ESCWErrorCode::BadShaderFormatVersion, FString::Printf(TEXT("Mismatched shader version for format %s; did you forget to build ShaderCompilerWorker?"), *Pair.Key, *Found, Pair.Value));
}
}
}
}
void ProcessInputFromArchive(FArchive* InputFilePtr, TArray<FJobResult>& OutSingleJobResults, TArray<FPipelineJobResult>& OutPipelineJobResults)
{
FArchive& InputFile = *InputFilePtr;
int32 InputVersion;
InputFile << InputVersion;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if (ShaderCompileWorkerInputVersion != InputVersion)
{
ExitWithoutCrash(ESCWErrorCode::BadInputVersion, FString::Printf(TEXT("Exiting due to ShaderCompilerWorker expecting input version %d, got %d instead! Did you forget to build ShaderCompilerWorker?"), ShaderCompileWorkerInputVersion, InputVersion));
}
TMap<FString, uint16> ReceivedFormatVersionMap;
InputFile << ReceivedFormatVersionMap;
VerifyFormatVersions(ReceivedFormatVersionMap);
// Individual jobs
{
int32 SingleJobHeader = ShaderCompileWorkerSingleJobHeader;
InputFile << SingleJobHeader;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if (ShaderCompileWorkerSingleJobHeader != SingleJobHeader)
{
ExitWithoutCrash(ESCWErrorCode::BadSingleJobHeader, FString::Printf(TEXT("Exiting due to ShaderCompilerWorker expecting job header %d, got %d instead! Did you forget to build ShaderCompilerWorker?"), ShaderCompileWorkerSingleJobHeader, SingleJobHeader));
}
int32 NumBatches = 0;
InputFile << NumBatches;
// Flush cache, to make sure we load the latest version of the input file.
// (Otherwise quick changes to a shader file can result in the wrong output.)
FlushShaderFileCache();
for (int32 BatchIndex = 0; BatchIndex < NumBatches; BatchIndex++)
{
// Deserialize the job's inputs.
FShaderCompilerInput CompilerInput;
InputFile << CompilerInput;
if (IsValidRef(CompilerInput.SharedEnvironment))
{
// Merge the shared environment into the per-shader environment before calling into the compile function
CompilerInput.Environment.Merge(*CompilerInput.SharedEnvironment);
}
// Process the job.
FShaderCompilerOutput CompilerOutput;
ProcessCompilationJob(CompilerInput, CompilerOutput, WorkingDirectory);
// Serialize the job's output.
FJobResult& JobResult = *new(OutSingleJobResults) FJobResult;
JobResult.CompilerOutput = CompilerOutput;
}
}
// Shader pipeline jobs
{
int32 PipelineJobHeader = ShaderCompileWorkerPipelineJobHeader;
InputFile << PipelineJobHeader;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if (ShaderCompileWorkerPipelineJobHeader != PipelineJobHeader)
{
ExitWithoutCrash(ESCWErrorCode::BadPipelineJobHeader, FString::Printf(TEXT("Exiting due to ShaderCompilerWorker expecting pipeline job header %d, got %d instead! Did you forget to build ShaderCompilerWorker?"), ShaderCompileWorkerSingleJobHeader, PipelineJobHeader));
}
int32 NumPipelines = 0;
InputFile << NumPipelines;
for (int32 Index = 0; Index < NumPipelines; ++Index)
{
FPipelineJobResult& PipelineJob = *new(OutPipelineJobResults) FPipelineJobResult;
InputFile << PipelineJob.PipelineName;
int32 NumStages = 0;
InputFile << NumStages;
TArray<FShaderCompilerInput> CompilerInputs;
CompilerInputs.AddDefaulted(NumStages);
for (int32 StageIndex = 0; StageIndex < NumStages; ++StageIndex)
{
// Deserialize the job's inputs.
InputFile << CompilerInputs[StageIndex];
if (IsValidRef(CompilerInputs[StageIndex].SharedEnvironment))
{
// Merge the shared environment into the per-shader environment before calling into the compile function
CompilerInputs[StageIndex].Environment.Merge(*CompilerInputs[StageIndex].SharedEnvironment);
}
}
ProcessShaderPipelineCompilationJob(PipelineJob, CompilerInputs);
}
}
}
void ProcessShaderPipelineCompilationJob(FPipelineJobResult& PipelineJob, TArray<FShaderCompilerInput>& CompilerInputs)
{
checkf(CompilerInputs.Num() > 0, TEXT("Exiting due to Pipeline %s having zero jobs!"), *PipelineJob.PipelineName);
// Process the job.
FShaderCompilerOutput FirstCompilerOutput;
CompilerInputs[0].bCompilingForShaderPipeline = true;
CompilerInputs[0].bIncludeUsedOutputs = false;
ProcessCompilationJob(CompilerInputs[0], FirstCompilerOutput, WorkingDirectory);
// Serialize the job's output.
{
FJobResult& JobResult = *new(PipelineJob.SingleJobs) FJobResult;
JobResult.CompilerOutput = FirstCompilerOutput;
}
bool bEnableRemovingUnused = true;
//#todo-rco: Only remove for pure VS & PS stages
for (int32 Index = 0; Index < CompilerInputs.Num(); ++Index)
{
auto Stage = CompilerInputs[Index].Target.Frequency;
if (Stage != SF_Vertex && Stage != SF_Pixel)
{
bEnableRemovingUnused = false;
break;
}
}
for (int32 Index = 1; Index < CompilerInputs.Num(); ++Index)
{
if (bEnableRemovingUnused && PipelineJob.SingleJobs.Last().CompilerOutput.bSupportsQueryingUsedAttributes)
{
CompilerInputs[Index].bIncludeUsedOutputs = true;
CompilerInputs[Index].bCompilingForShaderPipeline = true;
CompilerInputs[Index].UsedOutputs = PipelineJob.SingleJobs.Last().CompilerOutput.UsedAttributes;
}
FShaderCompilerOutput CompilerOutput;
ProcessCompilationJob(CompilerInputs[Index], CompilerOutput, WorkingDirectory);
// Serialize the job's output.
FJobResult& JobResult = *new(PipelineJob.SingleJobs) FJobResult;
JobResult.CompilerOutput = CompilerOutput;
}
}
FArchive* CreateOutputArchive()
{
FArchive* OutputFilePtr = nullptr;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
const double StartTime = FPlatformTime::Seconds();
bool bResult = false;
// It seems XGE does not support deleting files.
// Don't delete the input file if we are running under Incredibuild.
// Instead, we signal completion by creating a zero byte "Success" file after the output file has been fully written.
if (!GShaderCompileUseXGE)
{
do
{
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
// Remove the input file so that it won't get processed more than once
bResult = IFileManager::Get().Delete(*InputFilePath);
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
while (!bResult && (FPlatformTime::Seconds() - StartTime < 2));
if (!bResult)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash(ESCWErrorCode::CantDeleteInputFile, FString::Printf(TEXT("Couldn't delete input file %s, is it readonly?"), *InputFilePath));
}
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
// To make sure that the process waiting for results won't read unfinished output file,
// we use a temp file name during compilation.
do
{
FGuid Guid;
FPlatformMisc::CreateGuid(Guid);
TempFilePath = WorkingDirectory + Guid.ToString();
} while (IFileManager::Get().FileSize(*TempFilePath) != INDEX_NONE);
const double StartTime2 = FPlatformTime::Seconds();
do
{
// Create the output file.
OutputFilePtr = IFileManager::Get().CreateFileWriter(*TempFilePath,FILEWRITE_EvenIfReadOnly);
}
while (!OutputFilePtr && (FPlatformTime::Seconds() - StartTime2 < 2));
if (!OutputFilePtr)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash(ESCWErrorCode::CantSaveOutputFile, FString::Printf(TEXT("Couldn't save output file %s"), *TempFilePath));
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
}
return OutputFilePtr;
}
void WriteToOutputArchive(FArchive* OutputFilePtr, TArray<FJobResult>& SingleJobResults, TArray<FPipelineJobResult>& PipelineJobResults)
{
FArchive& OutputFile = *OutputFilePtr;
int32 OutputVersion = ShaderCompileWorkerOutputVersion;
OutputFile << OutputVersion;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
int32 ErrorCode = (int32)ESCWErrorCode::Success;
OutputFile << ErrorCode;
int32 ErrorStringLength = 0;
OutputFile << ErrorStringLength;
OutputFile << ErrorStringLength;
{
int32 SingleJobHeader = ShaderCompileWorkerSingleJobHeader;
OutputFile << SingleJobHeader;
int32 NumBatches = SingleJobResults.Num();
OutputFile << NumBatches;
for (int32 ResultIndex = 0; ResultIndex < SingleJobResults.Num(); ResultIndex++)
{
FJobResult& JobResult = SingleJobResults[ResultIndex];
OutputFile << JobResult.CompilerOutput;
}
}
{
int32 PipelineJobHeader = ShaderCompileWorkerPipelineJobHeader;
OutputFile << PipelineJobHeader;
int32 NumBatches = PipelineJobResults.Num();
OutputFile << NumBatches;
for (int32 ResultIndex = 0; ResultIndex < PipelineJobResults.Num(); ResultIndex++)
{
auto& PipelineJob = PipelineJobResults[ResultIndex];
OutputFile << PipelineJob.PipelineName;
int32 NumStageJobs = PipelineJob.SingleJobs.Num();
OutputFile << NumStageJobs;
for (int32 Index = 0; Index < NumStageJobs; ++Index)
{
FJobResult& JobResult = PipelineJob.SingleJobs[Index];
OutputFile << JobResult.CompilerOutput;
}
}
}
}
/** Called in the idle loop, checks for conditions under which the helper should exit */
void CheckExitConditions()
{
if (!InputFilename.Contains(TEXT("Only")))
{
UE_LOG(LogShaders, Log, TEXT("InputFilename did not contain 'Only', exiting after one job."));
FPlatformMisc::RequestExit(false);
}
#if PLATFORM_MAC || PLATFORM_LINUX
if (!FPlatformMisc::IsDebuggerPresent() && ParentProcessId > 0)
{
// If the parent process is no longer running, exit
if (!FPlatformProcess::IsApplicationRunning(ParentProcessId))
{
FString FilePath = FString(WorkingDirectory) + InputFilename;
checkf(IFileManager::Get().FileSize(*FilePath) == INDEX_NONE, TEXT("Exiting due to the parent process no longer running and the input file is present!"));
UE_LOG(LogShaders, Log, TEXT("Parent process no longer running, exiting"));
FPlatformMisc::RequestExit(false);
}
}
const double CurrentTime = FPlatformTime::Seconds();
// If we have been idle for 20 seconds then exit
if (CurrentTime - LastCompileTime > 20.0)
{
UE_LOG(LogShaders, Log, TEXT("No jobs found for 20 seconds, exiting"));
FPlatformMisc::RequestExit(false);
}
#else
// Don't do these if the debugger is present
//@todo - don't do these if Unreal is being debugged either
if (!IsDebuggerPresent())
{
if (ParentProcessId > 0)
{
FString FilePath = FString(WorkingDirectory) + InputFilename;
bool bParentStillRunning = true;
HANDLE ParentProcessHandle = OpenProcess(SYNCHRONIZE, false, ParentProcessId);
// If we couldn't open the process then it is no longer running, exit
if (ParentProcessHandle == nullptr)
{
checkf(IFileManager::Get().FileSize(*FilePath) == INDEX_NONE, TEXT("Exiting due to OpenProcess(ParentProcessId) failing and the input file is present!"));
UE_LOG(LogShaders, Log, TEXT("Couldn't OpenProcess, Parent process no longer running, exiting"));
FPlatformMisc::RequestExit(false);
}
else
{
// If we did open the process, that doesn't mean it is still running
// The process object stays alive as long as there are handles to it
// We need to check if the process has signaled, which indicates that it has exited
uint32 WaitResult = WaitForSingleObject(ParentProcessHandle, 0);
if (WaitResult != WAIT_TIMEOUT)
{
checkf(IFileManager::Get().FileSize(*FilePath) == INDEX_NONE, TEXT("Exiting due to WaitForSingleObject(ParentProcessHandle) signaling and the input file is present!"));
UE_LOG(LogShaders, Log, TEXT("WaitForSingleObject signaled, Parent process no longer running, exiting"));
FPlatformMisc::RequestExit(false);
}
CloseHandle(ParentProcessHandle);
}
}
const double CurrentTime = FPlatformTime::Seconds();
// If we have been idle for 20 seconds then exit
if (CurrentTime - LastCompileTime > 20.0)
{
UE_LOG(LogShaders, Log, TEXT("No jobs found for 20 seconds, exiting"));
FPlatformMisc::RequestExit(false);
}
}
#endif
}
};
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
static FName NAME_PCD3D_SM5(TEXT("PCD3D_SM5"));
static FName NAME_PCD3D_SM4(TEXT("PCD3D_SM4"));
static FName NAME_PCD3D_ES3_1(TEXT("PCD3D_ES31"));
static FName NAME_PCD3D_ES2(TEXT("PCD3D_ES2"));
static FName NAME_GLSL_150(TEXT("GLSL_150"));
static FName NAME_GLSL_150_MAC(TEXT("GLSL_150_MAC"));
static FName NAME_SF_PS4(TEXT("SF_PS4"));
static FName NAME_SF_XBOXONE(TEXT("SF_XBOXONE"));
static FName NAME_GLSL_430(TEXT("GLSL_430"));
static FName NAME_GLSL_150_ES2(TEXT("GLSL_150_ES2"));
static FName NAME_GLSL_150_ES2_NOUB(TEXT("GLSL_150_ES2_NOUB"));
static FName NAME_GLSL_150_ES31(TEXT("GLSL_150_ES31"));
static FName NAME_GLSL_ES2(TEXT("GLSL_ES2"));
static FName NAME_GLSL_ES2_WEBGL(TEXT("GLSL_ES2_WEBGL"));
static FName NAME_GLSL_ES2_IOS(TEXT("GLSL_ES2_IOS"));
static FName NAME_SF_METAL(TEXT("SF_METAL"));
static FName NAME_SF_METAL_MRT(TEXT("SF_METAL_MRT"));
static FName NAME_GLSL_310_ES_EXT(TEXT("GLSL_310_ES_EXT"));
static FName NAME_SF_METAL_SM5(TEXT("SF_METAL_SM5"));
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Rendering @ 2943238) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2932679 on 2016/04/04 by Martin.Mittring remove hack/cvar that is not longer needed as we fixed the bug #rb:Bob.Tellez #code_review:Bob.Tellez Change 2932681 on 2016/04/04 by Martin.Mittring fixed cvars in consolevariables.ini can affect engine even if marked with cheat (no longer load consolevariables.ini in shipping and test), unified 3 code path, added testcase, cvars with cheat in ini file other than consolevariables.ini now trigger ensure, =on/off/true/false/.. works in all ini files, added enure if non scalability setting are used in ScalabilityIni (get now ignored) #rb:David.Hill #code_review:Marcus.Wassmer, Michael.Noland Change 2932719 on 2016/04/04 by Marcus.Wassmer Merge 3 band SH back to DevRendering #rb Daniel.Wright Change 2932760 on 2016/04/04 by Zabir.Hoque Migrating high resolution cubemaps for skylight and reflection probes. #rb: Daniel.Wright Change 2933121 on 2016/04/05 by Rolando.Caloca DR - vk - Fix free blocks not getting joined - Fix compile issue Change 2933122 on 2016/04/05 by Rolando.Caloca DR - Do not shorten dumped shaders path Change 2933126 on 2016/04/05 by Rolando.Caloca DR - vk - Index Buffers using new resource management Change 2933127 on 2016/04/05 by Rolando.Caloca DR - vk - Extract multibuffer off index buffer Change 2933131 on 2016/04/05 by Rolando.Caloca DR - vk - Transition to vb's using mutlibuffer Change 2933136 on 2016/04/05 by Rolando.Caloca DR - vk - Change staging buffers to use resource allocation system - Fix free block not getting joined - Remove define Change 2933140 on 2016/04/05 by Rolando.Caloca DR - vk - 'static' textures now use resource mgmt - Release free pages back to the OS - Remove ensure Change 2933152 on 2016/04/05 by Rolando.Caloca DR - vk - Fix aliasing granularity - Fix renderpass end/copy buffer ensure Change 2933155 on 2016/04/05 by Rolando.Caloca DR - SCW - Fix for -directcompile to directly load file for preprocessor Change 2933158 on 2016/04/05 by Rolando.Caloca DR - hlslcc - Error on Metal if trying to R & W on RWTextures - Fix indices on RW reads to be unsigned #codereview Mark.Satterthwaite, Michael.Trepka Change 2933169 on 2016/04/05 by Rolando.Caloca DR - vk - Move header to public to match changes on DevMobile Change 2933173 on 2016/04/05 by David.Hill Deferred decal rendering with negative scale #rb:Matrin.Mittring #jira:UE-27389 Change 2933273 on 2016/04/05 by Rolando.Caloca DR - vk - Fix renderdoc markers Change 2933274 on 2016/04/05 by Rolando.Caloca DR - Support for -AttachDebugger Change 2933316 on 2016/04/05 by Rolando.Caloca DR - vk - Compile fix whene enabling define Change 2933334 on 2016/04/05 by Rolando.Caloca DR - Compile fix #codereview Martin.Mittring Change 2933805 on 2016/04/05 by Brian.Karis Temporal AA dynamic antighosting. Fixed DOF Change 2933811 on 2016/04/05 by Brian.Karis Fixed area light NaNs. Improvements to area lights. Horizen handling for wrap around. Change 2933812 on 2016/04/05 by Brian.Karis Fixed fresnel on SSS skin. Change 2933813 on 2016/04/05 by Brian.Karis Tessellation fix Change 2933816 on 2016/04/05 by Brian.Karis Improved forward shading support [CL 2943241 by Gil Gribb in Main branch]
2016-04-13 21:24:38 -04:00
static FName NAME_VULKAN_ES3_1_ANDROID(TEXT("SF_VULKAN_ES31_ANDROID"));
static FName NAME_VULKAN_ES3_1(TEXT("SF_VULKAN_ES31"));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3185985) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3170391 on 2016/10/21 by Ben.Woodhouse Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens. #jira UE-37437 #fyi rolando.caloca, marcus.wassmer Change 3170659 on 2016/10/21 by Rolando.Caloca DR - vk - Prep work for state key changes Change 3170676 on 2016/10/21 by Rolando.Caloca DR - vk - Reworked blend state keys - Added depth/stencil to pipeline key Change 3170848 on 2016/10/21 by Daniel.Wright Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden. Change 3170849 on 2016/10/21 by Daniel.Wright Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear Change 3170995 on 2016/10/21 by Rolando.Caloca DR - vk - Show object on vulkan validation msgs Change 3171085 on 2016/10/21 by Rolando.Caloca DR - vk - Fix pipelines being used with incompatible renderpasses Change 3171159 on 2016/10/21 by Rolando.Caloca DR - vk - Fix layout when reading textures on CPU Change 3171167 on 2016/10/21 by Rolando.Caloca DR - vk - compile fix Change 3172462 on 2016/10/24 by Daniel.Wright Added a warning about shader compile times to the material tooltip Change 3172463 on 2016/10/24 by Daniel.Wright Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh Change 3172716 on 2016/10/24 by Brian.Karis Fix for crash UE-37369 when reimporting over a generated LOD. Change 3172967 on 2016/10/24 by Rolando.Caloca DR - vk - Fix writing buffers while GPU was using them Change 3174187 on 2016/10/25 by Olaf.Piesche UE-37020 Change 3174718 on 2016/10/26 by Rolando.Caloca DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k Change 3175960 on 2016/10/26 by Rolando.Caloca DR - Added support for hlslcc header to have custom parsing Change 3176611 on 2016/10/27 by David.Hill DrawWireCone confusion: In response to a UDN, I'm updating confusing parameter names and comments for DrawWireCone() and DrawWireSphereCappedCone() Change 3177111 on 2016/10/27 by Rolando.Caloca DR - vk - Fix timestamps for frame Change 3177192 on 2016/10/27 by Arne.Schober DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState Change 3177278 on 2016/10/27 by Olaf.Piesche UE-37484 Change 3177297 on 2016/10/27 by Rolando.Caloca DR - vk - Enable GRHISupportsBaseVertexIndex Change 3177607 on 2016/10/27 by Rolando.Caloca DR - vk - SM4 UB prep Change 3178052 on 2016/10/28 by Arne.Schober DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition. Change 3178156 on 2016/10/28 by Rolando.Caloca DR - vk - Added query timer - Fixed inline issues Change 3178158 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for out of stencil bits Change 3178462 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for Elemental Change 3179131 on 2016/10/28 by Rolando.Caloca DR - vk - Fix for r.Vulkan.UseRealUBs Change 3179139 on 2016/10/28 by Rolando.Caloca DR - vk - Move UB ring buffer to context Change 3179145 on 2016/10/28 by Rolando.Caloca DR - vk - Fix buffer barriers Change 3179888 on 2016/10/31 by Rolando.Caloca DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD Change 3179923 on 2016/10/31 by Rolando.Caloca DR - vk - Wait for swapchain counter Change 3180430 on 2016/10/31 by Rolando.Caloca DR - vk - Properly wait for occlusion queries/cmd buffer - Actual log error if trying to use occlusion queries out of order Change 3180746 on 2016/10/31 by Rolando.Caloca DR - vk - Undo some waiting as it was on the wrong thread Change 3182115 on 2016/11/01 by Rolando.Caloca DR - hlslcc Linux path fix Change 3182118 on 2016/11/01 by Daniel.Wright Fixed global distance field seam artifacts from landscapes with no subsections Change 3182368 on 2016/11/01 by Daniel.Wright Dynamic Indirect Shadows for static meshes using distance fields * These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost * Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project * New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility * New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar * The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation * DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues. Change 3182408 on 2016/11/01 by Rolando.Caloca DR - vk - Reworked occlusion queries, fixes flickering on AMD Change 3182585 on 2016/11/01 by Daniel.Wright PS4 compile fix Change 3183151 on 2016/11/02 by Rolando.Caloca DR - vk - Fix issue when processing super quick cmd buffers Change 3183160 on 2016/11/02 by Rolando.Caloca Dr - vk - Call reset queries outside render pass Change 3183182 on 2016/11/02 by Rolando.Caloca DR - Switch clear Change 3183194 on 2016/11/02 by Rolando.Caloca DR - Try to catch crash ahead of time Change 3183268 on 2016/11/02 by Rolando.Caloca DR - vk - Rename RenderPassState to TransitionState Change 3183440 on 2016/11/02 by Daniel.Wright Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow' Change 3183793 on 2016/11/02 by Daniel.Wright Added ShadowResolutionScale to lightcomponent Change 3183796 on 2016/11/02 by Daniel.Wright Improved bSimulatePhysics comment, with info on why it might be greyed out Change 3183797 on 2016/11/02 by Daniel.Wright Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization. Change 3183915 on 2016/11/02 by Rolando.Caloca DR - vk - Remove redundant renderpasses Change 3183991 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3184001 on 2016/11/02 by Daniel.Wright Better draw event for IndirectCapsuleShadows in stereo Change 3184096 on 2016/11/02 by Chris.Bunner HDR for D3D11 - NVAPI toggle and encoding, UI compositing. Removed some outdated tonemamping cvars and modes. Change 3184399 on 2016/11/02 by Daniel.Wright Static analysis workaround Change 3184455 on 2016/11/02 by Mark.Satterthwaite Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration. #jira UE-38164 Change 3184953 on 2016/11/03 by Chris.Bunner Fixing CIS warnings. [CL 3186011 by Marcus Wassmer in Main branch]
2016-11-03 16:55:27 -04:00
static FName NAME_VULKAN_SM4_UB(TEXT("SF_VULKAN_SM4_UB"));
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
static FName NAME_VULKAN_SM4(TEXT("SF_VULKAN_SM4"));
static FName NAME_VULKAN_SM5(TEXT("SF_VULKAN_SM5"));
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
static FName NAME_SF_METAL_SM4(TEXT("SF_METAL_SM4"));
Merging //UE4/Release-4.11 to //UE4/Main (Up to 2874930) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2868448 on 2016/02/16 by Mark.Satterthwaite Bring MetalRHI & MetalShaderFormat mostly up to Dev-Platform CL #2867146 to address JIRA UE-26181 and as the first part of addressing JIRA UE-23208. Only CL #2854142 has been omitted for compatibility with the 4.11 branch. #jira UE-26181 Change 2868454 on 2016/02/16 by Mark.Satterthwaite Shader changes necessary to properly fix Mobile Preview under Mac Metal (JIRA UE-23208) - Mac ES 3.1 doesn't support framebuffer fetch & is in fact a Mobile Emulation shader platform. #jira UE-23208 Change 2868650 on 2016/02/16 by Matthew.Griffin Allow Developer modules to be pre-compiled when the target is editor. #jira UE-26802 Change 2868859 on 2016/02/16 by Nick.Whiting Merging StereoPanorama fixes from Main to Release-4.11 (CL 2811839) #jira UE-25066 Change 2868927 on 2016/02/16 by Mieszko.Zielinski Fixed some regular-use crashes in LogVisualizer #UE4 #rb Lukasz.Furman #jira UE-27003 Change 2868994 on 2016/02/16 by Lina.Halper Fix refresh UI issue with remove joint #jira : UE-26529 #rb: Martin.Wilson Change 2868996 on 2016/02/16 by Lina.Halper Fix node stop working when negative value of LODThreshold #jira: UE-26828 #rb:Martin.Wilson Change 2868998 on 2016/02/16 by Lina.Halper Fix with crash when invalid index has entered #jira : UE-26715 #rb : Martin.Wilson Change 2869003 on 2016/02/16 by Ori.Cohen - Fix thread safety issue when cloth child collision or environment collision is used. - Fix cloth bounds growing when stale transform data is used. #JIRA OR-14990 #rb James.Golding Change 2869109 on 2016/02/16 by mason.seay Updated test assets for Restitution testing #jira UE-24473 Change 2869223 on 2016/02/16 by Taizyd.Korambayil #jira UE-19083 Disabled LOD on SkySphere BP Change 2869558 on 2016/02/16 by Dan.Oconnor Conservative fix for crash that occurs when adding a weak object ptr to an array of object ptrs in a blueprint #jira UE-25893 Change 2869891 on 2016/02/17 by Thomas.Sarkanen Fix crash when re-compiling anim BPs that are dependencies of 'parent' Blueprints Force a re-initialzation of nodes when initializing the whole anim instance. The bInitialized flag was intended as a runtime optimization - we assume our function will not change for the lifetime of the UAnimInstance. While parts of the graph will be re-initialized we dont need to re-acquire our UFunction ptrs (etc.) unless the whole instance is getting re-initialized. #rb Martin.Wilson #jira UE-26642 - Switch Skeletal Mesh node crashes the editor if the blueprint is compiled. Change 2869956 on 2016/02/17 by Tim.Hobson #Jira UE-26550 - Added three new icons for Arrow, Locked, and Unlocked per request from IanS. Change 2869965 on 2016/02/17 by Gareth.Martin Fix check() being hit when loading KiteDemo x1_y1 (and other old foliage maps) #jira UE-26930 Change 2870007 on 2016/02/17 by Richard.TalbotWatkin Merging from //UE4/Dev-Editor CL 2867609 Fixed auto-generation of unique object/package names when duplicating, so they generate the same names if they the source object was named the same as its package. #jira UE-25769 - Crash when Copy+Pasting numbered umaps in the content browser #RB Bob.Tellez Change 2870072 on 2016/02/17 by Michael.Schoell Level Blueprints will no longer preload newly created Blueprints that they reference when they are reloaded. #jira UE-23637 - Use of Blueprint delegate in sub-level script causes errors on startup Change 2870087 on 2016/02/17 by Matthew.Griffin Removed Android and IOS from list of platforms to build only for UnrealMatch3, so that they can be cooked and packaged correctly. Change 2870141 on 2016/02/17 by mason.seay Test content for Copy Pose From Mesh #jira UE-24473 Change 2870195 on 2016/02/17 by Mieszko.Zielinski PR #2052: Added missing Super::BeginPlay() (Contributed by Skylonxe) #jira UE-26915 Change 2870325 on 2016/02/17 by Steve.Robb [CL 2882948 by Matthew Griffin in Main branch]
2016-02-26 05:49:37 -05:00
static FName NAME_SF_METAL_MACES3_1(TEXT("SF_METAL_MACES3_1"));
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
static FName NAME_GLSL_ES3_1_ANDROID(TEXT("GLSL_ES3_1_ANDROID"));
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
static EShaderPlatform FormatNameToEnum(FName ShaderFormat)
{
if (ShaderFormat == NAME_PCD3D_SM5) return SP_PCD3D_SM5;
if (ShaderFormat == NAME_PCD3D_SM4) return SP_PCD3D_SM4;
if (ShaderFormat == NAME_PCD3D_ES3_1) return SP_PCD3D_ES3_1;
if (ShaderFormat == NAME_PCD3D_ES2) return SP_PCD3D_ES2;
if (ShaderFormat == NAME_GLSL_150) return SP_OPENGL_SM4;
if (ShaderFormat == NAME_GLSL_150_MAC) return SP_OPENGL_SM4_MAC;
if (ShaderFormat == NAME_SF_PS4) return SP_PS4;
if (ShaderFormat == NAME_SF_XBOXONE) return SP_XBOXONE;
if (ShaderFormat == NAME_GLSL_430) return SP_OPENGL_SM5;
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
if (ShaderFormat == NAME_GLSL_150_ES2) return SP_OPENGL_PCES2;
if (ShaderFormat == NAME_GLSL_150_ES2_NOUB) return SP_OPENGL_PCES2;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
if (ShaderFormat == NAME_GLSL_150_ES31) return SP_OPENGL_PCES3_1;
if (ShaderFormat == NAME_GLSL_ES2) return SP_OPENGL_ES2_ANDROID;
if (ShaderFormat == NAME_GLSL_ES2_WEBGL) return SP_OPENGL_ES2_WEBGL;
if (ShaderFormat == NAME_GLSL_ES2_IOS) return SP_OPENGL_ES2_IOS;
if (ShaderFormat == NAME_SF_METAL) return SP_METAL;
if (ShaderFormat == NAME_SF_METAL_MRT) return SP_METAL_MRT;
if (ShaderFormat == NAME_GLSL_310_ES_EXT) return SP_OPENGL_ES31_EXT;
if (ShaderFormat == NAME_SF_METAL_SM5) return SP_METAL_SM5;
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
if (ShaderFormat == NAME_VULKAN_SM4) return SP_VULKAN_SM4;
if (ShaderFormat == NAME_VULKAN_SM5) return SP_VULKAN_SM5;
if (ShaderFormat == NAME_VULKAN_ES3_1_ANDROID) return SP_VULKAN_ES3_1_ANDROID;
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
if (ShaderFormat == NAME_VULKAN_ES3_1) return SP_VULKAN_PCES3_1;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3185985) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3170391 on 2016/10/21 by Ben.Woodhouse Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens. #jira UE-37437 #fyi rolando.caloca, marcus.wassmer Change 3170659 on 2016/10/21 by Rolando.Caloca DR - vk - Prep work for state key changes Change 3170676 on 2016/10/21 by Rolando.Caloca DR - vk - Reworked blend state keys - Added depth/stencil to pipeline key Change 3170848 on 2016/10/21 by Daniel.Wright Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden. Change 3170849 on 2016/10/21 by Daniel.Wright Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear Change 3170995 on 2016/10/21 by Rolando.Caloca DR - vk - Show object on vulkan validation msgs Change 3171085 on 2016/10/21 by Rolando.Caloca DR - vk - Fix pipelines being used with incompatible renderpasses Change 3171159 on 2016/10/21 by Rolando.Caloca DR - vk - Fix layout when reading textures on CPU Change 3171167 on 2016/10/21 by Rolando.Caloca DR - vk - compile fix Change 3172462 on 2016/10/24 by Daniel.Wright Added a warning about shader compile times to the material tooltip Change 3172463 on 2016/10/24 by Daniel.Wright Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh Change 3172716 on 2016/10/24 by Brian.Karis Fix for crash UE-37369 when reimporting over a generated LOD. Change 3172967 on 2016/10/24 by Rolando.Caloca DR - vk - Fix writing buffers while GPU was using them Change 3174187 on 2016/10/25 by Olaf.Piesche UE-37020 Change 3174718 on 2016/10/26 by Rolando.Caloca DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k Change 3175960 on 2016/10/26 by Rolando.Caloca DR - Added support for hlslcc header to have custom parsing Change 3176611 on 2016/10/27 by David.Hill DrawWireCone confusion: In response to a UDN, I'm updating confusing parameter names and comments for DrawWireCone() and DrawWireSphereCappedCone() Change 3177111 on 2016/10/27 by Rolando.Caloca DR - vk - Fix timestamps for frame Change 3177192 on 2016/10/27 by Arne.Schober DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState Change 3177278 on 2016/10/27 by Olaf.Piesche UE-37484 Change 3177297 on 2016/10/27 by Rolando.Caloca DR - vk - Enable GRHISupportsBaseVertexIndex Change 3177607 on 2016/10/27 by Rolando.Caloca DR - vk - SM4 UB prep Change 3178052 on 2016/10/28 by Arne.Schober DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition. Change 3178156 on 2016/10/28 by Rolando.Caloca DR - vk - Added query timer - Fixed inline issues Change 3178158 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for out of stencil bits Change 3178462 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for Elemental Change 3179131 on 2016/10/28 by Rolando.Caloca DR - vk - Fix for r.Vulkan.UseRealUBs Change 3179139 on 2016/10/28 by Rolando.Caloca DR - vk - Move UB ring buffer to context Change 3179145 on 2016/10/28 by Rolando.Caloca DR - vk - Fix buffer barriers Change 3179888 on 2016/10/31 by Rolando.Caloca DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD Change 3179923 on 2016/10/31 by Rolando.Caloca DR - vk - Wait for swapchain counter Change 3180430 on 2016/10/31 by Rolando.Caloca DR - vk - Properly wait for occlusion queries/cmd buffer - Actual log error if trying to use occlusion queries out of order Change 3180746 on 2016/10/31 by Rolando.Caloca DR - vk - Undo some waiting as it was on the wrong thread Change 3182115 on 2016/11/01 by Rolando.Caloca DR - hlslcc Linux path fix Change 3182118 on 2016/11/01 by Daniel.Wright Fixed global distance field seam artifacts from landscapes with no subsections Change 3182368 on 2016/11/01 by Daniel.Wright Dynamic Indirect Shadows for static meshes using distance fields * These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost * Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project * New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility * New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar * The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation * DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues. Change 3182408 on 2016/11/01 by Rolando.Caloca DR - vk - Reworked occlusion queries, fixes flickering on AMD Change 3182585 on 2016/11/01 by Daniel.Wright PS4 compile fix Change 3183151 on 2016/11/02 by Rolando.Caloca DR - vk - Fix issue when processing super quick cmd buffers Change 3183160 on 2016/11/02 by Rolando.Caloca Dr - vk - Call reset queries outside render pass Change 3183182 on 2016/11/02 by Rolando.Caloca DR - Switch clear Change 3183194 on 2016/11/02 by Rolando.Caloca DR - Try to catch crash ahead of time Change 3183268 on 2016/11/02 by Rolando.Caloca DR - vk - Rename RenderPassState to TransitionState Change 3183440 on 2016/11/02 by Daniel.Wright Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow' Change 3183793 on 2016/11/02 by Daniel.Wright Added ShadowResolutionScale to lightcomponent Change 3183796 on 2016/11/02 by Daniel.Wright Improved bSimulatePhysics comment, with info on why it might be greyed out Change 3183797 on 2016/11/02 by Daniel.Wright Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization. Change 3183915 on 2016/11/02 by Rolando.Caloca DR - vk - Remove redundant renderpasses Change 3183991 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3184001 on 2016/11/02 by Daniel.Wright Better draw event for IndirectCapsuleShadows in stereo Change 3184096 on 2016/11/02 by Chris.Bunner HDR for D3D11 - NVAPI toggle and encoding, UI compositing. Removed some outdated tonemamping cvars and modes. Change 3184399 on 2016/11/02 by Daniel.Wright Static analysis workaround Change 3184455 on 2016/11/02 by Mark.Satterthwaite Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration. #jira UE-38164 Change 3184953 on 2016/11/03 by Chris.Bunner Fixing CIS warnings. [CL 3186011 by Marcus Wassmer in Main branch]
2016-11-03 16:55:27 -04:00
if (ShaderFormat == NAME_VULKAN_SM4_UB) return SP_VULKAN_SM4;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
if (ShaderFormat == NAME_SF_METAL_SM4) return SP_METAL_SM4;
Merging //UE4/Release-4.11 to //UE4/Main (Up to 2874930) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2868448 on 2016/02/16 by Mark.Satterthwaite Bring MetalRHI & MetalShaderFormat mostly up to Dev-Platform CL #2867146 to address JIRA UE-26181 and as the first part of addressing JIRA UE-23208. Only CL #2854142 has been omitted for compatibility with the 4.11 branch. #jira UE-26181 Change 2868454 on 2016/02/16 by Mark.Satterthwaite Shader changes necessary to properly fix Mobile Preview under Mac Metal (JIRA UE-23208) - Mac ES 3.1 doesn't support framebuffer fetch & is in fact a Mobile Emulation shader platform. #jira UE-23208 Change 2868650 on 2016/02/16 by Matthew.Griffin Allow Developer modules to be pre-compiled when the target is editor. #jira UE-26802 Change 2868859 on 2016/02/16 by Nick.Whiting Merging StereoPanorama fixes from Main to Release-4.11 (CL 2811839) #jira UE-25066 Change 2868927 on 2016/02/16 by Mieszko.Zielinski Fixed some regular-use crashes in LogVisualizer #UE4 #rb Lukasz.Furman #jira UE-27003 Change 2868994 on 2016/02/16 by Lina.Halper Fix refresh UI issue with remove joint #jira : UE-26529 #rb: Martin.Wilson Change 2868996 on 2016/02/16 by Lina.Halper Fix node stop working when negative value of LODThreshold #jira: UE-26828 #rb:Martin.Wilson Change 2868998 on 2016/02/16 by Lina.Halper Fix with crash when invalid index has entered #jira : UE-26715 #rb : Martin.Wilson Change 2869003 on 2016/02/16 by Ori.Cohen - Fix thread safety issue when cloth child collision or environment collision is used. - Fix cloth bounds growing when stale transform data is used. #JIRA OR-14990 #rb James.Golding Change 2869109 on 2016/02/16 by mason.seay Updated test assets for Restitution testing #jira UE-24473 Change 2869223 on 2016/02/16 by Taizyd.Korambayil #jira UE-19083 Disabled LOD on SkySphere BP Change 2869558 on 2016/02/16 by Dan.Oconnor Conservative fix for crash that occurs when adding a weak object ptr to an array of object ptrs in a blueprint #jira UE-25893 Change 2869891 on 2016/02/17 by Thomas.Sarkanen Fix crash when re-compiling anim BPs that are dependencies of 'parent' Blueprints Force a re-initialzation of nodes when initializing the whole anim instance. The bInitialized flag was intended as a runtime optimization - we assume our function will not change for the lifetime of the UAnimInstance. While parts of the graph will be re-initialized we dont need to re-acquire our UFunction ptrs (etc.) unless the whole instance is getting re-initialized. #rb Martin.Wilson #jira UE-26642 - Switch Skeletal Mesh node crashes the editor if the blueprint is compiled. Change 2869956 on 2016/02/17 by Tim.Hobson #Jira UE-26550 - Added three new icons for Arrow, Locked, and Unlocked per request from IanS. Change 2869965 on 2016/02/17 by Gareth.Martin Fix check() being hit when loading KiteDemo x1_y1 (and other old foliage maps) #jira UE-26930 Change 2870007 on 2016/02/17 by Richard.TalbotWatkin Merging from //UE4/Dev-Editor CL 2867609 Fixed auto-generation of unique object/package names when duplicating, so they generate the same names if they the source object was named the same as its package. #jira UE-25769 - Crash when Copy+Pasting numbered umaps in the content browser #RB Bob.Tellez Change 2870072 on 2016/02/17 by Michael.Schoell Level Blueprints will no longer preload newly created Blueprints that they reference when they are reloaded. #jira UE-23637 - Use of Blueprint delegate in sub-level script causes errors on startup Change 2870087 on 2016/02/17 by Matthew.Griffin Removed Android and IOS from list of platforms to build only for UnrealMatch3, so that they can be cooked and packaged correctly. Change 2870141 on 2016/02/17 by mason.seay Test content for Copy Pose From Mesh #jira UE-24473 Change 2870195 on 2016/02/17 by Mieszko.Zielinski PR #2052: Added missing Super::BeginPlay() (Contributed by Skylonxe) #jira UE-26915 Change 2870325 on 2016/02/17 by Steve.Robb [CL 2882948 by Matthew Griffin in Main branch]
2016-02-26 05:49:37 -05:00
if (ShaderFormat == NAME_SF_METAL_MACES3_1) return SP_METAL_MACES3_1;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
if (ShaderFormat == NAME_GLSL_ES3_1_ANDROID) return SP_OPENGL_ES3_1_ANDROID;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
return SP_NumPlatforms;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
static void DirectCompile(const TArray<const class IShaderFormat*>& ShaderFormats)
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
{
// Find all the info required for compiling a single shader
TArray<FString> Tokens, Switches;
FCommandLine::Parse(FCommandLine::Get(), Tokens, Switches);
FString InputFile;
FName FormatName;
FString Entry = TEXT("Main");
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
bool bPipeline = false;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
EShaderFrequency Frequency = SF_Pixel;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
TArray<FString> UsedOutputs;
bool bIncludeUsedOutputs = false;
uint64 CFlags = 0;
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
for (const FString& Token : Tokens)
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
{
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
if (Switches.Contains(Token))
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
{
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
if (Token.StartsWith(TEXT("format=")))
{
FormatName = FName(*Token.RightChop(7));
}
else if (Token.StartsWith(TEXT("entry=")))
{
Entry = Token.RightChop(6);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
else if (Token.StartsWith(TEXT("cflags=")))
{
CFlags = FCString::Atoi64(*Token.RightChop(7));
}
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
else if (!FCString::Strcmp(*Token, TEXT("ps")))
{
Frequency = SF_Pixel;
}
else if (!FCString::Strcmp(*Token, TEXT("vs")))
{
Frequency = SF_Vertex;
}
else if (!FCString::Strcmp(*Token, TEXT("hs")))
{
Frequency = SF_Hull;
}
else if (!FCString::Strcmp(*Token, TEXT("ds")))
{
Frequency = SF_Domain;
}
else if (!FCString::Strcmp(*Token, TEXT("gs")))
{
Frequency = SF_Geometry;
}
else if (!FCString::Strcmp(*Token, TEXT("cs")))
{
Frequency = SF_Compute;
}
else if (!FCString::Strcmp(*Token, TEXT("pipeline")))
{
bPipeline = true;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
else if (Token.StartsWith(TEXT("usedoutputs=")))
{
FString Outputs = Token.RightChop(12);
bIncludeUsedOutputs = true;
FString LHS, RHS;
while (Outputs.Split(TEXT("+"), &LHS, &RHS))
{
Outputs = RHS;
UsedOutputs.Add(LHS);
}
UsedOutputs.Add(Outputs);
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
}
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
else
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
{
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
if (InputFile.Len() == 0)
{
InputFile = Token;
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
}
}
FString Dir = FPlatformProcess::UserTempDir();
FShaderCompilerInput Input;
Input.EntryPointName = Entry;
Input.ShaderFormat = FormatName;
Input.SourceFilename = InputFile;
Input.Target.Platform = FormatNameToEnum(FormatName);
Input.Target.Frequency = Frequency;
Input.bSkipPreprocessedCache = true;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
auto AddResourceTableEntry = [](TMap<FString, FResourceTableEntry>& Map, const FString& Name, const FString& UBName, int32 Type, int32 ResourceIndex)
{
FResourceTableEntry LambdaEntry;
LambdaEntry.UniformBufferName = UBName;
LambdaEntry.Type = Type;
LambdaEntry.ResourceIndex = ResourceIndex;
Map.Add(Name, LambdaEntry);
};
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
// Sample setup for Uniform Buffers as SCW does not rely on the Engine/Renderer. These change quite infrequently...
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("View"), 178850472);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("InstancedView"), 178257920);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("BuiltinSamplers"), 134219776);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("Primitive"), 18874368);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("DrawRectangleParameters"), 3145728);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("SpeedTreeData"), 39845888);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("GBuffers"), 16842752);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("PrimitiveFade"), 1048576);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("VectorFieldVis"), 9437184);
Input.Environment.ResourceTableLayoutHashes.Add(TEXT("Material"), 6815848);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldTexture0_UB"), TEXT("View"), 9, 0);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldSampler0_UB"), TEXT("View"), 8, 1);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldTexture1_UB"), TEXT("View"), 9, 2);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldSampler1_UB"), TEXT("View"), 8, 3);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldTexture2_UB"), TEXT("View"), 9, 4);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldSampler2_UB"), TEXT("View"), 8, 5);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldTexture3_UB"), TEXT("View"), 9, 6);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_GlobalDistanceFieldSampler3_UB"), TEXT("View"), 8, 7);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereTransmittanceTexture_UB"), TEXT("View"), 9, 8);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereTransmittanceTextureSampler_UB"), TEXT("View"), 8, 9);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereIrradianceTexture_UB"), TEXT("View"), 9, 10);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereIrradianceTextureSampler_UB"), TEXT("View"), 8, 11);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereInscatterTexture_UB"), TEXT("View"), 9, 12);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_AtmosphereInscatterTextureSampler_UB"), TEXT("View"), 8, 13);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_PerlinNoiseGradientTexture"), TEXT("View"), 9, 14);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_PerlinNoiseGradientTextureSampler"), TEXT("View"), 8, 15);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_PerlinNoise3DTexture"), TEXT("View"), 9, 16);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("View_PerlinNoise3DTextureSampler"), TEXT("View"), 8, 17);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_Bilinear"), TEXT("BuiltinSamplers"), 8, 0);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_BilinearClamped"), TEXT("BuiltinSamplers"), 8, 1);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_Point"), TEXT("BuiltinSamplers"), 8, 2);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_PointClamped"), TEXT("BuiltinSamplers"), 8, 3);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_Trilinear"), TEXT("BuiltinSamplers"), 8, 4);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("BuiltinSamplers_TrilinearClamped"), TEXT("BuiltinSamplers"), 8, 5);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferATexture"), TEXT("GBuffers"), 9, 0);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferBTexture"), TEXT("GBuffers"), 9, 1);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferCTexture"), TEXT("GBuffers"), 9, 2);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferDTexture"), TEXT("GBuffers"), 9, 3);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferETexture"), TEXT("GBuffers"), 9, 4);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferVelocityTexture"), TEXT("GBuffers"), 9, 5);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferATextureNonMS"), TEXT("GBuffers"), 9, 6);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferBTextureNonMS"), TEXT("GBuffers"), 9, 7);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferCTextureNonMS"), TEXT("GBuffers"), 9, 8);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferDTextureNonMS"), TEXT("GBuffers"), 9, 9);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferETextureNonMS"), TEXT("GBuffers"), 9, 10);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferVelocityTextureNonMS"), TEXT("GBuffers"), 9, 11);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferATextureMS"), TEXT("GBuffers"), 9, 12);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferBTextureMS"), TEXT("GBuffers"), 9, 13);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferCTextureMS"), TEXT("GBuffers"), 9, 14);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferDTextureMS"), TEXT("GBuffers"), 9, 15);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferETextureMS"), TEXT("GBuffers"), 9, 16);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferVelocityTextureMS"), TEXT("GBuffers"), 9, 17);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferATextureSampler"), TEXT("GBuffers"), 8, 18);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferBTextureSampler"), TEXT("GBuffers"), 8, 19);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferCTextureSampler"), TEXT("GBuffers"), 8, 20);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferDTextureSampler"), TEXT("GBuffers"), 8, 21);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferETextureSampler"), TEXT("GBuffers"), 8, 22);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("GBuffers_GBufferVelocityTextureSampler"), TEXT("GBuffers"), 8, 23);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Clamp_WorldGroupSettings"), TEXT("Material"), 8, 1);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Wrap_WorldGroupSettings"), TEXT("Material"), 8, 0);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_0"), TEXT("Material"), 9, 0);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_1"), TEXT("Material"), 9, 1);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_2"), TEXT("Material"), 9, 2);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_3"), TEXT("Material"), 9, 3);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_4"), TEXT("Material"), 9, 4);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_5"), TEXT("Material"), 9, 5);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_6"), TEXT("Material"), 9, 6);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_7"), TEXT("Material"), 9, 7);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_0Sampler"), TEXT("Material"), 8, 8);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_1Sampler"), TEXT("Material"), 8, 9);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_2Sampler"), TEXT("Material"), 8, 10);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_3Sampler"), TEXT("Material"), 8, 11);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_4Sampler"), TEXT("Material"), 8, 12);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_5Sampler"), TEXT("Material"), 8, 13);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_6Sampler"), TEXT("Material"), 8, 14);
AddResourceTableEntry(Input.Environment.ResourceTableMap, TEXT("Material_Texture2D_7Sampler"), TEXT("Material"), 8, 15);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
uint32 CFlag = 0;
while (CFlags != 0)
{
if ((CFlags & 1) != 0)
{
Input.Environment.CompilerFlags.Add(CFlag);
}
CFlags = (CFlags >> (uint64)1);
++CFlag;
}
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
Input.bCompilingForShaderPipeline = bPipeline;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
Input.bIncludeUsedOutputs = bIncludeUsedOutputs;
Input.UsedOutputs = UsedOutputs;
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
FShaderCompilerOutput Output;
for (const IShaderFormat* Format : ShaderFormats)
{
TArray<FName> SupportedFormats;
Format->GetSupportedFormats(SupportedFormats);
for (FName SupportedName : SupportedFormats)
{
if (SupportedName == FormatName)
{
Format->CompileShader(FormatName, Input, Output, Dir);
return;
}
}
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2943963 on 2016/04/14 by Daniel.Wright Shader compile errors are unsuppressed Change 2943978 on 2016/04/14 by Gil.Gribb UE4 - First pass at async loading improvements....mostly disabled. Change 2944021 on 2016/04/14 by Martin.Mittring fixed HLSL compiler warning Change 2944031 on 2016/04/14 by Martin.Mittring fixed ensures, wrapped some members behind get accessor functions Change 2944086 on 2016/04/14 by Martin.Mittring cleanup: removed not needed code Change 2944177 on 2016/04/14 by Daniel.Wright Clamp on FarShadowCascadeCount, prevents crashing from huge values Change 2944182 on 2016/04/14 by Martin.Mittring removed not needed code Change 2944250 on 2016/04/14 by Rolando.Caloca DR - vk - Minor fixes Change 2944286 on 2016/04/14 by Daniel.Wright Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions Added bShowPreviewPlane to planar reflection actors The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes Change 2944288 on 2016/04/14 by Daniel.Wright Fixed refraction with a world space normal Change 2944291 on 2016/04/14 by Daniel.Wright Panner nodes have an optional speed input Change 2944346 on 2016/04/14 by Rolando.Caloca DR - Fix Vulkan shader platform on Android - Added more info on checks() Change 2945007 on 2016/04/15 by Gil.Gribb Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering) Change 2945348 on 2016/04/15 by Daniel.Wright Fixed compile error Change 2945358 on 2016/04/15 by Olaf.Piesche #jira UE-29241 Sequential particle selection code was all sorts of weird. Rewrote and simplified. Change 2945941 on 2016/04/15 by Martin.Mittring added r.DisplayInternals to debug determinism for screen shot comparison Change 2945999 on 2016/04/15 by Martin.Mittring improved r.DisplayInternal output Change 2946023 on 2016/04/15 by Olaf.Piesche Adding missing call to Super::PostEditChangeProperty; UDN 286717 Change 2947155 on 2016/04/18 by Martin.Mittring started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up #test:PC Change 2947207 on 2016/04/18 by Martin.Mittring fixed engine compiling in shipping/test #code_review:Uriel.Doyan Change 2947212 on 2016/04/18 by Uriel.Doyon Lightmap density viewmode now shows the wanted resolution when the lighting isn't build. #jira UE-29317 Change 2947374 on 2016/04/18 by Uriel.Doyon Fixed support for resolution scale for the PostProcessVisualizeComplexity #jira UE-29473 Change 2947903 on 2016/04/19 by Gil.Gribb Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering) Change 2948019 on 2016/04/19 by Rolando.Caloca DR - Allow vk format as a target format for win Change 2948162 on 2016/04/19 by Simon.Tovey Fix for crash with Collision visualization. Change 2948419 on 2016/04/19 by Martin.Mittring fixed sort priority of translucent rendering (caused by recent checkin) Change 2948433 on 2016/04/19 by Martin.Mittring fixed memory handling of FRendererViewExtension Change 2948631 on 2016/04/19 by Martin.Mittring fixed compile error on Mac Change 2948832 on 2016/04/19 by Martin.Mittring fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues) Change 2949013 on 2016/04/19 by Martin.Mittring refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping this is useful for MeshDecals #test:PC, parallel on and off Change 2949620 on 2016/04/20 by Martin.Mittring fixed compiler warning Change 2949639 on 2016/04/20 by Uriel.Doyon Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader Change 2949721 on 2016/04/20 by Chris.Bunner Avoid creating additional inline code fragment casting matching uniform types. #jira UE-29089 Change 2949722 on 2016/04/20 by Chris.Bunner Prevent nullptr crash and added additional logging. #jira UE-28387 Change 2949913 on 2016/04/20 by Martin.Mittring marked ccommand as cheat Change 2950064 on 2016/04/20 by Martin.Mittring added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background Change 2950065 on 2016/04/20 by Martin.Mittring nicer debug printout Change 2950201 on 2016/04/20 by Martin.Mittring fixed UE-29752 Console commands input with " = " should display an error message Change 2950531 on 2016/04/20 by Martin.Mittring fixed comment Change 2951737 on 2016/04/21 by HaarmPieter.Duiker Adds support forHDR displays using Dolby PQ output Change 2951869 on 2016/04/21 by Martin.Mittring polish r.DisplayInternal Change 2951950 on 2016/04/21 by HaarmPieter.Duiker Reordered variable definition to address build warning Change 2951996 on 2016/04/21 by Martin.Mittring fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation", changed directory order to run locally it currently requires "r.ScreenshotDelegate=0" #code_review:Ben.Salem, Michael.Noland Change 2952146 on 2016/04/21 by Olaf.Piesche make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures Change 2952230 on 2016/04/21 by Martin.Mittring * Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec . * changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber #code_review:Daniel.Wright Change 2953173 on 2016/04/22 by Olaf.Piesche Adding UI for easilly browsing and switching in a folder full of stats dumps Change 2953213 on 2016/04/22 by Olaf.Piesche Renaming a stat to be more descriptive Change 2953393 on 2016/04/22 by Zabir.Hoque Get DX12 running again: - Port Shader Resource Table change - Line up VS outputs and ps inputs - Fix incorrectly defining a static global in a .h Change 2953453 on 2016/04/22 by Martin.Mittring polished r.DisplayInternal Change 2954618 on 2016/04/25 by Zabir.Hoque 2 Fixes: - GLSL does not understand "unsigned int", converted to "uint" - Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction. Change 2955369 on 2016/04/25 by Rolando.Caloca DR - hlslcc - Fix some memory leaks in the frontend Change 2955403 on 2016/04/25 by Uriel.Doyon Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux. Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4 #jira UE-28840 Change 2955419 on 2016/04/25 by Rolando.Caloca DR - hlslcc - Reenabled support for static global variables being not const Change 2955432 on 2016/04/25 by Zabir.Hoque Fix build break from not undef'ing LOCTEXT_NAMESPACE Change 2955459 on 2016/04/25 by Zabir.Hoque TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque. Change 2956292 on 2016/04/26 by Zabir.Hoque Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output). #CodeReview: Jack.Porter, Allan.Bentham Change 2956662 on 2016/04/26 by Chris.Bunner Temporary fix for new Tonemapper issues. #jira UE-29935 Change 2957614 on 2016/04/27 by Marcus.Wassmer Fix PS4 shader compiler errors. Change 2958468 on 2016/04/27 by Rolando.Caloca DR - Fix hlslcc validation issue - Show error on SCW if shader format not found when running with -directcompile #jira UE-29982 Change 2959105 on 2016/04/28 by Rolando.Caloca DR - Rebuilt hlslcc for Mac Change 2959891 on 2016/04/28 by Daniel.Wright Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields Change 2959895 on 2016/04/28 by Daniel.Wright Work around build machine string matching heuristics that will cause a cook to fail Change 2959902 on 2016/04/28 by Daniel.Wright Added LowerHemisphereSolidColor to sky lights Change 2959930 on 2016/04/28 by Daniel.Wright Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles Change 2959933 on 2016/04/28 by Daniel.Wright Substring matching for console command suggestions * Only implemented in the editor, game uses UConsole which needs an entirely different implementation * Not sorting starting matches first, although that is desired Change 2959942 on 2016/04/28 by Daniel.Wright Gracefully handle when input string doesn't match search results Change 2960743 on 2016/04/29 by Gil.Gribb UE4 - UAT - Add map name to editortest command line. Change 2960940 on 2016/04/29 by Chris.Bunner Allow custom material nodes to be used with tessellation outputs. #jira UE-29586 Change 2960955 on 2016/04/29 by Gil.Gribb UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled). Change 2960961 on 2016/04/29 by Chris.Bunner Potential material translator Lerp node pre-computations/optimizations. #jira OR-20138 Change 2961087 on 2016/04/29 by Gil.Gribb Fixed compile error in preflight relating to load time test rig Change 2962565 on 2016/05/02 by Gil.Gribb Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering) Change 2965058 on 2016/05/03 by Chris.Bunner Shader version bump. #lockdown Gil.Gribb #jira UE-30206 Change 2966554 on 2016/05/04 by Chris.Bunner Bumping shader version again, unintentionally polluted DDC previously. #lockdown Gil.Gribb #jira UE-30329 Change 2967183 on 2016/05/05 by Gil.Gribb UE4 - Fixed a bad hash on landscape grass components. Simple, safe. #lockdown nick.penwarden [CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -04:00
UE_LOG(LogShaders, Warning, TEXT("Unable to find shader compiler backend for format %s!"), *FormatName.ToString());
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
}
/**
* Main entrypoint, guarded by a try ... except.
* This expects 4 parameters:
* The image path and name
* The working directory path, which has to be unique to the instigating process and thread.
* The parent process Id
* The thread Id corresponding to this worker
*/
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
static int32 GuardedMain(int32 argc, TCHAR* argv[], bool bDirectMode)
{
GEngineLoop.PreInit(argc, argv, TEXT("-NOPACKAGECACHE -Multiprocess"));
#if DEBUG_USING_CONSOLE
GLogConsole->Show( true );
#endif
// We just enumerate the shader formats here for debugging.
const TArray<const class IShaderFormat*>& ShaderFormats = GetShaderFormats();
check(ShaderFormats.Num());
TMap<FString, uint16> FormatVersionMap;
for (int32 Index = 0; Index < ShaderFormats.Num(); Index++)
{
TArray<FName> OutFormats;
ShaderFormats[Index]->GetSupportedFormats(OutFormats);
check(OutFormats.Num());
for (int32 InnerIndex = 0; InnerIndex < OutFormats.Num(); InnerIndex++)
{
UE_LOG(LogShaders, Display, TEXT("Available Shader Format %s"), *OutFormats[InnerIndex].ToString());
uint16 Version = ShaderFormats[Index]->GetVersion(OutFormats[InnerIndex]);
FormatVersionMap.Add(OutFormats[InnerIndex].ToString(), Version);
}
}
LastCompileTime = FPlatformTime::Seconds();
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
if (bDirectMode)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
DirectCompile(ShaderFormats);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
}
else
{
#if PLATFORM_WINDOWS
//@todo - would be nice to change application name or description to have the ThreadId in it for debugging purposes
SetConsoleTitle(argv[3]);
#endif
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
FWorkLoop WorkLoop(argv[2], argv[1], argv[4], argv[5], FormatVersionMap);
WorkLoop.Loop();
}
return 0;
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
static int32 GuardedMainWrapper(int32 ArgC, TCHAR* ArgV[], const TCHAR* CrashOutputFile, bool bDirectMode)
{
// We need to know whether we are using XGE now, in case an exception
// is thrown before we parse the command line inside GuardedMain.
GShaderCompileUseXGE = (ArgC > 6) && FCString::Strcmp(ArgV[6], TEXT("-xge")) == 0;
int32 ReturnCode = 0;
#if PLATFORM_WINDOWS
if (FPlatformMisc::IsDebuggerPresent())
#endif
{
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
ReturnCode = GuardedMain(ArgC, ArgV, bDirectMode);
}
#if PLATFORM_WINDOWS
else
{
// Don't want 32 dialogs popping up when SCW fails
GUseCrashReportClient = false;
__try
{
GIsGuarded = 1;
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
ReturnCode = GuardedMain(ArgC, ArgV, bDirectMode);
GIsGuarded = 0;
}
__except( ReportCrash( GetExceptionInformation() ) )
{
FArchive& OutputFile = *IFileManager::Get().CreateFileWriter(CrashOutputFile,FILEWRITE_NoFail);
int32 OutputVersion = ShaderCompileWorkerOutputVersion;
OutputFile << OutputVersion;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if (GFailedErrorCode == ESCWErrorCode::Success)
{
GFailedErrorCode = ESCWErrorCode::GeneralCrash;
}
int32 ErrorCode = (int32)GFailedErrorCode;
OutputFile << ErrorCode;
// Note: Can't use FStrings here as SEH can't be used with destructors
int32 CallstackLength = FCString::Strlen(GErrorHist);
OutputFile << CallstackLength;
int32 ExceptionInfoLength = FCString::Strlen(GErrorExceptionDescription);
OutputFile << ExceptionInfoLength;
OutputFile.Serialize(GErrorHist, CallstackLength * sizeof(TCHAR));
OutputFile.Serialize(GErrorExceptionDescription, ExceptionInfoLength * sizeof(TCHAR));
int32 NumBatches = 0;
OutputFile << NumBatches;
// Close the output file.
delete &OutputFile;
if (GShaderCompileUseXGE)
{
ReturnCode = 1;
WriteXGESuccessFile(ArgV[1]);
}
}
}
#endif
FEngineLoop::AppPreExit();
FEngineLoop::AppExit();
return ReturnCode;
}
IMPLEMENT_APPLICATION(ShaderCompileWorker, "ShaderCompileWorker")
/**
* Application entry point
*
* @param ArgC Command-line argument count
* @param ArgV Argument strings
*/
INT32_MAIN_INT32_ARGC_TCHAR_ARGV()
{
// FPlatformProcess::OpenProcess only implemented for windows atm
#if PLATFORM_WINDOWS
if (ArgC == 4 && FCString::Strcmp(ArgV[1], TEXT("-xgemonitor")) == 0)
{
// Open handles to the two processes
FProcHandle EngineProc = FPlatformProcess::OpenProcess(FCString::Atoi(ArgV[2]));
FProcHandle BuildProc = FPlatformProcess::OpenProcess(FCString::Atoi(ArgV[3]));
if (EngineProc.IsValid() && BuildProc.IsValid())
{
// Whilst the build is still in progress
while (FPlatformProcess::IsProcRunning(BuildProc))
{
// Check that the engine is still alive.
if (!FPlatformProcess::IsProcRunning(EngineProc))
{
// The engine has shutdown before the build was stopped.
// Kill off the build process
FPlatformProcess::TerminateProc(BuildProc);
break;
}
FPlatformProcess::Sleep(0.01f);
}
}
return 0;
}
#endif
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
TCHAR OutputFilePath[PLATFORM_MAX_FILEPATH_LENGTH] = TEXT("");
bool bDirectMode = false;
for (int32 Index = 1; Index < ArgC; ++Index)
{
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
if (FCString::Strcmp(ArgV[Index], TEXT("-directcompile")) == 0)
{
bDirectMode = true;
break;
}
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
if (!bDirectMode)
{
if (ArgC < 6)
{
printf("ShaderCompileWorker is called by UE4, it requires specific command like arguments.\n");
return -1;
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
// Game exe can pass any number of parameters through with appGetSubprocessCommandline
// so just make sure we have at least the minimum number of parameters.
check(ArgC >= 6);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2771498 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma #codereview Marcus.Wassmer Change 2771600 on 2015/11/18 by Rolando.Caloca DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf Usage: ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs -Also removed old communication enum from SCW #rb Daniel.Wright Change 2771647 on 2015/11/18 by Rolando.Caloca DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code - Entry point string now gets modified to the optimized one - Fixed parser allocator when requesting pages bigger than PageSize #rb Chris.Bunner Change 2772133 on 2015/11/18 by Chris.Bunner Removed physics shape type zeroing on Speedtree import. UE-23285 #rb Ori.Cohen Change 2772225 on 2015/11/18 by Rolando.Caloca DevRendering - Hlsl - Support for removing unused inputs on pixel shaders - Fix some shadow variable warnings #rb Chris.Bunner, Nick.Penwarden Change 2772469 on 2015/11/18 by Daniel.Wright Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile) #rb Rolando.Caloca Change 2772471 on 2015/11/18 by Daniel.Wright Particle SubUV cutouts * A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation. * Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw. * GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect. * This only works if the material does not modify opacity to reveal areas with zero texture alpha Change 2772483 on 2015/11/18 by Marcus.Wassmer Filtering options on UnrealPak -list #rb Josh.Adams Change 2772644 on 2015/11/18 by Daniel.Wright Integrate - Temporal AA dithering is only enabled if outputting to a low precision format #rb Nick.Penwarden Change 2773336 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0 #rb Marcus.Wassmer Change 2773476 on 2015/11/19 by Rolando.Caloca DevRendering - PS4 Shader attribute export stats Run using r.PS4DumpExportStats 1 in the console - Also fixed non-vertex shaders not getting optional data #codereview Marcus.Wassmer Change 2773865 on 2015/11/19 by Gil.Gribb UE4 - Added an FName churn tracker. Change 2773900 on 2015/11/19 by Rolando.Caloca DevRendering - Fix sharing shaders for material & mesh shaders #rb Marcus.Wassmer Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2774421 on 2015/11/19 by Olaf.Piesche Fix #2 for UE-23325 - separate translucency materials don't show in static mesh editor #codereview Martin.Mittring Change 2774447 on 2015/11/19 by Rolando.Caloca DevRendering - Velocity and Depth shader pipelines #rb Marcus.Wassmer Change 2774603 on 2015/11/19 by Marcus.Wassmer Windowed vsync for ps4 #rb Rolando.Caloca Change 2775650 on 2015/11/20 by Rolando.Caloca DevRendering - Added two utility overloads per UDN suggestion #codereview Gil.Gribb Change 2775798 on 2015/11/20 by David.Hill Adding a new AutoExposure method #rb Martin.Mittring Change 2776345 on 2015/11/20 by Daniel.Wright Capsule shadows for movable skylight * Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion * Requires DFAO to be enabled at the moment * Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous Change 2777033 on 2015/11/22 by Uriel.Doyon Enabled SceneTextures node validation when material domain is DeferredDecal #review Martin.Mittring #jira UE-23141 Change 2778618 on 2015/11/23 by Daniel.Wright
2015-12-10 21:55:37 -05:00
FCString::Strncpy(OutputFilePath, ArgV[1], PLATFORM_MAX_FILEPATH_LENGTH);
FCString::Strncat(OutputFilePath, ArgV[5], PLATFORM_MAX_FILEPATH_LENGTH);
}
const int32 ReturnCode = GuardedMainWrapper(ArgC, ArgV, OutputFilePath, bDirectMode);
return ReturnCode;
}