Files
UnrealEngineUWP/Engine/Source/Runtime/RenderCore/Private/ResolveShader.cpp

34 lines
2.0 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ResolveShader.h"
#include "ShaderParameterUtils.h"
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476) #lockdown Nick.Penwarden ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3372740 by Chris.Bunner [Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute). StencilSceneTexture added to deferred list. A few known issues to be fixed in a follow-up CL. Change 3374187 by Chris.Bunner Volume texture support for CombineLUTs/Tonemap compute pass. Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS. Skip compute post process out-of-bounds writes. Unsigned type conversion fixes. Trimmed compute post process shader inputs. Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454636 by Uriel.Doyon Fixed point light having an extra scale of 16 in mobile #jira UE-45272 Change 3454844 by Uriel.Doyon Fixed extra X16 on some point lights #jira UE-45250 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3461206 by Guillaume.Abadie Adds possibility to scene captures and player controller to render no primitives at all. Change 3461207 by Guillaume.Abadie Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline. #jira UE-6810 Change 3461233 by Chris.Bunner Added Log10 material expression. Added tooltip for Log2 and Log10. Change 3461434 by Michael.Trepka Copy of CL 3456118 In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads. #jira UE-44961 Change 3461770 by Benjamin.Hyder Submitting TM-RayTracedDistanceField map Change 3461929 by Marc.Olano Add Sobol blueprint and material node test maps to RenderTest project Change 3462249 by Uriel.Doyon Translucency after DoF is now disabled when showflag postprocess is disabled. Change 3462371 by Brian.Karis VT addressing is now 64bit to support huge sparse virtualized volumes 16bit page tables working. Change 3462936 by Marc.Olano Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions Change 3464394 by Uriel.Doyon Improved synchronization for texture streaming commands. This fixes an issue when accessing FStreamingTexture for pending textures. Change 3464743 by Guillaume.Abadie Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time. Change 3464818 by Guillaume.Abadie Fixes compilation error in FindShaderRelativePath Change 3465184 by Daniel.Wright r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings Change 3465283 by Marc.Olano Update Sobol Gray code tables to match random order tables Change 3465976 by Arne.Schober DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas. #RB none Change 3467513 by Guillaume.Abadie Fixes an issue where primitives would no longer draw in gameplay. #jira UE-45550 Change 3471116 by Richard.Wallis Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes. - Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend. #jira UE-39108 Change 3471117 by Richard.Wallis Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor. #jira UE-43026 Change 3471130 by Richard.Wallis Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running. - Only defined in for Mac and non shipping. #jira UE-44934 Change 3471224 by Guillaume.Abadie Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects. Change 3471646 by Daniel.Wright Fixed ensure opening UT system settings Change 3471862 by Arne.Schober DR - revert accidently checked in changes. #RB Chris.Bunner Change 3472249 by Guillaume.Abadie Implements virtual shader source directory mapping. - /Engine/... maps to Engine/Shaders/... - /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory - /Project/... maps to project's Shaders/ directory Change 3472443 by Daniel.Wright Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible Change 3474537 by Uriel.Doyon Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion) Change 3475192 by Guillaume.Abadie Implements LensDistortion engine plugin. This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters: - It is implemented as the first engine plugin with its own shaders and render thread commands; - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py) Change 3475209 by Guillaume.Abadie Back out changelist 3475192 Change 3475252 by Guillaume.Abadie Reland: Implements LensDistortion engine plugin. This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters: - It is implemented as the first engine plugin with its own shaders and render thread commands; - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py) Change 3475389 by Guillaume.Abadie Adds LensDistortion plugin's feature tests. Change 3475538 by Guillaume.Abadie Adds the /Engine/* prefix on all of the renderer's USF file references. Change 3475568 by Guillaume.Abadie Adds a check for virtual shader source file path format in FShaderType::FShaderType() Change 3475871 by Guillaume.Abadie Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath Change 3475997 by Yujiang.Wang Workaround for a compiler optimization bug introduced in VS2015 Update 3. * The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark. * Debug builds don't exhibit this bug. * Semantics are exactly the same as the original code. Change 3476203 by David.Hill Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2 #jira UE-45741 Change 3476536 by Benjamin.Hyder adding player start to Ray Traced Distance Field Shadows Map Change 3478298 by Benjamin.Hyder disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map Change 3478948 by Rolando.Caloca DR - Nicer check Change 3478949 by Rolando.Caloca DR - Default GPU morphs to enabled Change 3478950 by Rolando.Caloca DR - By default -vulkan will launch SM5 Change 3478984 by Rolando.Caloca DR - Pass down -vulkan Change 3479655 by Richard.Wallis Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track. - Minimal change to allow video track changes/selection. - Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to... - Flush the audio sink sample buffers so we get instant audio track changes #jira UE-39750, UE-39749 Change 3479834 by Rolando.Caloca DR - Fix issue with bad vertex colors (per licensee) Change 3480376 by Guillaume.Abadie Disables ComputeLightGrid() if no volumetric fog and no lighting. #jira UE-45377 Change 3480596 by Yujiang.Wang Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection * Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection * Fixed by taking View.bReverseCulling into account #jira UE-34452 Change 3480600 by Yujiang.Wang Fix for UE-42376 * The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently. * This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap * If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed. #jira UE-42376 Change 3480784 by Rolando.Caloca DR - hlslcc - Initial support for [RW]StructuredBuffer Change 3481690 by Uriel.Doyon Attempt to fix static analysis warning Change 3482012 by Simon.Tovey Fixed issue when building distribution lookup tables where the final sample fell short of the max input time. As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT. #tests constant interpolation now works. #jira UE-45614 Change 3482965 by Yujiang.Wang Some quality of life changes for UE-42757 * The UV overlay in static mesh editor now has a darker background * Selected edges are getting highlighted and bolder * When some edges are selected others turn grey #jira UE-42757 Change 3483014 by David.Hill Change labels on bloom boost from x,y,z to min, max, mult. #jira UE-43904 a PropertyRedirect in BaseEngine.ini allows this to work with older version. Change 3484573 by Yujiang.Wang Fix for shadow color not updated after light build when a texture is changed and reimported * Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter * Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed #jira UE-45647 Change 3484969 by Yujiang.Wang Fix for UE-39929 inconsistent type between C++ and shader code * MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp * Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp #jira UE-39929 Change 3485012 by Yujiang.Wang Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT #jira UE-39929 Change 3485146 by Guillaume.Abadie Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround. #jira UE-43455 Change 3486602 by Joe.Conley Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph. Change 3487471 by Yujiang.Wang Github #3659: Improved performance of DumpUnbuiltLightInteractions * Replaced TArrays with TSets #jira UE-45783 Change 3487641 by Guillaume.Abadie Fixes some shader file name casing issues in LPV. Change 3488014 by Uriel.Doyon New AllowAsyncLoading flag for UTexture::CachePlatformData(). It allows to load the source texture data in the async task if the source bulk data was not yet loaded. Data loaded that way is not sharable between tasks and will be discarded. This is required because updating the source data is not thread safe. #jira UERNDR-190 #jira UE-33401 Change 3488249 by Uriel.Doyon Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore. Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change. #jira UE-46004 Change 3490228 by Mark.Satterthwaite Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type). #jira UE-46067 Change 3490538 by Arne.Schober Back out changelist 3488249 #RB none Change 3490551 by Arne.Schober Back out changelist 3488249 #RB none Change 3491828 by Guillaume.Abadie Fixes another USf file reference casing issue in C++. Change 3491924 by Yujiang.Wang Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level * Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp * We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black #jira UE-43302 Change 3492359 by Guillaume.Abadie Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping(). Change 3492367 by Marc.Olano Change Sobol texture size to 32x16, tweak distribution Change 3492599 by Marcus.Wassmer PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01) Change 3493473 by Uriel.Doyon Back out changelist 3490538 Change 3493590 by Uriel.Doyon Back out changelist 3490551 Fixed missing #pragma once Change 3493911 by Marcus.Wassmer Fix potential GPU crash/hang caused by out of bound subresource updates. Added checks at cross-platform level to catch any instance earlier. Change 3494139 by Uriel.Doyon Fixed shadow variable issue on UE4Editor Linux. Change 3494364 by Richard.Wallis Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4. OpenGL left in the following areas: - OpenGLShaderCompiler - StandaloneRenderer The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made: - OpenGLTexture.cpp #jira UE-39108 Change 3494413 by Guillaume.Abadie Updates r.InvalidateCachedShader and bump ShaderVersion.ush. Change 3494422 by Guillaume.Abadie Adds LensDistortion plugin's Private shader directory. Change 3494717 by Guillaume.Abadie Strengthens shader compiler with checks on generated file names and shader type file names. Change 3494763 by Guillaume.Abadie Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path. Change 3494985 by Rolando.Caloca DR - Integrate Vulkan Rewrite Change 3495031 by Rolando.Caloca DR - Delete file as it moved Change 3495032 by Rolando.Caloca DR - Show Vulkan SM5 instead of SM4 on windows packaging - Also added support for Vulkan SM5_UB Change 3495202 by Uriel.Doyon Fixed static analysis warning with pointer dereferencing. Change 3495342 by Rolando.Caloca DR - clang compile fix Change 3495354 by Rolando.Caloca DR - clang compile fixes Change 3495420 by Marc.Olano Use Sobol sampling for PCSS Change 3495799 by Rolando.Caloca DR - Delete old dev assets Change 3496202 by Mark.Satterthwaite Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass. #jira UE-46070 Change 3496253 by Uriel.Doyon Fixed static analysis warning for IncludeTool Change 3496631 by Guillaume.Abadie Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable. Change 3496851 by Guillaume.Abadie Fixes back slash issues in Platform.usf. Change 3496852 by Guillaume.Abadie Fixes other back slashes includes in PS4 specific usf files. Change 3496941 by Guillaume.Abadie Adds a check() for no backslash in virtual shader file paths. Change 3497661 by Guillaume.Abadie Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform. Change 3497969 by Richard.Wallis Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies. - Tested on iOS and Mac. #jira UE-39585 Change 3498035 by Guillaume.Abadie Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts. Change 3498101 by Rolando.Caloca DR - Compile fix Change 3498254 by Guillaume.Abadie Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching. Change 3498264 by Guillaume.Abadie Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame Change 3498371 by Yujiang.Wang Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2 * Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews * Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures) #jira UE-46149 Change 3498409 by Rolando.Caloca DR - Swap resolves Change 3498410 by Guillaume.Abadie Adds support for opacity output alpha for post process material when doing a draw material to render target. Change 3498705 by Rolando.Caloca DR - Add UID for debugging mem allocations Change 3498759 by Marcus.Wassmer No post processing in vertexcolor view mode #jira UE-44704 Change 3498891 by Rolando.Caloca DR - Minor Vulkan per frame allocator refactor in prep for changes Change 3499206 by Rolando.Caloca DR - Fix temp frame allocator OOM on Vulkan #jira UE-45913 Change 3499319 by Rolando.Caloca DR - Vulkan support for StorageBuffer Change 3499339 by Rolando.Caloca DR - Remove deprecated typedef Change 3499400 by Rolando.Caloca DR - Remove some RHICmdList deprecated functions Change 3499422 by Rolando.Caloca DR - Allow buffer transitions inside render passes Change 3500370 by Rolando.Caloca DR - Compile fix Change 3500474 by Rolando.Caloca DR - Fix static analysis Change 3500517 by Guillaume.Abadie Exposes r.PostProcessing.PropagateAlpha to the renderer settings. Change 3500537 by Guillaume.Abadie Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world. #jira UE-39389 Change 3501069 by Mark.Satterthwaite Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18. temporary fix for skewed textures on IOS 9 #jira UE-44468 Change 3501164 by Michael.Lentine PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist) Change 3501222 by Benjamin.Hyder Checking in Tm_SobolNoise map Change 3501612 by zachary.wilson Adding testing content for RTDF shadows on planar reflections Change 3501708 by Guillaume.Abadie Break FPostProcessSettings into smallers structs. Change 3501830 by Olaf.Piesche #jira UE-39628; using fix proposed in UDN, will investigate further Change 3501954 by Marcus.Wassmer Duplicate 3480903 Light culling safety measures. Change 3502032 by Mark.Satterthwaite Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9. Change 3502118 by Uriel.Doyon Fixed shader compilation issues. Change 3502191 by Guillaume.Abadie Implements Composure plugin to make compositing in UE4 easier. Change 3502192 by Guillaume.Abadie Implements Composure feature testing in EngineTests Change 3502196 by Guillaume.Abadie Creates a dependency of Composure plugin over LensDistortion plugin. Change 3502213 by Arciel.Rekman Fix for loading shaders on Linux (UE-46276). Change 3502243 by Brian.Karis Bent normal map support. Multibounce AO. Spherical Gaussian based specular occlusion. Change 3502506 by Guillaume.Abadie Fixes compilation failure in Composure with unity build. Change 3502507 by Guillaume.Abadie Fixes composure Set Pass with Render Target blueprint helper. Change 3502510 by Guillaume.Abadie Attempts to fix ComposureUtils.cpp compile errors. Change 3502515 by Guillaume.Abadie Some other composure failure fixes. Change 3502545 by Guillaume.Abadie Fixes some unity build related error in Composure. Change 3502548 by Guillaume.Abadie Fixes last missing includes in ComposurePostProcessPass.cpp Change 3502672 by Guillaume.Abadie Fixes linux warning in Composure. Change 3502790 by Ryan.Brucks float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break. Change 3502836 by Guillaume.Abadie Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances. #jira UE-6810 Change 3503096 by Guillaume.Abadie Resave a unversioned asset. Change 3503228 by Yujiang.Wang Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry * Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass * Replaced the true with bReflectiveShadowmap #jira UE-45646 Change 3503284 by Rolando.Caloca DR - Fixed initial clear on rendertargets - Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4 - Dump the vulkan log into VS output log - Added validation for layouts when using dump log Change 3503545 by Arciel.Rekman Fix black UI on Linux (UE-46333) - Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist. #jira UE-46333 Change 3503638 by Daniel.Wright [Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding Change 3503787 by Marcus.Wassmer Fix difference between gpu/cpu morph target application Change 3503902 by Marcus.Wassmer Roll back TAA refactor until we have time to look into the bad interaction with DOF. Change 3503953 by Arne.Schober DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources. #RB Marcus.Wassmer Change 3504131 by Rolando.Caloca DR - Maintain a cache of pipeline and descriptor set layouts - Fix marker dump Change 3504462 by Guillaume.Abadie Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results. #jira UE-46277 Change 3504779 by Chris.Bunner Potential static analysis fix. #jira UE-46360 Change 3504950 by Marc.Olano Allow Sobol material nodes & textures only if feature level is at least ES3.1 #jira UE-46334 #jira UE-46317 Change 3505035 by Daniel.Wright Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously. Change 3505386 by Daniel.Wright GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf Change 3505491 by Rolando.Caloca DR - Fix crash on first frame of particles on modern APIs Change 3505557 by Chris.Bunner [Duplicate] Workaround for outdated shader map crash. #jira UE-46061 Change 3506071 by Rolando.Caloca DR - Vulkan fixes - Fix copy out of bounds reading textures to CPU - Defer event deletion - Split validation for errors and warnings - Skip validation error about attachment not used Change 3506698 by Guillaume.Abadie Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge. Change 3506797 by Rolando.Caloca DR - Fix static analysis #jira UE-46428 Change 3506861 by Rolando.Caloca DR - Fix crash due to layering violation #jira UE-46424 #jira UE-46431 Change 3508098 by Rolando.Caloca DR - Fix for Vulkan ES31 crash - Fix for AMD ensure Change 3508123 by Rolando.Caloca DR - Disable occlusion queries on Vulkan to avoid flickering - Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips) - Fix for decal blending #jira UE-46376 Change 3509064 by Uriel.Doyon Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found. #jira UE-46427 Change 3509854 by Marc.Olano Fix 2D Sobol gray code numbers. Just changes some numbers in initialization tables, so no effect on existing tests or content. Change 3509920 by Marcus.Wassmer Fix LPV fastvram ensure Change 3509937 by Rolando.Caloca DR - Fix crash due to deleted viewport #jira UE-46281 Change 3509988 by Marcus.Wassmer Roll back part of Sobol fix to avoid full shader recompile for integration. Change 3510255 by Rolando.Caloca DR - Fix popup window ensure #jira UE-46511 Change 3510646 by Marcus.Wassmer fix ios compiles Change 3511442 by Rolando.Caloca DR - Change mesh simplification check to ensure/checkslow to unblock #jira UE-46538 DONE! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Change 3467095 by Guillaume.Abadie Nukes all += TEXT(".usf") #jira UE-45530 Change 3475084 by Guillaume.Abadie Fixes compilation failure of the shader compiler on PS4 and XboxOne Change 3477464 by Guillaume.Abadie Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts. Change 3494395 by Guillaume.Abadie Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points. DONE! [CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
IMPLEMENT_SHADER_TYPE(, FResolveDepthPS, TEXT("/Engine/Private/ResolvePixelShader.usf"), TEXT("MainDepth"), SF_Pixel);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3512118 by Marc.Olano Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing Change 3512129 by Benjamin.Hyder Fixing up content in TM-SobolNoise Change 3512151 by Rolando.Caloca DR - Fixed some layouts that were general - Added some extra dump information Change 3512160 by Benjamin.Hyder Still Fixing TM-Sobol Change 3512180 by Marc.Olano PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod. Change 3512261 by Michael.Lentine Move Subsurface to shared properties. Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output. #jira UE-44405 Change 3512288 by Rolando.Caloca DR - Fix issue when recycling image handles Change 3512338 by Michael.Lentine Fix precision if user enters a multiple of 90 degree rotation for transforms. This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7. #jira UE-46137 Change 3512424 by Michael.Lentine Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set. #jira UE-44315 Change 3512686 by Brian.Karis Fix for quadric assert in infiltrator. Due to bad tangents in source mesh. Change 3512696 by Brian.Karis Unrevert TAA. Fixed DOF NaN artifacts Change 3512717 by Marcus.Wassmer PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4) Change 3513112 by Richard.Wallis Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving. Fix includes: - Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at). - Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required. - Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt. #jira UE-45657 Change 3513357 by Richard.Wallis Windows compile fix. Change 3513375 by Guillaume.Abadie Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D. Change 3513685 by Richard.Hinckley #jira UEDOC-3822 Fixing a comment that refers to a non-existent function, for documentation purposes. Change 3513705 by Marc.Olano Updates to Sobol test levels in RenderTest project Change 3513730 by Rolando.Caloca DR - Fix mip size copying resolve targets - Fix compute fence - Fix descriptor set texture layout - More dump info Change 3513742 by Marc.Olano Texture-free numeric print for shader debugging Change 3513777 by Daniel.Wright Handled edge case where no furthest samples are found in precomputed visibility Change 3514852 by Rolando.Caloca DR - Fix -directcompile on SCW Change 3515049 by Rolando.Caloca DR - hlslcc dump crash fix Change 3515167 by Rolando.Caloca DR - hlslcc - Fix bogus string pointer - Allow reading from non-scalar UAVs Change 3515745 by Rolando.Caloca DR - Linux compile fix Change 3515862 by Rolando.Caloca DR - Remove old reference to CCT - Link with hlslcc debug libs on SCW debug config for easier debugging Change 3516292 by Rolando.Caloca DR - glslang exe fixes Change 3516568 by Rolando.Caloca DR - hlslcc - Copy fix for *Buffer as functionparameters Change 3516659 by Marcus.Wassmer Fix some d3derrors with distance fields Change 3516801 by Daniel.Wright Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor. Change 3516825 by Rolando.Caloca DR - Some initial fixes for structured buffers Change 3516843 by Rolando.Caloca DR - Fix for Vulkan dist fields Change 3516869 by Marcus.Wassmer Add format to the createrendertarget blueprint node Change 3516957 by Daniel.Wright Fixed bUsesDistortion being editable Change 3516965 by Daniel.Wright Still mark the distance field task completed, even if the static mesh has been deleted Change 3517039 by Yujiang.Wang GitHub #2655: Optimization for shadow map resolution selection for spot lights * Use the radius of the inscribed sphere at the cone end as the spot light's screen radius Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly #jira UE-33982 Change 3517069 by Yujiang.Wang Fix for ScissorRect settings in d3d11 being lost under certain scenarios * Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled) * However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents) * Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does #jira UE-45465 UE-44760 Change 3517134 by Yujiang.Wang CIS fix Change 3517662 by Rolando.Caloca DR - Execute upload Vulkan cmds on the RHI thread - Fix crash with structured buffer Change 3517677 by Rolando.Caloca DR - Update/copy textures on RHI thread Change 3517680 by Rolando.Caloca DR - Copy texture bulk data on rhi thread Change 3517748 by Marcus.Wassmer temporary workaround for one class of GPU crashes Change 3518832 by Rolando.Caloca DR - Copy & extend 3518077 - Fix for movable skylight shader missing on simple forward (low lighting quality mode) Change 3519973 by Richard.Wallis Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt. #jira UE-46505 Change 3520849 by Uriel.Doyon Fixed issue with investigate texture command and dynamic component entries. Change 3521064 by Guillaume.Abadie Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk. Change 3521834 by Rolando.Caloca DR - Fix decals on Vulkan Change 3521892 by Rolando.Caloca DR - Fix Vulkan texture streaming Change 3523181 by Rolando.Caloca DR - Copy from 3523176 UE4.17 - Fix Vulkan scissor causing text to not clip Change 3523534 by Yujiang.Wang UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU * A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders * Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations * The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame #jira UE-46631 Change 3524552 by Yujiang.Wang Fix iteration number calculation of LongGPUTask Change 3524975 by Joe.Graf Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath Added SSE versions using _mm_popcnt_u64 for platforms that support it Added a SSE check to gracefully exit when missing the instruction and it was expected to be there #CodeReview: arciel.rekman, brian.karis Change 3525306 by Daniel.Wright Fixed ensure from LPV Change 3525346 by Rolando.Caloca DR - Fix linking issue Change 3525459 by Daniel.Wright Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog * Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features. * New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb. * Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels. * Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps. * A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell. * Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors * The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups. * A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms * Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving. * Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available * New Visualization show flag for Volumetric Lightmap sample points * Level streaming of volume light data is not currently supported with this method Change 3525461 by Daniel.Wright Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference). Change 3526459 by Rolando.Caloca DR - Fix validation error Change 3526474 by Rolando.Caloca DR - Integrate from GV Change 3526487 by Daniel.Wright Disabled Volumetric Lightmap filtering with neighbors due to artifacts Fix linux compile errors Change 3526833 by Rolando.Caloca DR - Workaround for hlslcc Change 3526991 by Uriel.Doyon Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike. Change 3527574 by Rolando.Caloca DR - Added some missing resource entries for SCW direct mode Change 3527625 by Rolando.Caloca DR - Copy from 3527113 UE4.17 - Fix Vulkan not calling Present Change 3528461 by Brian.Karis Support larger hash sizes. Added uint list hashing function. Change 3528780 by Rolando.Caloca DR - Default Vulkan resources Change 3528818 by Rolando.Caloca DR - glslang - Added missing accessor Change 3528839 by Rolando.Caloca DR - Fix virtual path issue when using non-engine relative absolute paths Change 3528900 by Daniel.Wright Fixed variable shadowing Change 3529039 by Rolando.Caloca DR - Read Spirv reflection data (not used yet) Change 3529040 by Joe.Graf Fixed the 32bit compile failures for the popcnt optimization #CodeReview: arciel.rekman Change 3529060 by Rolando.Caloca DR - hlslcc - New flag for keeping resource names Change 3529344 by Rolando.Caloca DR - Delete unused file Change 3529723 by Brian.Karis Fixed static analysis cleaner. Change 3531357 by Michael.Trepka Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future. Change 3531517 by Joe.Graf Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc #CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca Change 3531626 by Joe.Graf Mac version of the popcount optimization Changed Linux version to use the same builtin #CodeReview: mark.satterthwaite, arciel.rekman Change 3531837 by Chris.Bunner SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect. #jra UE-46753 Change 3533415 by Joe.Graf Renamed the SSSE3 checks per feedback #CodeReview: arciel.rekman Change 3533480 by Michael.Lentine Use more accurate descriptions for shader recompile options Change 3533511 by Joe.Graf Updated the GenericPlatformMisc to match the SSSE3 name change #CodeReview: arciel.rekman Change 3533521 by Marcus.Wassmer Fix scenerenderer leak when updating out of view planar reflections Change 3533528 by Joe.Graf Updated comments #CodeReview: n/a Change 3533608 by Mark.Satterthwaite New manual Xcode project for glslang so that we include all the necessary code and can link again. Change 3534260 by Mark.Satterthwaite Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3. Change 3535789 by Yujiang.Wang Fix for wrong hair shading in forward shading * IBL reflections should be turned off for hairs Change 3537059 by Ben.Marsh Fixing case of iOS directories, pt1 Change 3537060 by Ben.Marsh Fixing case of iOS directories, pt2 Change 3538297 by Michael.Lentine Add shader comparison test. Adding the basic test case. Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default) Adding more exported functionality to automation for use in the shader test. Change 3538309 by Michael.Lentine Add missing file from Shader Test CL. Change 3538751 by Michael.Lentine Add missing pragma once. Change 3539236 by Michael.Lentine Do not ignore return values. Change 3539237 by Michael.Lentine Check in the correct file Change 3540343 by Rolando.Caloca DR - Added t.DumpHitches.AllThreads Change 3540661 by Yujiang.Wang Fix spot tube light direction * The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched * A new LightTangent is added to FDeferredLightData * Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere Change 3541129 by Rolando.Caloca DR - vk - Copy all Vulkan fixes from 4.17 Change 3541347 by Yujiang.Wang Fix wrong ViewFlags being set between objects when rendering shadow depth maps * Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state * Now SetViewFlagsForShadowPass recalculates and sets the flags on each call Change 3542603 by Rolando.Caloca DR - vk - Allow sharing samplers on Vulkan Change 3542639 by Jian.Ru Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection #RB Marcus.Wassmer Change 3543167 by Michael.Lentine Fix naming for the shader comparison tests. Change 3543210 by Uriel.Doyon Fixed an issue when computing material scales where the default material ends up being used instead of the required material. In that case, we used the default settings for texture streaming (assuming a scale of 1). Change 3543221 by Brian.Karis Simplifier optimizations Change 3543239 by Arciel.Rekman hlslcc: remove FCustomStd* workarounds. - This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system). - The same problem has been resolved by bundling libc++. Change 3543946 by Michael.Lentine Add comparison output. Change 3544277 by Brian.Karis Fixed uninitialized var error Change 3544404 by Rolando.Caloca DR - Fix broken textures Change 3544503 by Jian.Ru Ensure lighting failure delegates are always called #RB Marcus.Wassmer,Daniel.Wright #3689 Change 3545241 by Daniel.Wright Fixed spotlight whole scene shadows using a radius 2x too long Change 3545347 by Daniel.Wright Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame. Change 3546196 by Marcus.Wassmer Fix minor typo Change 3546459 by Daniel.Wright ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package. Change 3546469 by Jian.Ru Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation Change 3546804 by Daniel.Wright [Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events Change 3546814 by Daniel.Wright [Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows Change 3546815 by Daniel.Wright [Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation Change 3546817 by Daniel.Wright [Copy] Warmup time warning Change 3546828 by Daniel.Wright [Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch Change 3546836 by Daniel.Wright [Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data Change 3546849 by Rolando.Caloca DR - vk - Fix missing samplerstates - Fixes for structured buffers - Add missing Draw and Dispatch Indirect Change 3547516 by Brian.Karis Linear time 5-coloring for planar graphs. Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper. Change 3547542 by Brian.Karis Linear time 5-coloring for planar graphs. Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper. Change 3547563 by Brian.Karis Fixed some compiler warnings and hopefully some errors. Change 3547610 by Brian.Karis Replaced macros with inlined functions Change 3547620 by Brian.Karis Clean up includes Change 3547770 by Marcus.Wassmer GPU Crash for MTBF analytics Change 3547773 by Marcus.Wassmer Updated doxygen comment for new analytic Change 3548244 by Rolando.Caloca DR - Fix for translucency Change 3548352 by Yujiang.Wang Added soft source radius for point and spot lights * Soft source radius controls how 'blurry' the shape of specular lighting looks * Implemented by LobeRoughness modification * Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method * Suppoted LightTangent in forward shading Change 3548530 by Brian.Karis Fix for mac build Change 3548770 by Rolando.Caloca DR - vk - Prereq work for Vulkan parallel RHI contexts Change 3548772 by Jian.Ru Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer Change 3548865 by Daniel.Wright With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible. Change 3548952 by Rolando.Caloca DR - Allow separate samplers in the shaders on Vulkan Change 3549197 by Marcus.Wassmer Fix DX12 PIx not working in cooked builds Change 3549209 by Daniel.Wright Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries. Change 3549943 by Ben.Marsh Include better diagnostic information when a modified build product is detected after running a build step. Change 3550546 by Rolando.Caloca DR - Fix merge issue Change 3550962 by Marcus.Wassmer EarlyZ Masking requires full depth prepass, so just force it to. Change 3551062 by Daniel.Wright Handle NULL skylight Change 3551104 by Rolando.Caloca DR - vk - Remove assert to match other platforms Change 3551221 by Rolando.Caloca DR - vk - Add mirror clamp to edge extension - Fix framebuffer deletion Change 3551224 by Daniel.Wright Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold. Change 3551495 by Rolando.Caloca DR - vk - Intiial support for async queue Change 3552101 by Rolando.Caloca DR - vk - Fix for async Change 3552102 by Rolando.Caloca DR - SkinCache - Fix potential leak on staging buffers for recompute tangents - Integrate changes from 4.17 for memory optimizations Change 3552104 by Rolando.Caloca DR - vk - Support for SRVs for index buffers Change 3552838 by Rolando.Caloca DR - vk - Enable debug markers if found Change 3553106 by Rolando.Caloca DR - vk - Fixes for index buffer SRVs Change 3553107 by Rolando.Caloca DR - vk - Enable recompute tangents on Vulkan Change 3553154 by Rolando.Caloca DR - vk - Fix crash with null uav Change 3553342 by Yujiang.Wang Fix redundant skylights in AdvancedPreviewScene * PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading * AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene Change 3553481 by Rolando.Caloca DR - Integrate fix for D3D12 support of index buffers SRVs #jira UE-47674 Change 3553715 by Rolando.Caloca DR - Fix crash when launching PC with -featureleveles31 Change 3553725 by Rolando.Caloca DR - Redo fix Change 3553803 by Rolando.Caloca DR - Shader compile fixes for ES3.1 Change 3553963 by Rolando.Caloca DR - vk - Remove extra IRDump Change 3554741 by Ben.Marsh CIS fix. Change 3555222 by Rolando.Caloca DR - vk - static analysis fix Change 3555362 by Rolando.Caloca DR - vk - Prep work for separate present queue Change 3556800 by Daniel.Wright Fixed screenshot for simple volume material doc Change 3556942 by Brian.Karis Fixed Bokeh DOF regression. Change 3556959 by Rolando.Caloca DR - vk - Rework staging buffer peak usage Change 3557497 by Daniel.Wright Better display name for Unbound property on post process volume Change 3557499 by Daniel.Wright Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData. Change 3557068 by Olaf.Piesche Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further. IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change. #tests QAGame test maps Change 3558123 by Rolando.Caloca DR - vk - static analysis fix Change 3558685 by Yujiang.Wang Github #3323: Two sided foliage lightmap directionality fix * Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one * Now it uses a constant directionality value #jira UE-42523 Change 3559052 by Brian.Karis Hopefully fix static analysis Change 3559113 by Rolando.Caloca DR - Fix crash witrh planar reflections Change 3559275 by Yujiang.Wang Fix race condition on several scalability CVars between rendering thread and game thread Change 3559612 by Rolando.Caloca DR - vk - SM5 with uniform buffers backend support Change 3559716 by Rolando.Caloca DR - hlslcc - Fix linker warning on SCW debug Change 3559768 by Rolando.Caloca DR - vk - Keep ub names for bindings Change 3560195 by Rolando.Caloca DR - accessor Change 3560275 by Rolando.Caloca DR - vk - Support for uniform buffers Change 3560913 by Rolando.Caloca DR - vk - Fix static analysis Change 3561145 by Rolando.Caloca DR - Don't crash if out of resource table bits Change 3561194 by Rolando.Caloca DR - vk - Integrate timestamp fixes Change 3562009 by Rolando.Caloca DR - vk - Workaround for bad UTexture data Change 3563884 by Chris.Bunner VK_NULL_HANDLE fix. Change 3563885 by Jian.Ru Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner Change 3565943 by Jian.Ru Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner Change 3569479 by Michael.Lentine Integrate rhino shader changes to dev-rendering Change 3569511 by Michael.Lentine Fix formating and string out on windows. Change 3569572 by Yujiang.Wang Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs Change 3569614 by Yujiang.Wang Flush rendering commands before measuring the long GPU task's excution time to get accurate results Change 3570524 by Jian.Ru Add extra parentheses to avoid compilation warning #rb Chris.Bunner Change 3570722 by Chris.Bunner Static analysis workaround - same code, just validating compile-time assumptions a little further. Change 3570880 by Jian.Ru Add small depth offset to avoid depth test failing during velocity pass #jira UE-37556 Change 3572532 by Jian.Ru Disable a warning to let tests pass #jira UE-48021 Change 3573109 by Michael.Lentine Checkin Michael.Trepka's fix for external dynamic libraries on mac. This is needed to make the build go green on mac. Change 3573995 by Jian.Ru Move an include out of define to let nightly build pass Change 3574777 by Chris.Bunner Continued merge fixes. Change 3574792 by Rolando.Caloca DR - Rename todo Change 3574794 by Chris.Bunner Re-adding includes lost in a pre-merge merge. Change 3574879 by Michael.Trepka Disabled a couple of Mac deprecation warnings Change 3574932 by Chris.Bunner Merge fix. Change 3575048 by Michael.Trepka Fixed iOS compile warnings Change 3575530 by Chris.Bunner Duplicating static analysis fix CL 3539836. Change 3575582 by Chris.Bunner Fixed GetDimensions return type in depth resolve shaders. Compile error fix. Change 3576326 by Chris.Bunner Static analysis fixes. Change 3576513 by Michael.Trepka Updated Mac MCPP lib to be compatible with OS X 10.9 Change 3576555 by Richard.Wallis Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT. #jira UE-47549 Change 3576562 by Chris.Bunner OpenGL SetStreamSource stride updates. Change 3576589 by Michael.Trepka Fixed Mac CIS warnings and errors in Dev-Rendering Change 3576708 by Jian.Ru Fix cascade preview viewport background color not changing #jira UE-39687 Change 3576827 by Rolando.Caloca DR - Minor fix for licensee Change 3576973 by Chris.Bunner Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan). Change 3577729 by Rolando.Caloca DR - Fix for info on SCW crashes Change 3578723 by Chris.Bunner Fixed issue where custom material attribute was using display name as hlsl function name. Change 3578797 by Chris.Bunner Fixed pixel inspector crashing on high-precision normals gbuffer format. #jira UE-48094 Change 3578815 by Yujiang.Wang Fix for UE-48207 Orion cooked windows server crash on startup * Crash caused by rendering features not available in a dedicated server build * Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender() #jira UE-48207 Change 3578828 by Daniel.Wright Disable volumetric lightmap 3d texture creation on mobile Change 3579473 by Daniel.Wright Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps. Change 3580088 by Jian.Ru Fix QAGame TM-CharacterMovement crashing on PIE #jira UE-48031 Change 3580388 by Daniel.Wright Fixed shadowed light injection into volumetric fog fallout from Rhino merge Change 3580407 by Michael.Trepka Updated Mac UnrealPak binaries Change 3581094 by Michael.Trepka Fix for ScreenSpaceReflections not working properly on iOS 11 Change 3581242 by Michael.Trepka Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame #jira UE-48255 Change 3581489 by Olaf.Piesche Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475 #jira FORT-47068, FORT-49705 Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data. #tests FN LastPerfTest Change 3581544 by Simon.Tovey Fix for ensure accessing cvar from task thread. #tests no more ensure Change 3581934 by Chris.Bunner Fixed ConsoleVariables.ini break from merge. Change 3581968 by Jian.Ru Fix QAGame TM-ShaderModels PIE crash when resizing game viewport #jira UE-48251 Change 3581989 by Richard.Wallis Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before. #jira UE-46955 Change 3582632 by Chris.Bunner Resolved merge error. Change 3582722 by Rolando.Caloca DR - Workaround for PF_R8G8B8A8_UINT on GL #jira UE-48208 Change 3584096 by Rolando.Caloca DR - Fix for renderdoc crashing in shipping #jira UE-46867 Change 3584245 by Jian.Ru Fix System.Promotion.Editor.Particle Editor test crash #jira UE-48235 Change 3584359 by Yujiang.Wang Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion * Caused by dot(N, V) being negative * Clamp to (0, 1) #jira UE-48315 Change 3587864 by Mark.Satterthwaite Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer. #jira UE-48342 Change 3587866 by Mark.Satterthwaite Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong. Change 3588168 by Mark.Satterthwaite Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes. Change 3588192 by Rolando.Caloca DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled Change 3588291 by Rolando.Caloca DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers #jira UE-48299 Change 3590134 by Michael.Trepka Copy of CL 3578963 Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out. Change 3590405 by Rolando.Caloca DR - hlslcc - support for sqrt(uint) Change 3590436 by Mark.Satterthwaite Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes. Change 3590674 by Rolando.Caloca DR - vk - Integration from working branch - Fixes distance field maps - Compute pipelines stored in saved file - Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets Change 3590699 by Rolando.Caloca DR - Fix distance fields mem leak Change 3590815 by Rolando.Caloca DR - vk - Fixes for uniform buffers and empty resource tables Change 3590818 by Mark.Satterthwaite Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code. Change 3590905 by Mark.Satterthwaite For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this. #jira UE-48163 Change 3590961 by Mark.Satterthwaite Submitted on Richard Wallis's behalf as he's on holiday: Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead. There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms. #jira UE-46688, UE-39256, UE-47215 Change 3590965 by Mark.Satterthwaite Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems. Change 3590969 by Mark.Satterthwaite Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision. Change 3591871 by Rolando.Caloca DR - Enable PCSS on Vulkan & Metal - Enable capsule shadows on Vulkan Change 3592014 by Mark.Satterthwaite Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround. Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally. Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering. Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler. Change 3592171 by Rolando.Caloca DR - CIS fix Change 3592753 by Jian.Ru repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present) Change 3594595 by Rolando.Caloca DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely Change 3594794 by Michael.Trepka Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app Change 3594999 by Mark.Satterthwaite Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size). While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header. #jira UE-48342 Change 3595004 by Mark.Satterthwaite Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10. #jira UE-48342 Change 3595386 by Mark.Satterthwaite Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms. Change 3595394 by Rolando.Caloca DR - Added function for tracking down errors in the hlsl parser - Added support for simple #if 0...#endif Change 3599352 by Rolando.Caloca DR - Fixes for HlslParser - Added missing attributes for functions - Fixed nested assignment Change 3602440 by Michael.Trepka Fixed Metal shader compilation from Windows with remote compilation disabled #jira UE-48163 Change 3602898 by Chris.Bunner Resaving assets. Change 3603731 by Jian.Ru fix a crash caused by a material destroyed before the decal component #jira UE-48587 Change 3604629 by Rolando.Caloca DR - Workaround for PF_R8G8B8A8_UINT on Android #jira UE-48208 Change 3604984 by Peter.Sauerbrei fix for orientation not being limited to that specified in the plist #jira UE-48360 Change 3605738 by Chris.Bunner Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history). #jira UE-48748 Change 3606009 by Mark.Satterthwaite Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have. - When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to. - The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit. - Move the shader vertex layer clip-distance to index 2 to avoid conflicts. - Don't default initialise the debug code string for Metal shaders or it won't print out the actual code.... #jira UE-47663 Change 3606108 by Mark.Satterthwaite Temporary hack to avoid a crash in AVPlayer. #jira UE-48758 Change 3606121 by Mark.Satterthwaite Fix Windows compilation. Change 3606992 by Chris.Bunner Static analysis fix. [CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
IMPLEMENT_SHADER_TYPE(, FResolveDepth2XPS, TEXT("/Engine/Private/ResolvePixelShader.usf"), TEXT("MainDepth"), SF_Pixel);
IMPLEMENT_SHADER_TYPE(, FResolveDepth4XPS, TEXT("/Engine/Private/ResolvePixelShader.usf"), TEXT("MainDepth"), SF_Pixel);
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640) #lockdown Nick.Penwarden #rb no.one ============================ MAJOR FEATURES & CHANGES ============================ Change 3543285 by Nick.Atamas Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... : Fixed UEVR-852: Adjusted Google Tango Plugins copyright to Copyright Google 2017. Removed Apache 2.0 license. Change 3767306 by Mike.Beach Adopting a set of video capture fixes from Darren Pegg: "Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0." + mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this #jira UE-49870, UE-50217, UE-50227, UE-50224 Change 3767317 by Mike.Beach [MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306. #jira UEVR-910 Change 3767484 by Mike.Beach Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3767489 by Mike.Beach Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3768155 by Ryan.Vance #jira UE-52089 Fixing cardboard only rendering in one eye. Change 3769011 by Douglas.Copeland Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map. Change 3769195 by Douglas.Copeland Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14 Change 3769256 by Douglas.Copeland Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat. Change 3769453 by Douglas.Copeland Resaving content to resolve engine content warning Change 3771076 by Keli.Hlodversson Add missing const to a ref parameter. Change 3771141 by Keli.Hlodversson Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD. #jira UE-52353 Change 3771602 by Mike.Beach Replacing temp Rift controller models with official ones from Oculus. #jira UEVR-830 Change 3774877 by Mike.Beach Refining MR calibration (WIP)... - New alignment process [WIP] - More modular calibration steps (for easier refactoring) - Stubbed in phase for lens calibration - Centralized interface for debug (dev) settings Change 3774880 by Mike.Beach Adopted changes from Oculus (SI1.21); stubbing in functionality for: - Lens matched shading - Dynamic screen refresh rate switching - Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency Change 3774922 by Mike.Beach Attempting CIS fix. Change 3774972 by Mike.Beach Making it so you can override the material on model components from the various XR systems (via MotionController component). Change 3774974 by Mike.Beach Missing assets from CL 3774877. Change 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3776135 by Mike.Beach MR [WIP] - Updating the calibration save process . - Now save after each calibration step - Stubbed in save data for lens distortion - Track progress and load you to the first incomplete calibration step Change 3777110 by Mike.Beach [WIP] MR - Adding ability to easily mirror monitor screen. Change 3777146 by Mike.Beach Removing superflous ensure that some of us were hitting. Change 3777417 by Mike.Beach [WIP] MR - Fixing alignment adjustment controls to match mirrored monitor. Change 3777436 by Nick.Atamas Initial check in of AugmentedReality module and ARKit support for it. Also adding QAARApp to test the use of these systems. Change 3778009 by Nick.Atamas Missing file Change 3778067 by Nick.Atamas Fixing CIS Change 3778155 by Nick.Atamas Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR Change 3778209 by Nick.Atamas More CIS fixing. Change 3778821 by Mike.Beach [WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily). Change 3779431 by Joe.Graf Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/ Change 3780822 by Keli.Hlodversson Adding OpenCV binaries plus build script to automatically fetch and rebuild it #jira UE-52725 Change 3781037 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781046 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781049 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781129 by Joe.Graf Fixed the warning generated by OpenCV.Build.cs Change 3783476 by Mike.Beach Attempt at fixing Win32 CIS errors. Change 3783845 by Martin.Wilson Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties Change 3784397 by Jeff.Fisher UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx) -This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins. -It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over. #jira UE-51390 #review-3779148 Change 3784545 by Jeff.Fisher Build fix for cl 3784397, made a local variable name unique. Change 3784553 by Chance.Ivey Stubbing Mobile AR Template files. Needs logic, icons and copy. Change 3784570 by Jeff.Fisher fix for cl 3784397 -Reverted monoscopicfarfield default change, accidentaly submit Change 3785134 by Mike.Beach [WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment. Change 3787180 by Mike.Beach Fixing up CIS #jira UE-52998, UE-52996 Change 3787272 by Mike.Beach Adopted changes from the anim team - Followup to CL 3787240. The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components. #jira UE-52783 Change 3787454 by Jeff.Fisher Adding brackets after if as specific in code review. Change 3787591 by Keli.Hlodversson Add tps files for OpenCV Change 3788478 by Mike.Beach Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system. #jira UEVR-1042, UEVR-1045, UEVR-1046 Change 3789836 by Jeff.Fisher UE-53069 Editor crashes on open without SteamVR attached -needed to check we are in stereo and device exists. -Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug #jira UE-53069 Change 3789841 by Mike.Beach CIS fix - fallout from CL 3787272. Change 3790102 by Jeff.Fisher UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS -Android shader compiler is a bit pickier on parameter matching, fixed the parameter. #jira UE-53079 Change 3790174 by Jeff.Fisher UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS -Another shader parameter match. #jira UE-53084 Change 3791727 by Mike.Beach Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components. #jira UE-53080 Change 3766717 by Mike.Beach Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin). Change 3771327 by Ryan.Vance #jira UE-52513 Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size. Change 3773348 by Mike.Beach Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Change 3787240 by Mike.Beach Adopting IMotionController changes from anim team (in support of LiveLink)... - MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource - Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile) - MotionSource Setter node has pin customization to show choice box instead of standard FName text box. - New base class for motion controllers XRMotionControllerBase.h/cpp - Provides default implementations for new functions (Enumerate Source, Custom Parameter etc) - Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change. - Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above). - Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource #jira UE-52783 Change 3787975 by Ryan.Vance Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) [CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
IMPLEMENT_SHADER_TYPE(, FResolveDepth8XPS, TEXT("/Engine/Private/ResolvePixelShader.usf"), TEXT("MainDepth"), SF_Pixel);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476) #lockdown Nick.Penwarden ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3372740 by Chris.Bunner [Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute). StencilSceneTexture added to deferred list. A few known issues to be fixed in a follow-up CL. Change 3374187 by Chris.Bunner Volume texture support for CombineLUTs/Tonemap compute pass. Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS. Skip compute post process out-of-bounds writes. Unsigned type conversion fixes. Trimmed compute post process shader inputs. Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454636 by Uriel.Doyon Fixed point light having an extra scale of 16 in mobile #jira UE-45272 Change 3454844 by Uriel.Doyon Fixed extra X16 on some point lights #jira UE-45250 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3461206 by Guillaume.Abadie Adds possibility to scene captures and player controller to render no primitives at all. Change 3461207 by Guillaume.Abadie Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline. #jira UE-6810 Change 3461233 by Chris.Bunner Added Log10 material expression. Added tooltip for Log2 and Log10. Change 3461434 by Michael.Trepka Copy of CL 3456118 In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads. #jira UE-44961 Change 3461770 by Benjamin.Hyder Submitting TM-RayTracedDistanceField map Change 3461929 by Marc.Olano Add Sobol blueprint and material node test maps to RenderTest project Change 3462249 by Uriel.Doyon Translucency after DoF is now disabled when showflag postprocess is disabled. Change 3462371 by Brian.Karis VT addressing is now 64bit to support huge sparse virtualized volumes 16bit page tables working. Change 3462936 by Marc.Olano Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions Change 3464394 by Uriel.Doyon Improved synchronization for texture streaming commands. This fixes an issue when accessing FStreamingTexture for pending textures. Change 3464743 by Guillaume.Abadie Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time. Change 3464818 by Guillaume.Abadie Fixes compilation error in FindShaderRelativePath Change 3465184 by Daniel.Wright r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings Change 3465283 by Marc.Olano Update Sobol Gray code tables to match random order tables Change 3465976 by Arne.Schober DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas. #RB none Change 3467513 by Guillaume.Abadie Fixes an issue where primitives would no longer draw in gameplay. #jira UE-45550 Change 3471116 by Richard.Wallis Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes. - Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend. #jira UE-39108 Change 3471117 by Richard.Wallis Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor. #jira UE-43026 Change 3471130 by Richard.Wallis Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running. - Only defined in for Mac and non shipping. #jira UE-44934 Change 3471224 by Guillaume.Abadie Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects. Change 3471646 by Daniel.Wright Fixed ensure opening UT system settings Change 3471862 by Arne.Schober DR - revert accidently checked in changes. #RB Chris.Bunner Change 3472249 by Guillaume.Abadie Implements virtual shader source directory mapping. - /Engine/... maps to Engine/Shaders/... - /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory - /Project/... maps to project's Shaders/ directory Change 3472443 by Daniel.Wright Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible Change 3474537 by Uriel.Doyon Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion) Change 3475192 by Guillaume.Abadie Implements LensDistortion engine plugin. This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters: - It is implemented as the first engine plugin with its own shaders and render thread commands; - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py) Change 3475209 by Guillaume.Abadie Back out changelist 3475192 Change 3475252 by Guillaume.Abadie Reland: Implements LensDistortion engine plugin. This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters: - It is implemented as the first engine plugin with its own shaders and render thread commands; - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py) Change 3475389 by Guillaume.Abadie Adds LensDistortion plugin's feature tests. Change 3475538 by Guillaume.Abadie Adds the /Engine/* prefix on all of the renderer's USF file references. Change 3475568 by Guillaume.Abadie Adds a check for virtual shader source file path format in FShaderType::FShaderType() Change 3475871 by Guillaume.Abadie Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath Change 3475997 by Yujiang.Wang Workaround for a compiler optimization bug introduced in VS2015 Update 3. * The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark. * Debug builds don't exhibit this bug. * Semantics are exactly the same as the original code. Change 3476203 by David.Hill Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2 #jira UE-45741 Change 3476536 by Benjamin.Hyder adding player start to Ray Traced Distance Field Shadows Map Change 3478298 by Benjamin.Hyder disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map Change 3478948 by Rolando.Caloca DR - Nicer check Change 3478949 by Rolando.Caloca DR - Default GPU morphs to enabled Change 3478950 by Rolando.Caloca DR - By default -vulkan will launch SM5 Change 3478984 by Rolando.Caloca DR - Pass down -vulkan Change 3479655 by Richard.Wallis Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track. - Minimal change to allow video track changes/selection. - Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to... - Flush the audio sink sample buffers so we get instant audio track changes #jira UE-39750, UE-39749 Change 3479834 by Rolando.Caloca DR - Fix issue with bad vertex colors (per licensee) Change 3480376 by Guillaume.Abadie Disables ComputeLightGrid() if no volumetric fog and no lighting. #jira UE-45377 Change 3480596 by Yujiang.Wang Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection * Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection * Fixed by taking View.bReverseCulling into account #jira UE-34452 Change 3480600 by Yujiang.Wang Fix for UE-42376 * The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently. * This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap * If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed. #jira UE-42376 Change 3480784 by Rolando.Caloca DR - hlslcc - Initial support for [RW]StructuredBuffer Change 3481690 by Uriel.Doyon Attempt to fix static analysis warning Change 3482012 by Simon.Tovey Fixed issue when building distribution lookup tables where the final sample fell short of the max input time. As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT. #tests constant interpolation now works. #jira UE-45614 Change 3482965 by Yujiang.Wang Some quality of life changes for UE-42757 * The UV overlay in static mesh editor now has a darker background * Selected edges are getting highlighted and bolder * When some edges are selected others turn grey #jira UE-42757 Change 3483014 by David.Hill Change labels on bloom boost from x,y,z to min, max, mult. #jira UE-43904 a PropertyRedirect in BaseEngine.ini allows this to work with older version. Change 3484573 by Yujiang.Wang Fix for shadow color not updated after light build when a texture is changed and reimported * Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter * Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed #jira UE-45647 Change 3484969 by Yujiang.Wang Fix for UE-39929 inconsistent type between C++ and shader code * MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp * Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp #jira UE-39929 Change 3485012 by Yujiang.Wang Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT #jira UE-39929 Change 3485146 by Guillaume.Abadie Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround. #jira UE-43455 Change 3486602 by Joe.Conley Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph. Change 3487471 by Yujiang.Wang Github #3659: Improved performance of DumpUnbuiltLightInteractions * Replaced TArrays with TSets #jira UE-45783 Change 3487641 by Guillaume.Abadie Fixes some shader file name casing issues in LPV. Change 3488014 by Uriel.Doyon New AllowAsyncLoading flag for UTexture::CachePlatformData(). It allows to load the source texture data in the async task if the source bulk data was not yet loaded. Data loaded that way is not sharable between tasks and will be discarded. This is required because updating the source data is not thread safe. #jira UERNDR-190 #jira UE-33401 Change 3488249 by Uriel.Doyon Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore. Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change. #jira UE-46004 Change 3490228 by Mark.Satterthwaite Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type). #jira UE-46067 Change 3490538 by Arne.Schober Back out changelist 3488249 #RB none Change 3490551 by Arne.Schober Back out changelist 3488249 #RB none Change 3491828 by Guillaume.Abadie Fixes another USf file reference casing issue in C++. Change 3491924 by Yujiang.Wang Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level * Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp * We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black #jira UE-43302 Change 3492359 by Guillaume.Abadie Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping(). Change 3492367 by Marc.Olano Change Sobol texture size to 32x16, tweak distribution Change 3492599 by Marcus.Wassmer PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01) Change 3493473 by Uriel.Doyon Back out changelist 3490538 Change 3493590 by Uriel.Doyon Back out changelist 3490551 Fixed missing #pragma once Change 3493911 by Marcus.Wassmer Fix potential GPU crash/hang caused by out of bound subresource updates. Added checks at cross-platform level to catch any instance earlier. Change 3494139 by Uriel.Doyon Fixed shadow variable issue on UE4Editor Linux. Change 3494364 by Richard.Wallis Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4. OpenGL left in the following areas: - OpenGLShaderCompiler - StandaloneRenderer The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made: - OpenGLTexture.cpp #jira UE-39108 Change 3494413 by Guillaume.Abadie Updates r.InvalidateCachedShader and bump ShaderVersion.ush. Change 3494422 by Guillaume.Abadie Adds LensDistortion plugin's Private shader directory. Change 3494717 by Guillaume.Abadie Strengthens shader compiler with checks on generated file names and shader type file names. Change 3494763 by Guillaume.Abadie Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path. Change 3494985 by Rolando.Caloca DR - Integrate Vulkan Rewrite Change 3495031 by Rolando.Caloca DR - Delete file as it moved Change 3495032 by Rolando.Caloca DR - Show Vulkan SM5 instead of SM4 on windows packaging - Also added support for Vulkan SM5_UB Change 3495202 by Uriel.Doyon Fixed static analysis warning with pointer dereferencing. Change 3495342 by Rolando.Caloca DR - clang compile fix Change 3495354 by Rolando.Caloca DR - clang compile fixes Change 3495420 by Marc.Olano Use Sobol sampling for PCSS Change 3495799 by Rolando.Caloca DR - Delete old dev assets Change 3496202 by Mark.Satterthwaite Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass. #jira UE-46070 Change 3496253 by Uriel.Doyon Fixed static analysis warning for IncludeTool Change 3496631 by Guillaume.Abadie Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable. Change 3496851 by Guillaume.Abadie Fixes back slash issues in Platform.usf. Change 3496852 by Guillaume.Abadie Fixes other back slashes includes in PS4 specific usf files. Change 3496941 by Guillaume.Abadie Adds a check() for no backslash in virtual shader file paths. Change 3497661 by Guillaume.Abadie Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform. Change 3497969 by Richard.Wallis Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies. - Tested on iOS and Mac. #jira UE-39585 Change 3498035 by Guillaume.Abadie Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts. Change 3498101 by Rolando.Caloca DR - Compile fix Change 3498254 by Guillaume.Abadie Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching. Change 3498264 by Guillaume.Abadie Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame Change 3498371 by Yujiang.Wang Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2 * Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews * Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures) #jira UE-46149 Change 3498409 by Rolando.Caloca DR - Swap resolves Change 3498410 by Guillaume.Abadie Adds support for opacity output alpha for post process material when doing a draw material to render target. Change 3498705 by Rolando.Caloca DR - Add UID for debugging mem allocations Change 3498759 by Marcus.Wassmer No post processing in vertexcolor view mode #jira UE-44704 Change 3498891 by Rolando.Caloca DR - Minor Vulkan per frame allocator refactor in prep for changes Change 3499206 by Rolando.Caloca DR - Fix temp frame allocator OOM on Vulkan #jira UE-45913 Change 3499319 by Rolando.Caloca DR - Vulkan support for StorageBuffer Change 3499339 by Rolando.Caloca DR - Remove deprecated typedef Change 3499400 by Rolando.Caloca DR - Remove some RHICmdList deprecated functions Change 3499422 by Rolando.Caloca DR - Allow buffer transitions inside render passes Change 3500370 by Rolando.Caloca DR - Compile fix Change 3500474 by Rolando.Caloca DR - Fix static analysis Change 3500517 by Guillaume.Abadie Exposes r.PostProcessing.PropagateAlpha to the renderer settings. Change 3500537 by Guillaume.Abadie Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world. #jira UE-39389 Change 3501069 by Mark.Satterthwaite Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18. temporary fix for skewed textures on IOS 9 #jira UE-44468 Change 3501164 by Michael.Lentine PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist) Change 3501222 by Benjamin.Hyder Checking in Tm_SobolNoise map Change 3501612 by zachary.wilson Adding testing content for RTDF shadows on planar reflections Change 3501708 by Guillaume.Abadie Break FPostProcessSettings into smallers structs. Change 3501830 by Olaf.Piesche #jira UE-39628; using fix proposed in UDN, will investigate further Change 3501954 by Marcus.Wassmer Duplicate 3480903 Light culling safety measures. Change 3502032 by Mark.Satterthwaite Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9. Change 3502118 by Uriel.Doyon Fixed shader compilation issues. Change 3502191 by Guillaume.Abadie Implements Composure plugin to make compositing in UE4 easier. Change 3502192 by Guillaume.Abadie Implements Composure feature testing in EngineTests Change 3502196 by Guillaume.Abadie Creates a dependency of Composure plugin over LensDistortion plugin. Change 3502213 by Arciel.Rekman Fix for loading shaders on Linux (UE-46276). Change 3502243 by Brian.Karis Bent normal map support. Multibounce AO. Spherical Gaussian based specular occlusion. Change 3502506 by Guillaume.Abadie Fixes compilation failure in Composure with unity build. Change 3502507 by Guillaume.Abadie Fixes composure Set Pass with Render Target blueprint helper. Change 3502510 by Guillaume.Abadie Attempts to fix ComposureUtils.cpp compile errors. Change 3502515 by Guillaume.Abadie Some other composure failure fixes. Change 3502545 by Guillaume.Abadie Fixes some unity build related error in Composure. Change 3502548 by Guillaume.Abadie Fixes last missing includes in ComposurePostProcessPass.cpp Change 3502672 by Guillaume.Abadie Fixes linux warning in Composure. Change 3502790 by Ryan.Brucks float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break. Change 3502836 by Guillaume.Abadie Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances. #jira UE-6810 Change 3503096 by Guillaume.Abadie Resave a unversioned asset. Change 3503228 by Yujiang.Wang Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry * Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass * Replaced the true with bReflectiveShadowmap #jira UE-45646 Change 3503284 by Rolando.Caloca DR - Fixed initial clear on rendertargets - Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4 - Dump the vulkan log into VS output log - Added validation for layouts when using dump log Change 3503545 by Arciel.Rekman Fix black UI on Linux (UE-46333) - Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist. #jira UE-46333 Change 3503638 by Daniel.Wright [Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding Change 3503787 by Marcus.Wassmer Fix difference between gpu/cpu morph target application Change 3503902 by Marcus.Wassmer Roll back TAA refactor until we have time to look into the bad interaction with DOF. Change 3503953 by Arne.Schober DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources. #RB Marcus.Wassmer Change 3504131 by Rolando.Caloca DR - Maintain a cache of pipeline and descriptor set layouts - Fix marker dump Change 3504462 by Guillaume.Abadie Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results. #jira UE-46277 Change 3504779 by Chris.Bunner Potential static analysis fix. #jira UE-46360 Change 3504950 by Marc.Olano Allow Sobol material nodes & textures only if feature level is at least ES3.1 #jira UE-46334 #jira UE-46317 Change 3505035 by Daniel.Wright Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously. Change 3505386 by Daniel.Wright GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf Change 3505491 by Rolando.Caloca DR - Fix crash on first frame of particles on modern APIs Change 3505557 by Chris.Bunner [Duplicate] Workaround for outdated shader map crash. #jira UE-46061 Change 3506071 by Rolando.Caloca DR - Vulkan fixes - Fix copy out of bounds reading textures to CPU - Defer event deletion - Split validation for errors and warnings - Skip validation error about attachment not used Change 3506698 by Guillaume.Abadie Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge. Change 3506797 by Rolando.Caloca DR - Fix static analysis #jira UE-46428 Change 3506861 by Rolando.Caloca DR - Fix crash due to layering violation #jira UE-46424 #jira UE-46431 Change 3508098 by Rolando.Caloca DR - Fix for Vulkan ES31 crash - Fix for AMD ensure Change 3508123 by Rolando.Caloca DR - Disable occlusion queries on Vulkan to avoid flickering - Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips) - Fix for decal blending #jira UE-46376 Change 3509064 by Uriel.Doyon Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found. #jira UE-46427 Change 3509854 by Marc.Olano Fix 2D Sobol gray code numbers. Just changes some numbers in initialization tables, so no effect on existing tests or content. Change 3509920 by Marcus.Wassmer Fix LPV fastvram ensure Change 3509937 by Rolando.Caloca DR - Fix crash due to deleted viewport #jira UE-46281 Change 3509988 by Marcus.Wassmer Roll back part of Sobol fix to avoid full shader recompile for integration. Change 3510255 by Rolando.Caloca DR - Fix popup window ensure #jira UE-46511 Change 3510646 by Marcus.Wassmer fix ios compiles Change 3511442 by Rolando.Caloca DR - Change mesh simplification check to ensure/checkslow to unblock #jira UE-46538 DONE! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Change 3467095 by Guillaume.Abadie Nukes all += TEXT(".usf") #jira UE-45530 Change 3475084 by Guillaume.Abadie Fixes compilation failure of the shader compiler on PS4 and XboxOne Change 3477464 by Guillaume.Abadie Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts. Change 3494395 by Guillaume.Abadie Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points. DONE! [CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
IMPLEMENT_SHADER_TYPE(, FResolveSingleSamplePS, TEXT("/Engine/Private/ResolvePixelShader.usf"), TEXT("MainSingleSample"), SF_Pixel);
IMPLEMENT_SHADER_TYPE(, FResolveVS, TEXT("/Engine/Private/ResolveVertexShader.usf"), TEXT("Main"), SF_Vertex);
void FResolveSingleSamplePS::SetParameters(FRHICommandList& RHICmdList, uint32 SingleSampleIndexValue)
{
SetShaderValue(RHICmdList, RHICmdList.GetBoundPixelShader(),SingleSampleIndex,SingleSampleIndexValue);
}
void FResolveVS::SetParameters(FRHICommandList& RHICmdList, const FResolveRect& SrcBounds, const FResolveRect& DstBounds, uint32 DstSurfaceWidth, uint32 DstSurfaceHeight)
{
// Generate the vertices used to copy from the source surface to the destination surface.
const float MinU = (float)SrcBounds.X1;
const float MinV = (float)SrcBounds.Y1;
const float MaxU = (float)SrcBounds.X2;
const float MaxV = (float)SrcBounds.Y2;
const float MinX = -1.f + DstBounds.X1 / ((float)DstSurfaceWidth * 0.5f);
const float MinY = +1.f - DstBounds.Y1 / ((float)DstSurfaceHeight * 0.5f);
const float MaxX = -1.f + DstBounds.X2 / ((float)DstSurfaceWidth * 0.5f);
const float MaxY = +1.f - DstBounds.Y2 / ((float)DstSurfaceHeight * 0.5f);
SetShaderValue(RHICmdList, RHICmdList.GetBoundVertexShader(), PositionMinMax, FVector4f(MinX, MinY, MaxX, MaxY));
SetShaderValue(RHICmdList, RHICmdList.GetBoundVertexShader(), UVMinMax, FVector4f(MinU, MinV, MaxU, MaxV));
}