Files
UnrealEngineUWP/Engine/Shaders/Common.usf

1960 lines
62 KiB
Plaintext
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
Common.usf: Common shader code
=============================================================================*/
#pragma once
#if PS4_PROFILE
// always #include PS4Common.usf so it can #define override anything in any other included file.
#include "PS4/PS4Common.usf"
#endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3006483 on 2016/06/08 by Simon.Tovey Fix for UE-31653 Instance params from the Spawn, Required and TypeData modules were not being autopopulated. Change 3006514 on 2016/06/08 by Zabir.Hoque MIGRATING FIX @ Request Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction. #CodeReview: Marcus.Wassmer, Daniel.Wright Change 3006605 on 2016/06/08 by Rolando.Caloca DR - vk - Remove a bunch of unused code, clean up some todos Change 3006969 on 2016/06/08 by HaarmPieter.Duiker Add #ifdefs around inverse tonemapping to avoid performance hit in normal use Change 3007240 on 2016/06/09 by Chris.Bunner Made a pass at fixing global shader compile warnings and errors. Change 3007242 on 2016/06/09 by Chris.Bunner Don't force unlit mode when re-loading a map. #jira UE-31247 Change 3007243 on 2016/06/09 by Chris.Bunner Cache InvalidLightmapSettings material for instanced meshes. #jira UE-31182 Change 3007258 on 2016/06/09 by Chris.Bunner Fixed refractive depth bias material parameter. Change 3007466 on 2016/06/09 by Rolando.Caloca DR - Use vulkan debug marker extension directly from header Change 3007504 on 2016/06/09 by Martin.Mittring added refresh button to ImageVerifier Change 3007528 on 2016/06/09 by Martin.Mittring ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end make render more deterministic Change 3007551 on 2016/06/09 by Chris.Bunner Reverted constant type change in previous commit. Change 3007559 on 2016/06/09 by Martin.Mittring updated ImageValidator Change 3007584 on 2016/06/09 by Rolando.Caloca DR - Fix case when not running under RD Change 3007668 on 2016/06/09 by Rolando.Caloca DR - vk - Split layers/extensions by required/optional Change 3007820 on 2016/06/09 by Rolando.Caloca DR - Android compile fix Change 3007926 on 2016/06/09 by Martin.Mittring fixed UI scaling in ImageVerifyer Change 3007931 on 2016/06/09 by John.Billon -Fixed cutouts not working for certain sized texture/subUV size combinations. -Also fixed issue with subUV module not being postloaded consistently on startup. #Jira UE-31583 Change 3008023 on 2016/06/09 by Martin.Mittring refactor noise code in shaders Change 3008127 on 2016/06/09 by Zabir.Hoque Merging back hot fixes: 1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS. 2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself. Change 3008129 on 2016/06/09 by Daniel.Wright Disabled r.ProfileGPU.PrintAssetSummary by default due to spam Change 3008169 on 2016/06/09 by Rolando.Caloca DR - Fix mobile rendering not freeing resource when using RHI thread Change 3008429 on 2016/06/09 by Uriel.Doyon Enabled texture streaming new metrics. Added progress bar while texture streaming is being built. Added debug shader validation to prevent crashes when there are uniform expression set mismatches. Added texture streaming build to "Build All" Change 3008436 on 2016/06/09 by Uriel.Doyon Fixed shipping build Change 3008833 on 2016/06/10 by Rolando.Caloca DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications Submitted by Allar PR #1864 #jira UE-24545 Change 3008842 on 2016/06/10 by Rolando.Caloca DR - Remove vertex densities view mode Change 3008857 on 2016/06/10 by John.Billon Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching. Change 3008870 on 2016/06/10 by Rolando.Caloca DR - Rebuild hlslcc libs (missing from last merge) Change 3008925 on 2016/06/10 by John.Billon Fixed r.ScreenPercentage.Editor #Jira UE-31549 Change 3009028 on 2016/06/10 by Daniel.Wright Shadow depth refactor * Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame * This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading * The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed * A large amount of duplicated code to handle each shadow type has been combined * Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency * 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures Change 3009032 on 2016/06/10 by Daniel.Wright Fixed crash with simple forward shading in the material editor Change 3009178 on 2016/06/10 by Rolando.Caloca DR - Add support for multi callbacks on HlslParser, added a write to string callback Change 3009268 on 2016/06/10 by Daniel.Wright Warning fixes Change 3009416 on 2016/06/10 by Martin.Mittring moved decal rendering code in common spot for upcoming MeshDecal rendering Change 3009433 on 2016/06/10 by John.Billon Adding ensures for translucency lighting volume render target acesses. #Jira UE-31578 Change 3009449 on 2016/06/10 by Daniel.Wright Fixed whole scene point light shadow depths getting rendered redundantly Change 3009675 on 2016/06/10 by Martin.Mittring fixed Clang compiling Change 3009815 on 2016/06/10 by Martin.Mittring renamed IsUsedWithDeferredDecal to IsDeferredDecal to be more correct Change 3009946 on 2016/06/10 by Martin.Mittring minor optimization Change 3010270 on 2016/06/11 by HaarmPieter.Duiker Update gamut transformations used when dumping EXRs to account for bug UE-29935 Change 3011423 on 2016/06/13 by Martin.Mittring fixed default of bOutputsVelocityInBasePass #code_review:Rolando.Caloca #test:PC Change 3011448 on 2016/06/13 by Martin.Mittring minor engine code cleanup #code_review:Olaf.Piesche #test:PC Change 3011991 on 2016/06/13 by Daniel.Wright Fixed downsampled translucency crash in VR Change 3011993 on 2016/06/13 by Daniel.Wright Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely' Mobility tooltips now reflect whether a primitive component or light component is being inspected Change 3012096 on 2016/06/13 by Daniel.Wright Missing file from cl 3011993 Change 3012546 on 2016/06/14 by John.Billon Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled #Jira OR-23282 Change 3012706 on 2016/06/14 by John.Billon Renamed r.ContactShadows.Enable to r.ContactShadows Change 3012992 on 2016/06/14 by Rolando.Caloca DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled - Added support for CustomPresent Change 3013030 on 2016/06/14 by Rolando.Caloca DR - vk - Fix dev issue Change 3013423 on 2016/06/14 by Martin.Mittring removed code redundancy for easier upcoming changes #test:PC Change 3013451 on 2016/06/14 by Martin.Mittring removed no longer needed debug cvar #test:PC Change 3013643 on 2016/06/14 by Zabir.Hoque Fix API only being inlined in the cpp and not avaialble in the .h Change 3013696 on 2016/06/14 by Olaf.Piesche Adding missing quality level spawn rate scaling on GPU emitters Change 3013736 on 2016/06/14 by Daniel.Wright Cached shadowmaps for whole scene point and spot light shadows * Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights) * Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving * Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached * Cached shadowmaps are copied each frame and then movable primitive depths composited * Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap) * 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness) * 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights) Change 3014103 on 2016/06/15 by Daniel.Wright Compile fix Change 3014507 on 2016/06/15 by Simon.Tovey Resurrected Niagara playground and moved to Samples/NotForLicencees Change 3014931 on 2016/06/15 by Martin.Mittring moved r.RenderInternals code into renderer to be able to access more low level data #test:PC, paragon Change 3014933 on 2016/06/15 by Martin.Mittring nicer text Change 3014956 on 2016/06/15 by Daniel.Wright Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD) Change 3014985 on 2016/06/15 by Uriel.Doyon Enabled Texture Build shaders on Mac Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping. Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets #jira UE-30566 #jira UE-31098 Change 3014995 on 2016/06/15 by Rolando.Caloca DR - vk - Removed RHI thread wait on acquire image - Move Descriptor pool into context Change 3015002 on 2016/06/15 by Rolando.Caloca DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine Change 3015041 on 2016/06/15 by Martin.Mittring fixed ImageValidator crashing when using files that exist only in ref or test folder Change 3015309 on 2016/06/15 by Rolando.Caloca DR - vk - Enable fence re-use on SDKs >= 1.0.16.0 Change 3015356 on 2016/06/15 by Rolando.Caloca DR - vk - Prep for staging buffer refactor Change 3015430 on 2016/06/15 by Martin.Mittring minor optimization for subsurfacescatteringprofile Change 3016097 on 2016/06/16 by Simon.Tovey Enabling Niagara by default in the Niagara playground Change 3016098 on 2016/06/16 by Simon.Tovey Some misc fixup to get niagara working again Change 3016183 on 2016/06/16 by Rolando.Caloca DR - vk - Recreate buffer view for volatile buffers Change 3016225 on 2016/06/16 by Marcus.Wassmer Duplicate reflection fixes from 4.12 hotfixes. Change 3016289 on 2016/06/16 by Chris.Bunner Always gather MP_Normal definitions as they can be shared by other material properties. #jira UE-31792 Change 3016294 on 2016/06/16 by Daniel.Wright Fix for ensure accessing CVarCacheWPOPrimitives in game Change 3016305 on 2016/06/16 by Daniel.Wright Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been Change 3016330 on 2016/06/16 by Daniel.Wright Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light Stats for shadowmap memory used under 'stat shadowrendering' Change 3016506 on 2016/06/16 by Daniel.Wright Fixed crash building map in SunTemple due to null access Change 3016703 on 2016/06/16 by Uriel.Doyon Fixed warning due to floating point imprecision when building texture streaming Change 3016718 on 2016/06/16 by Daniel.Wright Volume lighting samples use adaptive sampling final gather * Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting) Change 3016871 on 2016/06/16 by Max.Chen Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation. Copy from Dev-Sequencer #jira UE-32093 Change 3017189 on 2016/06/16 by Zabir.Hoque Fix GBuffer format selection type-o. #CodeReview: Marcus.Wassmer Change 3017241 on 2016/06/16 by Martin.Mittring optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing #code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden Change 3017856 on 2016/06/17 by Rolando.Caloca DR - Missing GL enum Change 3017910 on 2016/06/17 by Ben.Woodhouse - Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates - Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24) #RB:Keli.Hloedversson,Martin.Mittring Change 3018126 on 2016/06/17 by Ben.Woodhouse Fix build warning on Mac #RB:David.Hill Change 3018167 on 2016/06/17 by Chris.Bunner Handle case when float4 is passed to TransformPosition material node. #jira UE-24980 Change 3018246 on 2016/06/17 by Benjamin.Hyder Submitting Preliminary ShadowRefactor TestMap Change 3018330 on 2016/06/17 by Benjamin.Hyder labeled ShadowRefactor map Change 3018377 on 2016/06/17 by Chris.Bunner Removed additional node creation when initializing a RotateAboutAxis node. #jira UE-8034 Change 3018433 on 2016/06/17 by Rolando.Caloca DR - Fix some clang warnings on Vulkan Change 3018664 on 2016/06/17 by Martin.Mittring unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812) #test:PC #code_review:Marcus.Wassmer,Brian.Karis Change 3019023 on 2016/06/19 by Benjamin.Hyder Re-Labeled ShadowRefactor map Change 3019024 on 2016/06/19 by Benjamin.Hyder Correcting Translucent Volume (Non-Directional) settings Change 3019026 on 2016/06/19 by Benjamin.Hyder Correcting Lighting ShadowRefactor map Change 3019414 on 2016/06/20 by Allan.Bentham Refactor mobile shadows Change 3019494 on 2016/06/20 by Gil.Gribb Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering) Change 3019504 on 2016/06/20 by John.Billon -Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk. -Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints. -Created a small common interface for blueprints and the editor itself to use for exporting. #Jira UE-31429 Change 3019561 on 2016/06/20 by Gil.Gribb UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager. Change 3019616 on 2016/06/20 by Rolando.Caloca DR - Replicate change in DevRendering to fix splotches on characters with morph targets Change: 3019599 O - Fix flickering on heroes with morph targets Change 3019627 on 2016/06/20 by Rolando.Caloca DR - Doh! Compile fix Change 3019674 on 2016/06/20 by Simon.Tovey Ripped out the quick hacky VM debugger I wrote a while back. Over complicated the VM and didn't do enough work to justify it. Will revisit debugging and profiling of VM scripts in future. Change 3019691 on 2016/06/20 by Ben.Woodhouse Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed. This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs). #RB:Martin.Mittring, Daniel.Wright Change 3019741 on 2016/06/20 by John.Billon Fixed compile error on mac. Change 3019984 on 2016/06/20 by Martin.Mittring minor optimization Change 3020172 on 2016/06/20 by Zachary.Wilson Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none Change 3020195 on 2016/06/20 by Zachary.Wilson Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none Change 3020196 on 2016/06/20 by Rolando.Caloca DR - Appease static analysis Change 3020231 on 2016/06/20 by Zachary.Wilson Making basic shapes consistent distance field resolution scale. #rb: none Change 3020468 on 2016/06/20 by David.Hill CameraWS UE-29146 Change 3020502 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee Camera for RenderOutputValidation Change 3020508 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee for RenderOutputValidation Change 3020514 on 2016/06/20 by Benjamin.Hyder Setting Autoplay for AutomationMatinee (sequence) Change 3020561 on 2016/06/20 by Daniel.Wright Removed outdated comment on uniform expression assert Change 3021268 on 2016/06/21 by Daniel.Wright Scaled sphere intersection for indirect capsule shadows * Fixes the discontinuity when capsule axis points close to the light direction * GPU cost is effectively the same (more expensive to compute, but tighter culling) Change 3021325 on 2016/06/21 by Daniel.Wright Split ShadowRendering.cpp into ShadowDepthRendering.cpp Change 3021355 on 2016/06/21 by Daniel.Wright Fixed RTDF shadows (broken by shadowmap caching) Change 3021444 on 2016/06/21 by Daniel.Wright Fixed crash due to Depth drawing policy not using the default material shader map properly Change 3021543 on 2016/06/21 by Daniel.Wright Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns Change 3021749 on 2016/06/21 by Daniel.Wright Moved RenderBasePass and dependencies into BasePassRendering.cpp Moved RenderPrePass and dependencies into DepthRendering.cpp Change 3021766 on 2016/06/21 by Benjamin.Hyder Adding 150dynamiclights level to Dev-Folder Change 3021971 on 2016/06/21 by Daniel.Wright Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation * TLM_SurfacePerPixelLighting now behaves like TLM_Surface Change 3022760 on 2016/06/22 by Chris.Bunner Merge fixup. Change 3022911 on 2016/06/22 by Rolando.Caloca DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders Change 3023037 on 2016/06/22 by Rolando.Caloca DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed Change 3023139 on 2016/06/22 by Daniel.Wright Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled Change 3023231 on 2016/06/22 by Daniel.Wright Only allowing opaque per-object shadows or CSM in the mobile renderer Change 3023415 on 2016/06/22 by Daniel.Wright Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target Change 3024888 on 2016/06/23 by Daniel.Wright Fixed preshadows being rendered redundantly with multiple lights Change 3025119 on 2016/06/23 by Martin.Mittring added MeshDecal content to RenderTest Change 3025122 on 2016/06/23 by Martin.Mittring enabled DBuffer for RenderTest Change 3025153 on 2016/06/23 by Marc.Olano Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10. Needed to use world space without shader offsets, not absolute world space. Change 3025180 on 2016/06/23 by Marc.Olano Use translated world space for particle centers. Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables. Change 3025265 on 2016/06/23 by David.Hill Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer #jira UE-26165 Change 3025269 on 2016/06/23 by Ryan.Brucks Adding new Testmap for Pixel Depth Offset velocities with Temporal AA Change 3025345 on 2016/06/23 by Benjamin.Hyder Submitting MeshDecal Content Change 3025444 on 2016/06/23 by Benjamin.Hyder updating content for MeshDecal Change 3025491 on 2016/06/23 by Benjamin.Hyder Updating DecalMesh Textures Change 3025802 on 2016/06/23 by Martin.Mittring added to readme Change 3026475 on 2016/06/24 by Rolando.Caloca DR - Show current state of r.RHIThread.Enable when not using param Change 3026479 on 2016/06/24 by Rolando.Caloca DR - Upgrade glslang to 1.0.17.0 Change 3026480 on 2016/06/24 by Rolando.Caloca DR - Vulkan headers to 1.0.17.0 Change 3026481 on 2016/06/24 by Rolando.Caloca DR - Vulkan wrapper for extra logging Change 3026491 on 2016/06/24 by Rolando.Caloca DR - Missed file Change 3026574 on 2016/06/24 by Rolando.Caloca DR - vk - Enabled fence reuse on 1.0.17.0 - Added more logging info Change 3026656 on 2016/06/24 by Frank.Fella Niagara - Prevent sequencer uobjects from being garbage collected. Change 3026657 on 2016/06/24 by Benjamin.Hyder Updating Rendertestmap to latest Change 3026723 on 2016/06/24 by Rolando.Caloca DR - Fix for ES3.1 RHIs Change 3026784 on 2016/06/24 by Martin.Mittring New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on) Change 3026866 on 2016/06/24 by Olaf.Piesche #jira OR-18363 #jira UE-27780 fix distortion in particle macro uvs [CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2897738) ========================== MAJOR FEATURES + CHANGES ========================== Change 2875445 on 2016/02/22 by Matthew.Griffin Added UE4.natvis to Visual Studio Projects #jira UE-27153 Change 2875456 on 2016/02/22 by Keith.Judge Fix custom stencil shaders on Xbox One #jira UES-1387 Change 2875524 on 2016/02/22 by Robert.Manuszewski More log info when saving shader temp files fails. Increased the number of attemps when moving a file fails. #jira UE-20945 Change 2875698 on 2016/02/22 by Rolando.Caloca UE4.11 - Add new bool for RHIs (unused currently) #jira UE-24967 Change 2875897 on 2016/02/22 by Taizyd.Korambayil #jira UE-20324 Re-imported Cloth Skeletal Meshes to Fix odd Circle Highlights Change 2875922 on 2016/02/22 by Mieszko.Zielinski Fixed BP-implemented EQS generators crashing when trying to add generated value of wrong type #UE4 #jira UE-25034 #rb Lukasz.Furman Change 2875960 on 2016/02/22 by Michael.Trepka Added a way to disable right click emulation on Mac and used it in TabNavigator to fix issues with its widgets not reacting to clicking #jira UE-21895 Change 2875984 on 2016/02/22 by Michael.Schoell Split output struct pins will no longer give a warning about override pins being removed. #jira UE-27150 - Format Text nodes and split nodes reporting warning that override pins are removed. Change 2876169 on 2016/02/22 by Ben.Marsh Changes to support building UHT plugins with the binary release. * Add source code and target files for UHT to binary distribution * Fix UBT deleting build products if we're only compiling a single module. * Fix UBT exception setting up compile environment when a module doesn't have any source files set to build. * Include DLL import libraries for UHT in the build * Add support for compiling UHT modules in BuildPluginCommand. Stages an empty host project to allow UHT to load any enabled plugins. Change 2876219 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2874609 #jira UE-24967 PC: Update D3D12 RHI - Implement _RenderThread versions of Create, Lock and Unlock Index/Vertex Buffer. Only synchronize threads on Readback - Limit GPU starvation on CPU bound scenarios by flushing work when the GPU is idle - Change texture streaming system to correctly account for placed textures. Also fix texture sizes so they accurately represent the real size of the allocation the GPU. - Disable API shader blobs - Add the ability to easily change allocation stategy for a given pool, also add a simple linear allocator and a 'Multi-Buddy Allocator' for efficiency in different scenarios - Pool Fences to prevent creation and destruction every frame when using Async Compute - Implement _RenderThread versions of CreateShaderResourceView and CreateUnorderedAccessView Change 2876232 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2876173 #jira UE-24967 PC: Update D3D12 RHI - Fix ResizeBuffers() failing due to dangling references to the backbuffer if deferred deletion is used. - Reorder when pending FRHIResources are deleted. This still needs to flush all pending deletes and ignore the deferred deletion queue otherwise some items may still be left in the engine's queue. - Fix UT build error due to missing FPlatformMisc::GetGPUDriverInfo() Change 2876366 on 2016/02/22 by Douglas.Copeland Adding Skeletal Meshes for Import Test Case #jira UE-24473 Change 2876401 on 2016/02/22 by Peter.Sauerbrei fix for WindowsClient build from UFE and Project Launcher #jira UE-23897 Change 2876456 on 2016/02/22 by Ben.Marsh Use a more hierarchical directory structure for packaged builds, rather than just dumping everything in the root. Now defaults to <Share>\\PackagedBuilds\\<Branch>\\<CL>\\<ProjectName>_<Platform>_<Configuration>. Change 2876507 on 2016/02/22 by Nick.Shin use HOME (osx) and USERPROFILE (windows) on appropriate target platform #jira UE-26414 -- Mac is missing .emscripten file necessary for packaging or launching onto HTML5 Change 2876537 on 2016/02/22 by Dan.Oconnor Removed dubious fix for an old bug, no longer needed but I havn't figured out what has changed. This fixes a crash on Replace References, but does not reintroduce UE-9497 #jira UE-24891 Change 2876545 on 2016/02/22 by Chad.Taylor SteamVR camera late-update fix #jira UE-27254 Change 2876825 on 2016/02/22 by Dan.Oconnor Unfortunate edge case in lifetime of UEdGraph's schema, schema is assigned after construction so its modification is in the undo buffer, and we clear it after undoing. #jira UE-25956 Change 2876878 on 2016/02/22 by Nick.Whiting PSVR HMD Server support #jira UE-27262 [CL 2905127 by Matthew Griffin in Main branch]
2016-03-11 09:55:03 -05:00
#if XBOXONE_PROFILE
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3212531) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3212485 on 2016/11/28 by Dmitry.Rekman Update libwebsockets to use -fPIC. Change 3212280 on 2016/11/28 by Guillaume.Abadie Fixes static lighting regression caused by selective outputs fix. Change 3211095 on 2016/11/28 by Ian.Fox #UE4 - Add nullptr check to cookonthefly server ini check Change 3211042 on 2016/11/28 by Bob.Tellez #UE4 Add an option to reset a particle system comp on a camera lens emitter when it is retriggered Change 3209336 on 2016/11/23 by Rob.Cannaday Fix shutdown crash trying to cancel an HTTP request after the HTTP module has been unloaded Move the cancel call to the PreUnload step #jira FORT-33515 Change 3208350 on 2016/11/22 by Jeff.Campeau Added bVirtualKeyboardDisplayOnFocus to Slate settings defaulted to true (old behavior) Always open a virtual keyboard when the facebutton bottom is pressed on an active text field Do not open a virtual keyboard on focus gained by any method other than mouse if bVirtualKeyboardDisplayOnFocus is set to false #jira FORT-30722 Change 3207430 on 2016/11/22 by James.Hopkin #fortnite Applied changes from CL#3161737 (UE4/Main) to stage and package SSL certificate bundles. Change 3207422 on 2016/11/22 by Ben.Woodhouse * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3206301 on 2016/11/21 by Ben.Woodhouse Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3206144 on 2016/11/21 by Lukasz.Furman improved path following sticking to tether bounds #jira FORT-32097 Change 3206142 on 2016/11/21 by Lukasz.Furman added post processing to navigation filters for making filter-bound paths (feedback iteration) #fortnite Change 3206053 on 2016/11/21 by Lukasz.Furman added post processing to navigation filters for making filter-bound paths #fortnite Change 3205790 on 2016/11/21 by Lukasz.Furman pass on flow field usage by EQS Change 3205764 on 2016/11/21 by Lukasz.Furman seeding AIModule's random stream from world manager, using random stream in EQS #fortnite Change 3205763 on 2016/11/21 by Lukasz.Furman added random stream to AIModule copy of CL# 3150031 Change 3205162 on 2016/11/19 by James.Hopkin Added missiing depending on SSL to Linux HTTP. Fixes CrashReportClient linker errors. Change 3205124 on 2016/11/19 by James.Hopkin Enabled websockets and Stomp for Linux Change 3205121 on 2016/11/19 by James.Hopkin From Nick Shin's Dev-Platform shelf: upgrade/rebuild of libcrypto, libcurl, libssl, libwebsockets and zlib for Linux #fyi Nick.Shin,Dmitry.Rekman,Bob.Tellez Change 3205119 on 2016/11/19 by James.Hopkin Added OpenSSL version 1.0.2h headers for x86_64-unknown-linux-gnu #fyi Nick.Shin,Dmitry.Rekman,Bob.Tellez Change 3204994 on 2016/11/18 by Billy.Bramer - Sort the function results that show up in the blueprint "Copy signature from:" combo box Change 3203688 on 2016/11/18 by James.Hopkin #stomp Lower-cased FName strings before encoding to prevent random case at runtime. Change 3201533 on 2016/11/16 by Mark.Satterthwaite More auto-release pool/memory-handling fixes for Metal's debug layer, which depends upon ARC: - Better handling of parallel context creation & pooling in MetalRHI. - Metal queries return the actual value so that we can use local autorelease pools to capture ARC retain/autorelease calls in the debug layer. - Similarly EndEncoding needs a local autorelease pool to handle the debug layer's ARC retain/autorelease calls. #jira FORT-32706 Change 3201077 on 2016/11/16 by Mark.Satterthwaite Trivial command-buffer fencing to avoid render-queries keeping MTLCommandBuffer's alive after they are completed, reducing total memory use. #jira FORT-32706 Change 3200269 on 2016/11/16 by John.Abercrombie Made GetPredictionData_Client_Character and GetPredictionData_Server_Character public - Removed unnecessary code duplication in FortIndicator as a result Change 3198230 on 2016/11/15 by James.Hopkin #stomp Added dedicated server support to Stomp connection manager. Also fixed heartbeats and change retry strategy to retry forever, first retry after 5 seconds, doubling up to max interval of every minute. Change 3197273 on 2016/11/14 by Mark.Satterthwaite Fix Metal related memory leaks. #jira FORT-32706 Change 3196974 on 2016/11/14 by Lukasz.Furman increased distance to focal point for path following copy of CL# 3196971 #jira FORT-32048 Change 3196885 on 2016/11/14 by John.Pollard FORT-33019 - Fix crash when updating unmapped properties on replicator that was dormant Change 3196772 on 2016/11/14 by John.Pollard Speculative fix for assert when shutting down replicators Change 3196617 on 2016/11/14 by Lukasz.Furman improved readability of EQS results in gameplay debugger's table view #fortnite Change 3195394 on 2016/11/11 by John.Pollard UE-37866 - Fix replication issue where unmapped properties wouldl fail to map if the replicator goes away due to dormancy Change 3195272 on 2016/11/11 by Bob.Tellez #Fortnite Fix warning output in UDataTable for missing row Change 3195152 on 2016/11/11 by Lukasz.Furman fixed target selection in gameplay debugger's spectator #fortnite Change 3195071 on 2016/11/11 by Lukasz.Furman pass on EQS category of gameplay debugger #fortnite Change 3194111 on 2016/11/10 by Bob.Tellez #UE4 if you have a checked out or out of date file in your rename list it is now properly skipped and reported after the rename. Change 3193547 on 2016/11/10 by Bob.Tellez #UE4 LODGroup is now AssetRegistrySearchable Change 3193545 on 2016/11/10 by Bob.Tellez #UE4 Allow setting the default LODGroup when importing a mesh Change 3193541 on 2016/11/10 by Bob.Tellez #UE4 LODGroup settings application on load. Enable this behavior by setting r.StaticMesh.UpdateMeshLODGroupSettingsAtLoad=1 Change 3192035 on 2016/11/09 by Saad.Nader #engine Updated Migration of properties to handle static arrays properly from previous check-in. Change 3191062 on 2016/11/08 by Saul.Abreu Added accessor for all items in list views. Change 3190998 on 2016/11/08 by Chris.Gagnon Partially fixes a problem with the scale bax ignore inherited scale isn't working properly. There is more to fix by adding float InScale or similar to the GetRelativeLayoutScale() call chain. This portion will be handled by the tools team. Change 3190812 on 2016/11/08 by Lukasz.Furman fixed crash on path string pulling when path corridor is empty #jira FORT-32811 Change 3190800 on 2016/11/08 by Saad.Nader #engine Fixed a case where a static array uproperty wasn't being migrated properly since it was being treated as a single value. Change 3189573 on 2016/11/07 by Bob.Tellez #UE4 Since LightComponents now respect hiddeningame, I changed ALight to default to not be hidden in game. All components in the class that should not be seen are already bHiddenInGame=true on the component. Change 3189268 on 2016/11/07 by Michael.Trepka Check is MacApplication is still valid when making a deferred call to OnApplicationActivationChanged Change 3189179 on 2016/11/07 by Michael.Trepka Don't skip Mac windowDidResize: when switching between window modes. Fixes issues with screen not resizing properly when changing from windowed to windowed fullscreen Change 3189154 on 2016/11/07 by Lukasz.Furman added unbound exploration mode to A* solver #ue4 Change 3189072 on 2016/11/07 by Saad.Nader #commonui Added ability to skip the stack of activatable panels so that global input handling can handle input for dynamically created buttons on a modal. Updated name of base button style as its name was conflicting with legacy ui base button style. Change 3188769 on 2016/11/07 by Guillaume.Abadie Fixes r.SelectiveBasePassOutput and use it in Fortnite. This CL adds a selective base pass optimization not drawing scene color when r.SelectiveBasePassOutput=1 on materials that doesn't emit color. Use r.SelectiveBasePassOutput in Fortnite and avoid computing the fog in base pass to actually avoid drawing scene color. #review-3187180 @brian.karis Change 3187864 on 2016/11/04 by Bob.Tellez #UE4 Better handling for setting return values in error cases where a function cannot be executed. Change 3187815 on 2016/11/04 by Bob.Tellez #UE4 Fix for SetLODGroup to trim LODs that are not needed. Change 3187309 on 2016/11/04 by Lukasz.Furman added projection and pathfinding to navigation graph #fortnite Change 3186304 on 2016/11/03 by Saul.Abreu Made a pass on Common UI widgets, setting their widget palette category property or overriding the relevant virtual method in order to have a consistent value across all Common UI widgets. Change 3186301 on 2016/11/03 by Saul.Abreu Exposed ability to compare Slate brushes in Blueprints. Helpful for Icon Text Button to be able to hide its icon image if the icon brush is identical to the default (which is intentionally 0-sized/draw-type none). Change 3185979 on 2016/11/03 by David.Hamm Conditional gameplay effects with required tags were considering target tags in code, rather than source tags as presented in the editor. Updating the code allows the Bearricade tag to be seen, triggering the desired slow effect. #jira FORT-32141 Change 3185534 on 2016/11/03 by Daniel.Broder Made GameplayDebuggerCategory_EQS log the description of filtered items rather than just their index (which doesn't tell much). #UE4 #NoReleaseNotes Change 3185386 on 2016/11/03 by Daniel.Broder "Actors of Class" EQS Generator now supports returning all actors matching the class rather than only actors within the radius based on a new checkbox "Generate Only Actors In Radius". For backwards compatibility, it defaults to true. #UE4 #ReleaseNoteAbove Change 3185370 on 2016/11/03 by Mark.Satterthwaite Revert the only change to Metal texture uploads made in the merge leading up to 16/09/16 and disable more recent changes to reuse texture objects in the hope that this cures FORT-30180. If not then this will need to be handled by Apple/Nvidia as we're not doing anything obviously wrong on our side. #jira FORT-30180 Change 3185249 on 2016/11/03 by Lukasz.Furman added caching for neighbor count in template A* solver #fortnite Change 3184403 on 2016/11/02 by Daniel.Broder Updated EnvQueryTest_GameplayTags to support Gameplay Tag Queries. ^^ReleaseNoteAbove Data is automatically converted to the query from the old data format. Gameplay Tag Queries give much more flexibility for how to mach the queries, since they can include entire expressions of what must match and/or not match. #UE4 #ReleaseNoteAbove Change 3184311 on 2016/11/02 by Daniel.Broder Removed unnecessary if/else that was calling identical code in both parts! (Now it just calls the code directly). Fixed spelling of ReturnValueAddress (from ReturnValueAdress). #UE #NoReleaseNotes Change 3183823 on 2016/11/02 by Mark.Satterthwaite Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3183807 on 2016/11/02 by Mark.Satterthwaite Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3183470 on 2016/11/02 by Bob.Tellez #UE4 Lights with 0 intensity are now removed from the scene Change 3183230 on 2016/11/02 by Bob.Tellez #UE4 Console history no longer keeps duplicate entries Change 3182547 on 2016/11/01 by Bob.Tellez #UE4 Fixed an old bug which was causing thumbnail scenes to have incorrect lighting. Change 3182498 on 2016/11/01 by Chris.Gagnon Added ItemIcon widget and ItemCountTextBlock widget. EpicCMSScreen derives from COmmonActivatable Panel. Added CommonUIUtils with function to get a owning userwidget or contexts. Begining of the new Topbar, and a number of supporting widgets. Change 3182497 on 2016/11/01 by Chris.Gagnon Engine: GameViewportClient now has a global toggle to turn software cursor mapping on and off. Fortnite: Added software cursor, when using the gamepad we turn on the software cursor mapping. The asset is invisible. This allows us to hide the cursor without all the baggage and undesired behavior that comes with that. Change 3181853 on 2016/11/01 by Saad.Nader #commonui Added uproperty annotations to prevent garbage collection. Updated code to cleanup internal caches to happen earlier. Change 3181782 on 2016/11/01 by Bob.Tellez #UE4 LightComponents now respect bHiddenInGame (and other visibility flags) when determining whether they should be added to the scene. Change 3181516 on 2016/11/01 by Saad.Nader #commonui Added an action handler interface that I have been wanting for awhile. Updated action widget to ignore design time changes since it relies on a common ui context instance. Cleaned up activatable panel interface and commited events on a input action registered to be handled. Our activatable handle automatically handles things for now without asking blueprint if we should. Cleanedup up miscellaneous activatable panel internals Activatable panels can now choose to expose input actions registered to that panel. Replaced activatable panel reflector with common input reflector Added a common global input handler that implements the action handler interface Updated common button and common tablist widgets appropriately to register with global input handler for appropriate actions. Buttons now have separate triggering actions vs. triggered actions. Triggering actions can only be set during creation of the button whereas triggered actions can be set anytime. Moved a lot of the boilerplate code for action button into common button to trigger and listen for actions, or register with the global input handler for triggering actions. Fixed typos in common ui types. Updated CommonUITestBed with new changes. Change 3179753 on 2016/10/31 by Lukasz.Furman replaced ensure with vlog warning in GameplayTask processing #jira FORT-32324 Change 3178028 on 2016/10/28 by Lukasz.Furman attempt to fix rare crash in crowd simulation #jira FORT-27847 Change 3177966 on 2016/10/28 by James.Hopkin Removed some redundant text/string copies and conversions in 'Find in Blueprints' Change 3176795 on 2016/10/27 by Fred.Kimberley Fixed the code path that grabs tooltip data for ability system components to respect the flag that shows buffs in the front end instead of final values. #jira FORT-30491 Change 3175818 on 2016/10/26 by Bob.Tellez #UE4 Protecting against a nullptr access in FVisibilityPropertySection::GenerateSectionLayout. More investigation is needed to determine if this should be allowed to be null. Change 3175615 on 2016/10/26 by Michael.Trepka Check if MacApplication is valid in FMacApplication::OnCursorLock() block that's called asynchronously and can be executed after MacApplication was destroyed. Fixes FORT-32075 Change 3175369 on 2016/10/26 by Saul.Abreu Refactored CreateWidget functions to share UserWidgetClass validation logic and fixed a missing early-out return statement. Change 3175233 on 2016/10/26 by Saul.Abreu #fortnite Common Button now properly handles its interactibility changing when it's toggleability has changed - previously, being selected when toggling is turned on would leave the button non-interactible and thus not practically toggleable. Change 3174285 on 2016/10/25 by Mark.Satterthwaite Fix command-buffer failures when resizing windows on Mac - we have to capture windowWillResize: events in our window delegate and then forward on a call to Slate's OnResizingWindow event handler, that internally causes rendering to flush. If we wait to do this in windowDidResize then the actual device back-buffer resource will have been reallocated and we presumably end up trying to render into garbage memory on the GPU, causing the intermittent command-buffer failures. #jira FORT-31649 Change 3173872 on 2016/10/25 by Bob.Tellez #UE4 Fixed an issue where if you have a map with actors that produce a ZeroVector bounds size, SetActorTransform complains. Change 3172828 on 2016/10/24 by Saul.Abreu Added useful contextual information to the message log errors provided when attempting to create widgets but failing. Change 3172649 on 2016/10/24 by Michael.Trepka Call setMinSize and setMaxSize in FMacApplication::OnCursorLock() on the main thread #jira FORT-30177 Change 3172568 on 2016/10/24 by Saad.Nader #commonui Exposed a flag to reflector to not show actions for an activtable panel if we don't want them exposed. Change 3172341 on 2016/10/24 by Mark.Satterthwaite Fix FORT-31526 by setting appropriate defaults for FEditorCompositingParameters when the feature isn't being used, as Metal still requires something be bound for the values. This all stems from Fortnite using GizmoMaterial somehow when whacking Llamas to reveal the cards contained within - I suspect the 'real' fix is not to use an Editor material in the game client... #jira FORT-31526 Change 3172304 on 2016/10/24 by James.Longstreet #fortnite #jira FORT-31090 Add setting to configure whether the virtual keyboard sends TextChanged or TextCommitted when complete. Add SlateSettings to project settings, for settings that need to be accessed from Slate -- the Slate module doesn't depend on Engine, so it can't access UserInterfaceSettings or InputSettings. Default to TextChanged in Fortnite. Change 3171630 on 2016/10/24 by Saul.Abreu #fortnite Added API export to Common List View. Added support to Common List View for changing selection modes. Added delegate to Common List View to support hook-ups on creation of new list item widgets. Improved Common List View handling of item widgets that are buttons - no need to handle manually hooking up the list item clicked callback to the button. Change 3171474 on 2016/10/22 by Saul.Abreu #fortnite New numeric text block. Change 3171463 on 2016/10/22 by Saad.Nader #commonui Added the common action widget which can visualize the input of an activatable panel or button. Added the common activatable panel reflector widget so we can build a bar widget which can visualize the actions an activatable panel have registered to handle. Cleaned up the input manager's handling of pushing and poping activatable panels Updated widget switcher to completely push or pop tabs on or off the stack so that the stack is clean of any items not in the current tab. Updated common ui context to expose API blueprint. Updated input action data to make better sense in common ui types Added a viewport client to redirect input for the common ui test bed. Added a completion delegate for listeners such as a button in a activatable panel reflector widget. Added test harness for activatable panel, activatable panel reflector, action widget Change 3170868 on 2016/10/21 by Jeff.Campeau AutoSDK props included earlier Change 3170663 on 2016/10/21 by Mark.Satterthwaite Further changes to finally fix the underlying cause of FORT-25473 and all future potential instances: SetStreamSource overrides the stride from the vertex declaration and MetalRHI wasn't properly considering what to do with Stride=0, which should disabling vertex attribute stepping. This also requires fixing some gotcha's in the StateCache. #jira FORT-25473 Change 3170020 on 2016/10/20 by Bob.Tellez #UE4 Render scale was off by one when setting via buckets in the editor widget. Change 3169764 on 2016/10/20 by Mark.Satterthwaite Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3169631 on 2016/10/20 by Mark.Satterthwaite Fix a potential crash due to unnecessary reinitialisation of the MetalRenderPipelineDesc mutex. Change 3169614 on 2016/10/20 by Mark.Satterthwaite Fix FORT-25473 caused by incorrect handling of vertex attributes in Metal: FParticleSpriteVertexFactory specifies the dynamic particle parameter attribute (VA 5) with a non-zero stride, which implies vertex or instance stepping - but for the P_Rocket_ColdMist_FXV effect only a single float4 is provided with the intent that this be constant for all instances. Other APIs may implicitly wrap the VA read back around but Metal does not and simply reads garbage off the end of the buffer - potentially this could even cause a GPU crash. MetalRHI now detects when the buffer bound to an attribute can't support more than one instance and if needed updates the vertex declaration to make such attributes constant. #jira FORT-25473 Change 3169163 on 2016/10/20 by Fred.Kimberley Added UIProxyActor. This is intended as a single proxy actor to replace the existing, class specific, proxy actors. Change 3168732 on 2016/10/20 by Saul.Abreu Exposed style references in UCommonTextBlock. Allows widgets to look at the styles on the CDO. Change 3168713 on 2016/10/20 by Saul.Abreu Fixed unconditional inclusion of Developer module headers (settings module) in client builds from Common UI module. Change 3168659 on 2016/10/20 by Saul.Abreu Created and exposed SetMinDesiredWidth on UTextBlock, following the example set by other setters in the class. Change 3168658 on 2016/10/20 by Saul.Abreu The Common UI plugin now has a settings object which will appear in the project settings window. It exposes setting default styles for both CommonTextBlock and CommonButton in the Game config file. Change 3167632 on 2016/10/19 by John.Pollard Fix FN replay scrubbing issues * Solution for net startup actors that need to be "rolled back" during scrubbing if they've been modified * Solution for when net startup actors should be deleted past checkpoints * Added version support to load older replays that don't save out deleted net startup actors in checkpoints Change 3166065 on 2016/10/18 by Saad.Nader #commonui renaming UCommonActivatableManager to UCommonInputManager, added ability to change input method for desktop and console. Change 3166049 on 2016/10/18 by Lukasz.Furman added navmesh exploration helpers in FortNavMesh #fortnite Change 3165085 on 2016/10/17 by Saad.Nader #blueprintcontext fixed log output for created blueprint context Change 3163115 on 2016/10/14 by James.Hopkin Prevented variable combo box clipping long type names in blueprint details panel [UE-19710] Change 3162629 on 2016/10/13 by Saul.Abreu #fortnite #jira FORT-31489 Ported Paragon's tile view widget over to the Common UI Plugin as Common Tile View. Added exemplar/test case in Common UI testbed. Change 3162624 on 2016/10/13 by Saul.Abreu Improved "Create Event" node with text showing the function signature in a friendly manner. Change 3162114 on 2016/10/13 by Guillaume.Abadie Implements r.EarlyZPassOnlyMaterialMasking. Fortnite grass/trees is using masked material. However masked materials are doing clip in early z pass and base pass, both preventing the pixel shader from using the early depth test. This CL execute material's mask opacity only in the early z pass to keep early depth test on expensive mask material's base pass pixel shader. Change 3161479 on 2016/10/13 by Saad.Nader #commonui Updated Common button to be able to handle a bound common input action by causing the button to get clicked. Updated Activatable panel to ignore input if it is not activated Added helper functions to common widget switcher for activating/deactivating the active widget if it is a activatable panel. Change 3161092 on 2016/10/13 by Saul.Abreu #fortnite Common Tab List widget now exposes access to its linked switcher as well as overridable events before and after the linked switcher is set. OnCreateNewTab can now be implemented in native code or blueprints. Buttons added as tabs in the tab list will now have their selectabilty and toggleability set as necessary. Change 3160762 on 2016/10/12 by Billy.Bramer - Make UAbilitySystemComponent::AreAbilityTagsBlocked virtual so games can provide a custom implementation Change 3160736 on 2016/10/12 by Lukasz.Furman fixed some gameplay debugger's categories not rendering correctly in simulate mode #fortnite Change 3160417 on 2016/10/12 by Mark.Satterthwaite Disable DistanceField AO & Shadowing support on Intel GPUs under Metal - there are driver bugs that prevent them from working currently. #jira FORT-31268 Change 3160314 on 2016/10/12 by Michael.Trepka Fixed incorrect rect initialization in Mac GetDisplayMetrics Change 3160309 on 2016/10/12 by Lukasz.Furman pass on gameplay debugger in Simulate in Editor mode copy of CL 3160014 #ue4 Change 3159892 on 2016/10/12 by John.Abercrombie Fixed the Blackboard component pausing but never being unpaused if we ended up restarting the Behavior Tree instead of continuing #ue4 Change 3159630 on 2016/10/12 by Jamie.Dale Fixed an issue where async and non-async loading could result in the package being given a different name Async loading would always use the non-localized name (which is correct), but non-async loading would sometimes use the localized name (which is incorrect); now they both do the same thing. Change 3159249 on 2016/10/11 by Jonathan.Lindquist fixing a potential uv bug related to their names Change 3159145 on 2016/10/11 by Lukasz.Furman fixed behavior tree task restart conditions #ue4 Change 3158846 on 2016/10/11 by John.Pollard Add ability to override network async loading for replays Change 3158551 on 2016/10/11 by Saad.Nader #commonui remove checks for common tab list widget when set listening for input occurs. Change 3157727 on 2016/10/10 by Saul.Abreu #fortnite Common button style now has minimum width and minimum height properties and common button will use the maximum of its own and the style's minimums. Change 3157364 on 2016/10/10 by Jamie.Dale Split localized package redirection out of FCoreDelegates::PackageNameResolvers They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name. #jira FORT-31207 Change 3156616 on 2016/10/10 by Lukasz.Furman added more failsafes to crowd simulation crash #jira FORT-27847 Change 3155092 on 2016/10/07 by Chris.Gagnon SlateApplication - Added more control over where navigation originates from with the ENavigationSource enumeration piped in through the FReply - Added custom handling support for the navigation responce using the FCustomNavigationHandler Fortnite - Added Input Preprocessor for generating navigation events and handling the "virtual cursor" position - Added the Input mode switching support for gamepad <-> keyboard (Currently disabled) Change 3154721 on 2016/10/07 by Lukasz.Furman automation fix for AI tests with multiple spawn sets copy of CL# 3154035 #jira FORT-31106 Change 3154466 on 2016/10/07 by Saul.Abreu #fortnite Additional logging and checking to help diagnose cause of current build breakage, possibly related to blueprint context OR unrelated but coincidental and related to game data or homebase manager. Change 3154349 on 2016/10/06 by Saul.Abreu #fortnite Relocate BP context and common UI plugins to Engine (NotForLicensees). Change 3152396 on 2016/10/05 by Lukasz.Furman fixed RECAST_ASYNC_REBUILDING define being ignored by navmesh generator #ue4 Change 3152390 on 2016/10/05 by Lukasz.Furman including AgentRadius in area modifier bounds in layer's intersection test fixes modifier cuts at tile boundary #jira FORT-31051 Change 3151999 on 2016/10/05 by Lukasz.Furman added vlogs for applying and removing gameplay effects #jira FORT-30982 Change 3150947 on 2016/10/04 by Bob.Tellez #UE4 Fix to find the title.json file in the correct game folder. Change 3149775 on 2016/10/03 by Bob.Tellez #UE4 Added property editor code support for doubles. Change 3148729 on 2016/10/03 by Lukasz.Furman fixed memory corruption in DemoNetDriver #fortnite Change 3146148 on 2016/09/29 by Bob.Tellez #UE4 Fixed a case where the LastRecordedHittestIndex would remain zero, causing the widget path to get truncated and result in the mainframe window when determining if you should spawn a tooltip, causing us to try to create a tooltip outside of our tooltip presenter widget, causing a new window to be created and a crash to happen on consoles. #JIRA FORT-30378 Change 3146016 on 2016/09/29 by Daniel.Broder Added BlueprintGameplayTagLibrary function "Get All Actors of Class Matching Query". It uses TActorIterator to find only all actors derived from the specified class and then further winnows them by whether they match a GameplayTagQuery. If any actor does NOT implement IGameplayTagAssetInterface, the function will log ONCE a warning that the class in question doesn't implement the required interface to be able to check for matching tags. (NOTE: This function can be extremely expensive if there are a large number of actors of the class requested, so be cautious using it. It can be used at initialization time to find a specific subset of actors to act on (for example). #UE4 #ReleaseNote Change 3145827 on 2016/09/29 by Lukasz.Furman added sanity checks to EQS tick #jira FORT-30755 Change 3145520 on 2016/09/29 by Chad.Garyet changing notifications to require there be a type to verify the user exists #jira FORT-30754 Change 3145428 on 2016/09/29 by Bob.Tellez #UE4 Made plugin loaded log statements verbose. Change 3145229 on 2016/09/29 by Bob.Tellez #UE4 Fix for only running the first test on commandline Change 3142730 on 2016/09/27 by Bob.Tellez #UE4 Removing needless scope on a virtual function call that made it seem static and made UpdateResolutionQuality protected so it can be called from subclasses that may be procedurally determining DesiredScreenWidth and DesiredScreenHeight Change 3142632 on 2016/09/27 by Saul.Abreu #fortnite Improved data table row struct post-data-import method with more context provided through parameters. Used to fixup homebase node display names to have stable keys generated from the row name. Change 3140907 on 2016/09/26 by Bob.Tellez #UE4 Allowing movie files to be renamed to match platform requirements Change 3140399 on 2016/09/26 by Lukasz.Furman fixed uninitialized configs of gameplay debugger #jira FORT-30439 Change 3138880 on 2016/09/23 by Fred.Kimberley Added source tag requirements to conditional gameplay effects. #jira FORT-29772 Change 3138262 on 2016/09/23 by Chad.Garyet Integrating codesign fix into Fortnite/Main Change 3137164 on 2016/09/22 by Mark.Satterthwaite Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3136720 on 2016/09/22 by Rob.Cannaday Fix crash in FCurlHttpRequest::DebugCallback + Specify the string length to FString's constructor as the result from StringCast is not null terminated if the string's length is specified (instead of assuming null termination). #jira OGS-428 Change 3136391 on 2016/09/22 by Lukasz.Furman fixed crowd path section switch rejecting navlinks at end of path #jira FORT-30400, FORT-30402 Change 3136295 on 2016/09/22 by Lukasz.Furman fixed navlinks not connecting to navmesh correctly in "snap to cheapest area" mode, adjusted scoring in navmesh projection - findNearestPoly2D #jira FORT-30358 Change 3136033 on 2016/09/22 by Mark.Satterthwaite To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3135237 on 2016/09/21 by Mark.Satterthwaite Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3135177 on 2016/09/21 by Rob.Cannaday Demote "Missing party state during exit" log from warning to display, as order of operations cause this to always be triggered when voluntarily leaving a party #jira FORT-22575 Change 3135176 on 2016/09/21 by Rob.Cannaday When returning to front-end, re-evaluate pending party joins that were in the waiting for beacon reservation state. #jira FORT-27737 Change 3135174 on 2016/09/21 by Mark.Satterthwaite - Copy MetalRHI & MetalShaderFormat from Dev-Rendering CL #3132772 Provides significant performance improvements on CPU due to improved vertex declaration handling & much reduced GPU heap fragmentation + more stats. Definitely fixes: #jira FORT-29430 Change 3135169 on 2016/09/21 by Mark.Satterthwaite Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3135157 on 2016/09/21 by Mark.Satterthwaite Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3135136 on 2016/09/21 by Bob.Tellez #UE4 Added GetPackageDependenciesForManifestGenerator delegate for games to be able to determine package dependencies however they deem fit. Change 3135132 on 2016/09/21 by Bob.Tellez #UE4 Better final cook platform path creation. WindowsClient was incorrectly forming a path to WindowsNoEditor when looking for chunk manifests Change 3134313 on 2016/09/21 by Lukasz.Furman attempt to fix crash in navmesh generation #jira FORT-30340 Change 3134091 on 2016/09/21 by Rob.Cannaday Fix crash in lib curl debug callback because the string parameter provided by libcurl is not null terminated #jira OGS-428 Change 3133949 on 2016/09/21 by Lukasz.Furman crowd agents will use shorter path corridor when one of two last polys are navlink (corridor part switch happens with 2 or less polys left, we don't want to switch while on navlink) #jira FORT-29880 Change 3133219 on 2016/09/20 by Lukasz.Furman fixed broken navlink's "snap to cheapest area" mode #fortnite Change 3133087 on 2016/09/20 by Saul.Abreu Updated comments on FARFilter to more explicitly express interactions between class filtering settings. Change 3132990 on 2016/09/20 by Saul.Abreu #fortnite Overhaul of asset crawling localizable text gathering commandlet. Added feature for filtering processed assets based on membership in a collection. Change 3132627 on 2016/09/20 by Bob.Tellez #Fortnite Added XLoc language ID for for zh-CN Change 3132616 on 2016/09/20 by Lukasz.Furman added tolerance to navmesh project point 2D query added overrides for accessing projection with tolerance during navwalking height checks, should be replaced with navdata flags later on #jira FORT-29474 Change 3130819 on 2016/09/19 by Ben.Marsh UBT: Read additional configuration settings for BuildConfiguration and UEBuildConfiguration from the engine config settings. Allows setting project-specific config values. Change 3130639 on 2016/09/19 by Lukasz.Furman pass on crowd simulation - husks should move faster through funnels now - husks can clip each other a bit more often :( #fortnite Change 3130625 on 2016/09/19 by Bob.Tellez #UE4 Added an ensure to further track down invalid usage of playerinput #JIRA FORT-30183 Change 3128884 on 2016/09/16 by Ben.Salem Repair nightly FTest runs. FTests are now namespaced differently as of new main merge, and had to uncomment a load-bearing wait that exists to enable the way we run our nightlies (nullrhi w/ execcmds) to start the test properly. Change 3128874 on 2016/09/16 by Daniel.Lamb Testing to see if memory changes have injured fortnite cook times. Change 3127175 on 2016/09/15 by John.Abercrombie GameplayCueInterface's TagToFunctionMap is now keyed by FObjectKey of a UClass, rather than using the UClass as the key - Since UClass-es can be unloaded at run-time, and then loaded again later in a different spot in memory, this is a better solution Clear out the TagToFunctionMap whenever we cleanup a world Move the TagToFunctionMap into a namespace #jira FORT-29194 - Crash during Fight the Storm Defense Change 3126840 on 2016/09/15 by Bob.Tellez #UE4 Added a hack to aid in the conversion from the "USA" and "Poland" region names to "NA" and "EU" Change 3125944 on 2016/09/14 by Billy.Bramer - Fix for FJsonObjectWrapper incorrectly exporting to JSON in a string representation instead of an object representation now that it has an implementation of export text Change 3125764 on 2016/09/14 by Saul.Abreu Change to enum and struct registration so that their packages are all created before either set gets to run their registration logic. Change 3125719 on 2016/09/14 by Bob.Tellez #UE4 Windows in nullrhi do not have OS handles and not initializing you parent window causes a crash when you start PIE (needed for headless automation testing) Change 3125504 on 2016/09/14 by jonathan.lindquist adding a comment to the exclude wpo offsets input Change 3124203 on 2016/09/13 by Bob.Tellez Temporarily removing IOS.Automation.csproj dependency on MobileDeviceInterface since it is causing warnings in UGS right now. Change 3124192 on 2016/09/13 by Tim.Tillotson Fix bad format string in FLinkerLoad::VerifyImport Warning: [2016.09.13-18.49.05:928][927]LogText:Warning: Failed to parse argument "ImportClass" as a number (using "0" as a fallback). Please check your format string for errors: ": Failed import for {ImportClass}". Change 3124083 on 2016/09/13 by Bob.Tellez #UE4 Re-disabling EQFilter for all machines. This is a temporary solution until a more efficient method is found that does not cause machines to lag. Change 3123783 on 2016/09/13 by Jonathan.Lindquist Subtacting 1 from the VAT tools output texture file name uv number to match unreals 0-based system. Change 3122223 on 2016/09/12 by Jonathan.Lindquist Adding optional uv controls for the texture based animations Change 3122220 on 2016/09/12 by jonathan.lindquist adding an optional uv input for the Vertex animation toolset Change 3122070 on 2016/09/12 by John.Abercrombie Added nav links to corner walls, rather than depending on a nav area to traverse the low edge of the corner Made crowd folowing component use the velocity while traversing a link, except if we're falling AIs will not update their paths while following a nav link Lowered the step height of all AIs from 90 to 72 #jira FORT-29786 - Husks can move over the balcony wall on floor structures. Change 3121098 on 2016/09/12 by Chris.Wood Increased Linux timeout when waiting for CRC to complete. [UE-30259] - Some server crashes are missing from crashreporter database #jira UE-30259 Change 3120694 on 2016/09/12 by Saul.Abreu #fortnite Refactored CMS reader to support URLs with protocols (http, https, and file). URIs (URL sans protocol) will no longer work, but we can add in smart fallback logic later, as this is only in Fortnite currently and the only CMS data available currently is via local file. Console command will handle URLs using double quotes, since the colon trips up existing console command parsing logic (it seems). Change 3120686 on 2016/09/11 by Saul.Abreu #fortnite Deleting erroneous config files in EpicCMS plugin. Change 3120659 on 2016/09/11 by Saul.Abreu Added support to widget carousel for getting a callback when the active widget changes. (Not sure who the original author was, but the oldest tracked revision codereview'd Justin Sargent.) Change 3120658 on 2016/09/11 by Saul.Abreu Fixed UMG grid panel to properly set the padding on the slots it creates. Change 3118466 on 2016/09/08 by Bob.Tellez #UE4 There is now an option to exclude all UMG widgets and slots from dedicated server builds. Set bLoadWidgetsOnDedicatedServer=false for this behavior Change 3118149 on 2016/09/08 by Bob.Tellez #UE4 Dont cook non-native CDO references that are excluded for your target Change 3117604 on 2016/09/08 by John.Abercrombie FortGameModeFTesting no longer spawns a pawn Added automated test setting to FortGameMode so we can avoid waiting for a pawn before removing the loading screen Made the FunctionalTest set the view target to the Observation Point if we don't have a pawn, note that this only works on Player Controllers that aren't Debug Camera Controllers so we don't annoy any user who's moving around Change 3116964 on 2016/09/07 by Bob.Tellez #Fortnite We are now building crashreportclient for linux instead of using the stale binary in P4 Change 3116284 on 2016/09/07 by Tim.Tillotson #fortnite Add support for quest objectives that track player ability activation. As part of this also: +Added a bWasCancelled parameter to GameplayAbility::EndAbility. This allows us to determine if an ability was ended prematurely. +Added a OnAbilitySucceeded delegate for determining when an ability was successfully ended. Some additional improvements thanks to code review feedback from Fred.Kimberley. After discussing with Matt Hancy we decided to keep the OnAbilityCompleted delegate for now. We may be able to deprecate and remove it in the future if we rewrite all the existing abilities that use it. Change 3116039 on 2016/09/07 by John.Abercrombie Fix crash when you change the blueprint of a class referenced by a gameplay cue between PIE runs [CL 3215544 by Bob Tellez in Main branch]
2016-11-30 14:12:57 -05:00
#include "XboxOne/XboxOneCommon.usf"
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2897738) ========================== MAJOR FEATURES + CHANGES ========================== Change 2875445 on 2016/02/22 by Matthew.Griffin Added UE4.natvis to Visual Studio Projects #jira UE-27153 Change 2875456 on 2016/02/22 by Keith.Judge Fix custom stencil shaders on Xbox One #jira UES-1387 Change 2875524 on 2016/02/22 by Robert.Manuszewski More log info when saving shader temp files fails. Increased the number of attemps when moving a file fails. #jira UE-20945 Change 2875698 on 2016/02/22 by Rolando.Caloca UE4.11 - Add new bool for RHIs (unused currently) #jira UE-24967 Change 2875897 on 2016/02/22 by Taizyd.Korambayil #jira UE-20324 Re-imported Cloth Skeletal Meshes to Fix odd Circle Highlights Change 2875922 on 2016/02/22 by Mieszko.Zielinski Fixed BP-implemented EQS generators crashing when trying to add generated value of wrong type #UE4 #jira UE-25034 #rb Lukasz.Furman Change 2875960 on 2016/02/22 by Michael.Trepka Added a way to disable right click emulation on Mac and used it in TabNavigator to fix issues with its widgets not reacting to clicking #jira UE-21895 Change 2875984 on 2016/02/22 by Michael.Schoell Split output struct pins will no longer give a warning about override pins being removed. #jira UE-27150 - Format Text nodes and split nodes reporting warning that override pins are removed. Change 2876169 on 2016/02/22 by Ben.Marsh Changes to support building UHT plugins with the binary release. * Add source code and target files for UHT to binary distribution * Fix UBT deleting build products if we're only compiling a single module. * Fix UBT exception setting up compile environment when a module doesn't have any source files set to build. * Include DLL import libraries for UHT in the build * Add support for compiling UHT modules in BuildPluginCommand. Stages an empty host project to allow UHT to load any enabled plugins. Change 2876219 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2874609 #jira UE-24967 PC: Update D3D12 RHI - Implement _RenderThread versions of Create, Lock and Unlock Index/Vertex Buffer. Only synchronize threads on Readback - Limit GPU starvation on CPU bound scenarios by flushing work when the GPU is idle - Change texture streaming system to correctly account for placed textures. Also fix texture sizes so they accurately represent the real size of the allocation the GPU. - Disable API shader blobs - Add the ability to easily change allocation stategy for a given pool, also add a simple linear allocator and a 'Multi-Buddy Allocator' for efficiency in different scenarios - Pool Fences to prevent creation and destruction every frame when using Async Compute - Implement _RenderThread versions of CreateShaderResourceView and CreateUnorderedAccessView Change 2876232 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2876173 #jira UE-24967 PC: Update D3D12 RHI - Fix ResizeBuffers() failing due to dangling references to the backbuffer if deferred deletion is used. - Reorder when pending FRHIResources are deleted. This still needs to flush all pending deletes and ignore the deferred deletion queue otherwise some items may still be left in the engine's queue. - Fix UT build error due to missing FPlatformMisc::GetGPUDriverInfo() Change 2876366 on 2016/02/22 by Douglas.Copeland Adding Skeletal Meshes for Import Test Case #jira UE-24473 Change 2876401 on 2016/02/22 by Peter.Sauerbrei fix for WindowsClient build from UFE and Project Launcher #jira UE-23897 Change 2876456 on 2016/02/22 by Ben.Marsh Use a more hierarchical directory structure for packaged builds, rather than just dumping everything in the root. Now defaults to <Share>\\PackagedBuilds\\<Branch>\\<CL>\\<ProjectName>_<Platform>_<Configuration>. Change 2876507 on 2016/02/22 by Nick.Shin use HOME (osx) and USERPROFILE (windows) on appropriate target platform #jira UE-26414 -- Mac is missing .emscripten file necessary for packaging or launching onto HTML5 Change 2876537 on 2016/02/22 by Dan.Oconnor Removed dubious fix for an old bug, no longer needed but I havn't figured out what has changed. This fixes a crash on Replace References, but does not reintroduce UE-9497 #jira UE-24891 Change 2876545 on 2016/02/22 by Chad.Taylor SteamVR camera late-update fix #jira UE-27254 Change 2876825 on 2016/02/22 by Dan.Oconnor Unfortunate edge case in lifetime of UEdGraph's schema, schema is assigned after construction so its modification is in the undo buffer, and we clear it after undoing. #jira UE-25956 Change 2876878 on 2016/02/22 by Nick.Whiting PSVR HMD Server support #jira UE-27262 [CL 2905127 by Matthew Griffin in Main branch]
2016-03-11 09:55:03 -05:00
#endif
#if COMPILER_METAL
// Helps with iteration when changing Metal shader code generation backend.
#include "MetalCommon.usf"
#endif
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
#if VULKAN_PROFILE
// Helps with iteration when changing Vulkan shader code generation backend.
#include "VulkanCommon.usf"
#endif
#ifndef FORCE_FLOATS
#define FORCE_FLOATS 0
#endif
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#if (!(COMPILER_GLSL_ES2 || COMPILER_GLSL_ES3_1) && !METAL_PROFILE) || FORCE_FLOATS
// Always use floats when not using the ES2 compiler, because low precision modifiers are currently only tweaked for ES2,
// And we don't want potential side effects on other platforms
#define half float
#define half1 float1
#define half2 float2
#define half3 float3
#define half4 float4
#define half3x3 float3x3
#define half4x4 float4x4
#define half4x3 float4x3
#define fixed float
#define fixed1 float1
#define fixed2 float2
#define fixed3 float3
#define fixed4 float4
#define fixed3x3 float3x3
#define fixed4x4 float4x4
#define fixed4x3 float4x3
#endif
// These types are used for material translator generated code, or any functions the translated code can call
#if PIXELSHADER
#define MaterialFloat half
#define MaterialFloat2 half2
#define MaterialFloat3 half3
#define MaterialFloat4 half4
#define MaterialFloat3x3 half3x3
#define MaterialFloat4x4 half4x4
#define MaterialFloat4x3 half4x3
#else
// Material translated vertex shader code always uses floats,
// Because it's used for things like world position and UVs
#define MaterialFloat float
#define MaterialFloat2 float2
#define MaterialFloat3 float3
#define MaterialFloat4 float4
#define MaterialFloat3x3 float3x3
#define MaterialFloat4x4 float4x4
#define MaterialFloat4x3 float4x3
#endif
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
#if COMPILER_GLSL_ES2 || COMPILER_METAL || COMPILER_SWITCH
float determinant(float3x3 M)
{
return
M[0][0] * (M[1][1] * M[2][2] - M[1][2] * M[2][1]) -
M[1][0] * (M[0][1] * M[2][2] - M[0][2] * M[2][1]) +
M[2][0] * (M[0][1] * M[1][2] - M[0][2] * M[1][1]);
}
#endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3358140 on 2017/03/22 by Rolando.Caloca DR - Fix copy to cube face - Compile fix when using dump layer - Add new error enum Change 3358301 on 2017/03/22 by Mitchell.Wilson Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section. Change 3358477 on 2017/03/22 by Mitchell.Wilson Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning. Change 3358529 on 2017/03/22 by Mark.Satterthwaite Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code. Change 3358745 on 2017/03/22 by Mark.Satterthwaite Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected. Change 3358837 on 2017/03/22 by Joe.Graf Merge of pull request #3214 for the RenderDocPlugin #CodeReview: matt.kuhlenschmidt, marcus.wassmer #rb: marcus.wassmer Change 3359112 on 2017/03/22 by Ben.Salem Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined. #tests Ran several Showdown test runs with plugin! Change 3359363 on 2017/03/22 by Joe.Graf First pass at non-unity & no pch compilation Change 3359449 on 2017/03/22 by Joe.Graf Added missing null check when exporting a EXR on Linux (UE-40268) #CodeReview: dmitry.rekman #rb: n/a Change 3360349 on 2017/03/23 by Guillaume.Abadie Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts. #jira UE-42920 Change 3360405 on 2017/03/23 by Marcus.Wassmer Better method for detecting Kepler Change 3360718 on 2017/03/23 by Daniel.Wright Planar reflections handle views smaller than the render target in a general way * Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined) * Planar reflections are now supported in splitscreen Change 3360758 on 2017/03/23 by Daniel.Wright [Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead Change 3360762 on 2017/03/23 by Daniel.Wright [Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool Change 3360768 on 2017/03/23 by Daniel.Wright [Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram Change 3360770 on 2017/03/23 by Daniel.Wright [Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox Change 3360771 on 2017/03/23 by Daniel.Wright [Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light. Change 3360774 on 2017/03/23 by Daniel.Wright [Copy] Distance field cvar comments Change 3360782 on 2017/03/23 by Daniel.Wright [Copy] Disabled selection color on Volume materials Change 3360795 on 2017/03/23 by Daniel.Wright [Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density. Change 3360799 on 2017/03/23 by Daniel.Wright [Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y Change 3360806 on 2017/03/23 by Daniel.Wright [Copy] Fixed volumetric fog being offset when viewport min is not 0 Change 3360809 on 2017/03/23 by Daniel.Wright [Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale. Change 3361651 on 2017/03/23 by Brian.Karis Higher quality sharp SSR at quality 4 Change 3361678 on 2017/03/23 by Brian.Karis Fresnel darkens diffuse for clearcoat. Change 3361683 on 2017/03/23 by Brian.Karis Fixed SSR artifact Change 3361691 on 2017/03/23 by Brian.Karis Chagned min roughness limit Change 3361707 on 2017/03/23 by Brian.Karis Added inverse film tone map Change 3361726 on 2017/03/23 by Brian.Karis Better precision inverse Change 3361758 on 2017/03/23 by Brian.Karis Material flag normal curvature to roughness is no longer forward only. Change 3361765 on 2017/03/23 by Brian.Karis Update ACES Change 3361774 on 2017/03/23 by Brian.Karis Cleaned up alpha support and disabled screen edge clipping. Change 3362478 on 2017/03/24 by Guillaume.Abadie Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output. #author Brian.Karis #jira UE-42920 Change 3362738 on 2017/03/24 by Rolando.Caloca DR - Hide scene capture on IF Change 3362890 on 2017/03/24 by Guillaume.Abadie Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha Change 3363665 on 2017/03/24 by Mark.Satterthwaite PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous) Change 3363866 on 2017/03/24 by Arne.Schober DR - Updated NVAPI #RB Marcus.Wassmer Change 3364300 on 2017/03/24 by Brian.Karis SSR use dynamic velocity Change 3364372 on 2017/03/24 by Brian.Karis Fix changing off axis projection velocities. Change 3364373 on 2017/03/24 by Brian.Karis Enabled velocity drawing in scene captures Change 3365531 on 2017/03/27 by Guillaume.Abadie Computes the material's screen position material expression directly from the pixel shader SvPosition Change 3365764 on 2017/03/27 by Chris.Bunner Lowering severity of crash for missing values in scalability.ini. #jira UE-41331 Change 3365916 on 2017/03/27 by Guillaume.Abadie Exposes the viewport offset within the view property material expression Change 3365979 on 2017/03/27 by Brian.Karis Fixed skylight intensity from double applying Change 3365987 on 2017/03/27 by Brian.Karis Stopped post process indirect lighting intensity from scaling skylight reflections Change 3365991 on 2017/03/27 by Brian.Karis Fix for static analysis Change 3366028 on 2017/03/27 by Daniel.Wright Volumetric fog supports static shadowing from Stationary lights * Using bilinear on static shadowmap depths + 1 PCF to smooth out results Change 3366029 on 2017/03/27 by Daniel.Wright Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog Change 3366055 on 2017/03/27 by Guillaume.Abadie Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies. Change 3366447 on 2017/03/27 by Simon.Tourangeau Fix IES light profile importer. - Bug in the LM-63-1986 format importer. Change 3366836 on 2017/03/27 by Brian.Karis ClearUAV now supports int types Change 3367435 on 2017/03/28 by Benjamin.Hyder Submitting Decal Automation map for initial approval Change 3367572 on 2017/03/28 by Chris.Bunner Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs. #jira UE-42989 Change 3367756 on 2017/03/28 by Olaf.Piesche Niagara material usage flags Change 3367835 on 2017/03/28 by Marcus.Wassmer Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene. Change 3367837 on 2017/03/28 by Marcus.Wassmer Missed a file. Change 3367838 on 2017/03/28 by Richard.Wallis Updated items from original shelved version by Mark Satt: - Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's **Description below taken from Mark Satt's original verison of this in CL3343280** Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries. Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently. - All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work. - With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary. - For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping. - File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic. - This bumps the object version and will cause all content to recook. - Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller). Change 3367854 on 2017/03/28 by Mark.Satterthwaite Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be. Change 3367877 on 2017/03/28 by Brian.Karis Fixed linux build hopefully Change 3368001 on 2017/03/28 by Mark.Satterthwaite Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves. Change 3368019 on 2017/03/28 by Mark.Satterthwaite And another fix for Windows compilation of MetalShaderFormat. Change 3368042 on 2017/03/28 by Mark.Satterthwaite And a couple of simpler MSVC errors. Change 3368271 on 2017/03/28 by Mark.Satterthwaite Make SceneRenderTargets compile again. Change 3368691 on 2017/03/28 by Daniel.Wright [Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis Change 3369689 on 2017/03/29 by Marcus.Wassmer Fix non editor compile for now Change 3369862 on 2017/03/29 by Marcus.Wassmer Get the rest of the things compiling again. Change 3369896 on 2017/03/29 by Chris.Bunner Enabling AMD HDR support by default. #jira UE-42113 Change 3370535 on 2017/03/29 by Marcus.Wassmer DR - Fix template explicit instantiation for ClearUAV permutations #RB Brian.Karis, Arne.Schober Change 3370704 on 2017/03/29 by Rolando.Caloca DR - Rewrote GPU Skin Cache - Per section buffers - Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB) Copied from 3370529 Change 3371389 on 2017/03/30 by Richard.Wallis Remove temp working directories after archive packages built. Change 3371641 on 2017/03/30 by Rolando.Caloca DR - Copy 3371640 (fix mem leak) Change 3372436 on 2017/03/30 by Uriel.Doyon Added flags in UPrimitiveComponent to keep track of its state in the streaming manager. This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic. Removed the limitation of only processing UMeshComponent when handling spawed primitive. This releases the level manager from having to manage dynamic primitives. This improves performance by not having to manage dynamic references in the level manager. Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling many cases automatically where previously a manual callback to notify would have been required. Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state because of lack of references in the streamer. Change 3372740 on 2017/03/30 by Chris.Bunner [Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute). StencilSceneTexture added to deferred list. A few known issues to be fixed in a follow-up CL. Change 3372765 on 2017/03/30 by Uriel.Doyon Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update Change 3372979 on 2017/03/30 by Richard.Hinckley #jira UE-43501 The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects. Change 3373053 on 2017/03/30 by Simon.Tourangeau LPV Fade support - mostly integrated from CL 2959511 Change 3373272 on 2017/03/30 by Uriel.Doyon Added support for the concurrent update of dynamic primitives by the streaming manager. Change 3373450 on 2017/03/30 by Rolando.Caloca DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory Copy 3373364 #jira UE-43492 Change 3373470 on 2017/03/30 by Marcus.Wassmer Nvidia Aftermath support Change 3374187 on 2017/03/31 by Chris.Bunner Volume texture support for CombineLUTs/Tonemap compute pass. Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS. Skip compute post process out-of-bounds writes. Unsigned type conversion fixes. Trimmed compute post process shader inputs. Change 3374233 on 2017/03/31 by Chris.Bunner Removed several redundant post process compute fences and resource transitions. Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch). Change 3374412 on 2017/03/31 by Rolando.Caloca DR - Fix static analysis Change 3374544 on 2017/03/31 by Richard.Wallis FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library. Future Work - This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver. - Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state - This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock Change 3374588 on 2017/03/31 by Richard.Wallis Windows Compile Fixes Change 3374810 on 2017/03/31 by Benjamin.Hyder updating recommended GPU drivers Change 3375207 on 2017/03/31 by Rolando.Caloca DR - vk - Fixed swapchain format selection for some Linux platforms Change 3375248 on 2017/03/31 by Rolando.Caloca DR - vk - Prefer D32S8 Change 3375495 on 2017/03/31 by Rolando.Caloca DR - vk - Update to sdk 1.0.42.2 Change 3375496 on 2017/03/31 by Rolando.Caloca DR - Force compiling with updated Vulkan SDK Change 3375636 on 2017/03/31 by Mark.Satterthwaite Copying Metal improvements from task stream, with some modifications: - Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts. - Support for Apple's Instruments "Points of Interest" tool. - Consolidation of some Mac & iOS compiler, memory and thread handling code. - Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects. - Improvements to the internal FMetalDebug layer, still off by default. - Limited support for Xcode automatic code-signing for iOS/tvOS. - Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals. - Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing. - Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types. - Smattering of lesser fixes. Change 3375654 on 2017/03/31 by Mark.Satterthwaite Incremental Windows build fix. Change 3375656 on 2017/04/01 by Mark.Satterthwaite Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...). Change 3375797 on 2017/04/01 by Mark.Satterthwaite Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds... Change 3375798 on 2017/04/01 by Mark.Satterthwaite Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream. Change 3375835 on 2017/04/01 by Mark.Satterthwaite Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly. Change 3376143 on 2017/04/02 by Mark.Satterthwaite Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system. Change 3376324 on 2017/04/03 by Chris.Bunner Fixed cvar re-registration log spam and flagged a testing-only cvar as such. Change 3376726 on 2017/04/03 by Benjamin.Hyder Submitting initial HDR test map (WIP) Change 3376756 on 2017/04/03 by Guillaume.Abadie Fixes scene captures ordering's backward compatibility. Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor. Change 3377378 on 2017/04/03 by Arne.Schober DR - Fix ShaderRecompiling over and over again #RB Chris.Bunner Change 3377512 on 2017/04/03 by Daniel.Wright [Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events Change 3377518 on 2017/04/03 by Daniel.Wright [Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12 Change 3377526 on 2017/04/03 by Daniel.Wright [Copy] "Ran out of GPU queries!" log only happens once Change 3377535 on 2017/04/03 by Daniel.Wright [Copy] Fixed unreferenced local variable Change 3377539 on 2017/04/03 by Daniel.Wright [Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages Change 3377546 on 2017/04/03 by Daniel.Wright [Copy] Added r.LightMaxDrawDistanceScale for local light scalability Change 3377553 on 2017/04/03 by Daniel.Wright [Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path Change 3377560 on 2017/04/03 by Daniel.Wright [Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes Change 3377565 on 2017/04/03 by Daniel.Wright [Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false) Change 3377572 on 2017/04/03 by Daniel.Wright [Copy] Disabled point / spot lights with MaxDrawDistance on LowPC Change 3377586 on 2017/04/03 by Daniel.Wright Fixed compile error Change 3377699 on 2017/04/03 by David.Hill FFT Code. Moved over from raven and refactored #review-3374589 @guillaume.abadie Change 3377910 on 2017/04/03 by David.Hill GPU FFT: Fix Linux Build adding a missing template<> to an IMPLEMENT_SHADER_TYPE Change 3378751 on 2017/04/04 by Marcus.Wassmer HQ particle lights now spawn attached to the same socket as their parent module. Change 3378819 on 2017/04/04 by Richard.Wallis Should be no need to protect shader cache against RHI thread now. Change 3378823 on 2017/04/04 by Richard.Wallis FRHIShaderLibrary Opaque Type - Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library. - Assumed that only Native libraries will end up in the RHICreate*Shader functions. - ShaderCache and ShaderCode Libraries now inherit from a common factory interface. Change 3378883 on 2017/04/04 by Arne.Schober DR - Fix DCC build Change 3378885 on 2017/04/04 by Richard.Wallis Metal resource cast compile fix post merge. Change 3378946 on 2017/04/04 by Chris.Bunner SM4 assert fix. Change 3378953 on 2017/04/04 by Chris.Bunner Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users. Allowed material nodes to opt out of mask-based pin coloration. #tests Compiled most Paragon materials + QAGame test maps. #jira UE-39885 Change 3379189 on 2017/04/04 by Arne.Schober DR - Fix aftermath staging Change 3379229 on 2017/04/04 by Arne.Schober DR - Fix missing include Change 3379374 on 2017/04/04 by Mark.Satterthwaite Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream. Change 3379505 on 2017/04/04 by Rolando.Caloca DR - Fix mismatched interpolators Change 3379539 on 2017/04/04 by Mark.Satterthwaite No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right... #jira UE-43626 Change 3379561 on 2017/04/04 by Rolando.Caloca DR - Fix root signature issues on D3D12 PC Change 3379590 on 2017/04/04 by Mark.Satterthwaite Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture. #jira UE-43626 Change 3379917 on 2017/04/04 by Uriel.Doyon Fix to input mismatch Change 3380578 on 2017/04/05 by Chris.Bunner Shader type fixes. #jira UE-43652 Change 3380639 on 2017/04/05 by Rolando.Caloca DR - Expose GetOrCreate PSO and document Change 3380821 on 2017/04/05 by Guillaume.Abadie Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures() #jira UE-43642 Change 3381092 on 2017/04/05 by Guillaume.Abadie Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting. This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations. Change 3381300 on 2017/04/05 by Mark.Satterthwaite Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface. #jira UE-43597 Change 3381359 on 2017/04/05 by Guillaume.Abadie Back out changelist 3381092 Change 3381421 on 2017/04/05 by Mark.Satterthwaite Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions. #jira UE-43689 Change 3381422 on 2017/04/05 by Mark.Satterthwaite Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery. #jira UE-43691 Change 3381503 on 2017/04/05 by Daniel.Wright More intuitive controls for Volumetric Fog * Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction * InscatteringColorCubemap is now supported by Volumetric Fog * Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing * Tweaked GVolumetricFogDepthDistributionScale better for nearby details * Volume Materials have twice the interpolators available Change 3381527 on 2017/04/05 by Mark.Satterthwaite Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements. Change 3381671 on 2017/04/05 by Mark.Satterthwaite Better error message for failure to compile shaders remotely from PC for Metal. Change 3381769 on 2017/04/05 by Rolando.Caloca DR - Added lock texture array 2d on Vulkan Change 3382003 on 2017/04/05 by Mark.Satterthwaite Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended. Change 3382030 on 2017/04/05 by Zachary.Wilson Fix compiling Metal text shaders from PC broken in merge from task stream. #submitter mark.satterthwaite #jira UE-43652 Change 3382880 on 2017/04/06 by Mark.Satterthwaite Michael Trepka's CL #3379927: VolumetricFogVoxelization implementation for Mac Change 3383315 on 2017/04/06 by Mark.Satterthwaite Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory. #jira UE-43739 Change 3384639 on 2017/04/07 by Marcus.Wassmer Move ShaderResource version bump to RenderingObjectVersion Change 3384704 on 2017/04/07 by Mark.Satterthwaite Compile fix for merge. Change 3384933 on 2017/04/07 by Rolando.Caloca DR - Fix skin cache crash with BP (copy 3384714) Change 3385104 on 2017/04/07 by Mark.Satterthwaite Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity. #jira UE-43783 Change 3385105 on 2017/04/07 by Mark.Satterthwaite Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783 #jira UE-43783 Change 3385118 on 2017/04/07 by Arne.Schober DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled #RB none Change 3385149 on 2017/04/07 by Marcus.Wassmer Fix skincache motion blur Change 3385189 on 2017/04/07 by Rolando.Caloca DR - Fix swapchain format for editor on Vulkan Change 3385287 on 2017/04/07 by Mark.Satterthwaite Enable SM5 on Intel as of 10.12.4 and later. Change 3385347 on 2017/04/07 by Rolando.Caloca DR - Temp fix for GL4 corruption on editor #jira UE-43785 Change 3385363 on 2017/04/07 by Rolando.Caloca DR - Actually fix all win platforms for GL bug #jira UE-43785 Change 3385557 on 2017/04/07 by Arne.Schober DR - [UE-43205] - Fix mesh paint #RB none Change 3385608 on 2017/04/07 by Daniel.Wright Fixed SampleCmp being used on a non-depth texture, causing a d3d error Change 3385980 on 2017/04/10 by Rolando.Caloca DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture Change 3386042 on 2017/04/10 by Rolando.Caloca DR - Fix metal merge issue Change 3386157 on 2017/04/10 by Rolando.Caloca DR - Remove VS2013 libs generation off hlslcc & glslang (to match main) Change 3386356 on 2017/04/10 by Chris.Bunner Resolving merge errors. Change 3386414 on 2017/04/10 by Chris.Bunner Resolved merge issue in RendererScene.cpp. Change 3386700 on 2017/04/10 by Mark.Satterthwaite Silence documentation warnings. Change 3387178 on 2017/04/10 by Chris.Bunner Removed invalid mask correction on MakeMA material nodes. Change 3388177 on 2017/04/11 by Marcus.Wassmer Disable ensure that is no longer relevant now that we bind clear colors on texture creation Change 3388261 on 2017/04/11 by Chris.Bunner Static analysis fix. [CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
#if POST_PROCESS_ALPHA
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
#define SceneColorLayout float4
#define CastFloat4ToSceneColorLayout(x) (x)
#define SetSceneColorLayoutToFloat4(dest,value) dest = (value)
#else
#define SceneColorLayout float3
#define CastFloat4ToSceneColorLayout(x) ((x).rgb)
#define SetSceneColorLayoutToFloat4(dest,value) dest.rgb = (value)
#endif
// Generated file that contains uniform buffer declarations needed by the shader being compiled
#include "GeneratedUniformBuffers.usf"
// to support the console command "r.InvalidateShaderCache"
#include "ShaderVersion.usf"
// uniform buffers specifics
#include "CommonViewUniformBuffer.usf"
#include "InstancedStereo.usf"
#include "Definitions.usf"
#define FEATURE_LEVEL_ES2 1
#define FEATURE_LEVEL_ES3_1 2
#define FEATURE_LEVEL_SM3 3
#define FEATURE_LEVEL_SM4 4
#define FEATURE_LEVEL_SM5 5
#define FEATURE_LEVEL_MAX 6
// A8 textures when sampled either have their component in R or A. D3D uses A and that is the default.
#define A8_SAMPLE_MASK .a
#if PS4_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#elif SM5_PROFILE
// SM5 = full dx11 features (high end UE4 rendering)
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#elif SM4_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM4
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
#elif SWITCH_PROFILE || SWITCH_PROFILE_FORWARD
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
#undef ES3_1_PROFILE
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
#if SWITCH_PROFILE
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#else
#define FEATURE_LEVEL FEATURE_LEVEL_ES3_1
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
// @todo switch: maybe all uses of this should check feature level not profile?
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
#define ES3_1_PROFILE 1
#endif
// A8 textures when sampled have their component in R.
#undef A8_SAMPLE_MASK
#define A8_SAMPLE_MASK .r
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
// switch doesn't have vertex attribute swizzling
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
#define FCOLOR_COMPONENT_SWIZZLE .bgra
#elif VULKAN_PROFILE
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
#define FEATURE_LEVEL FEATURE_LEVEL_ES3_1
#elif VULKAN_PROFILE_SM4
#define FEATURE_LEVEL FEATURE_LEVEL_SM4
#elif VULKAN_PROFILE_SM5
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#elif GL3_PROFILE || GL4_PROFILE
#if GL3_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM4
#elif GL4_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#endif
// A8 textures when sampled have their component in R.
#undef A8_SAMPLE_MASK
#define A8_SAMPLE_MASK .r
// hacks until the shader compiler supports those
#if GL4_PROFILE
#define class struct
#endif
#elif METAL_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_ES3_1
// @todo metal: remove this and make sure all uses handle METAL_PROFILE
#undef ES3_1_PROFILE
#define ES3_1_PROFILE 1
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
#define FCOLOR_COMPONENT_SWIZZLE .bgra
#define STENCIL_COMPONENT_SWIZZLE .x
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
#elif METAL_ES2_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_ES2
// @todo metal: remove this and make sure all uses handle METAL_ES2_PROFILE
#undef ES2_PROFILE
#define ES2_PROFILE 1
#define FCOLOR_COMPONENT_SWIZZLE .bgra
#define STENCIL_COMPONENT_SWIZZLE .x
#elif METAL_MRT_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM4
#define FCOLOR_COMPONENT_SWIZZLE .bgra
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
#define STENCIL_COMPONENT_SWIZZLE .x
#elif METAL_SM4_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM4
#define FCOLOR_COMPONENT_SWIZZLE .bgra
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
#define STENCIL_COMPONENT_SWIZZLE .x
#elif METAL_SM5_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_SM5
#define FCOLOR_COMPONENT_SWIZZLE .bgra
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
#define STENCIL_COMPONENT_SWIZZLE .x
#elif ES2_PROFILE || ES3_1_PROFILE
#if ES3_1_PROFILE
#define FEATURE_LEVEL FEATURE_LEVEL_ES3_1
#else
//@todo ES3_1 GL
#define FEATURE_LEVEL FEATURE_LEVEL_ES2
#endif
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#if COMPILER_GLSL_ES2 || COMPILER_GLSL_ES3_1
// Swizzle as we only support GL_BGRA on non-ES2 platforms that have that extension
#define FCOLOR_COMPONENT_SWIZZLE .bgra
#else
#define FCOLOR_COMPONENT_SWIZZLE
#if COMPILER_GLSL
// A8 textures when sampled have their component in R
#undef A8_SAMPLE_MASK
#define A8_SAMPLE_MASK .r
#endif
#endif
#else
#error Add your platform here
#define FEATURE_LEVEL FEATURE_LEVEL_MAX
#endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3219796 on 2016/12/02 by Rolando.Caloca DR - vk - Increase timeout to 60ms Change 3219884 on 2016/12/02 by Daniel.Wright Assert to help track down rare crash locking capsule indirect shadow vertex buffer Change 3219885 on 2016/12/02 by Daniel.Wright Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable' Change 3219886 on 2016/12/02 by Daniel.Wright Don't create projected shadows when r.ShadowQuality is 0 * Fixes crash in the forward path trying to render shadows * In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped Change 3219887 on 2016/12/02 by Daniel.Wright Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing Change 3219893 on 2016/12/02 by Daniel.Wright AMD AGS library with approved TPS Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below) Change 3219913 on 2016/12/02 by Daniel.Wright Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded Change 3220029 on 2016/12/02 by Daniel.Wright Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation). * A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials * Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials * FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet Change 3220108 on 2016/12/02 by Daniel.Wright Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present Change 3220504 on 2016/12/03 by Mark.Satterthwaite Metal Desktop Tessellation support from Unicorn. - Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4). - Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant. - Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation. - Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding. - Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default. - Epic: Various fixes to Layered Rendering for Metal. - Omits Mobile Tessellation support which needs further revision. Change 3220881 on 2016/12/04 by Mark.Satterthwaite Compiles fixes for iOS & static analysis fixes from Windows. Change 3221180 on 2016/12/05 by Guillaume.Abadie Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time. Change 3221217 on 2016/12/05 by Chris.Bunner More NVAPI warning fixups. Change 3221219 on 2016/12/05 by Chris.Bunner When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent. #jira UE-37792 Change 3221220 on 2016/12/05 by Chris.Bunner Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames. #jira UE-35132 Change 3221221 on 2016/12/05 by Chris.Bunner PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser) #jira UE-35760 Change 3221223 on 2016/12/05 by Chris.Bunner Default to include dev-code when compiling material preview stats. #jira UE-20321 Change 3221534 on 2016/12/05 by Rolando.Caloca DR - Added FDynamicRHI::GetName() Change 3221833 on 2016/12/05 by Chris.Bunner Set correct output extent on PostProcessUpscale (allows users to extend chain correctly). #jira UE-36989 Change 3221852 on 2016/12/05 by Chris.Bunner 32-bit/ch EXR screenshot and frame dump output. Fixed row increment bug in 128-bit/px surface format readback. #jira UE-37962 Change 3222059 on 2016/12/05 by Rolando.Caloca DR - vk - Fix memory type not found Change 3222104 on 2016/12/05 by Rolando.Caloca DR - Lambdaize - Added quicker method to check if system textures are initialized Change 3222290 on 2016/12/05 by Mark.Satterthwaite Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist. Change 3222864 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak when exiting Change 3222873 on 2016/12/06 by Rolando.Caloca DR - vk - Minor info to help track down leaks Change 3222875 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak with VisualizeTexture #jira UE-39360 Change 3223226 on 2016/12/06 by Chris.Bunner Static analysis warning workaround. Change 3223235 on 2016/12/06 by Ben.Woodhouse Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D Change 3223343 on 2016/12/06 by Chris.Bunner Moved HLOD persistent data to viewstate to fix per-view compatability. #jira UE-37539 Change 3223349 on 2016/12/06 by Chris.Bunner Fixed HLOD with FreezeRendering command. #jira UE-29839 Change 3223371 on 2016/12/06 by Michael.Trepka Removed obsolete check() in FMetalSurface constructor Change 3223450 on 2016/12/06 by Chris.Bunner Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward. Change 3223638 on 2016/12/06 by Michael.Trepka Restored part of the check() in FMetalSurface constructor removed in CL 3223371 Change 3223642 on 2016/12/06 by Mark.Satterthwaite Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet). - Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs). - Enable with -metaledr command-line argument as it is off-by-default. - Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding. Change 3223830 on 2016/12/06 by Rolando.Caloca DR - vk - Better error when finding an invalid Vulkan driver #jira UE-37495 Change 3223869 on 2016/12/06 by Rolando.Caloca DR - vk - Reuse fences Change 3223906 on 2016/12/06 by Guillaume.Abadie Fix alpha through TempAA artifact causing a small darker edge layouts. Change 3224199 on 2016/12/06 by Mark.Satterthwaite Fix a dumb copy-paste error from the HDR changes to Metal. Change 3224220 on 2016/12/06 by Mark.Satterthwaite Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects. - Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering. Change 3224236 on 2016/12/06 by Mark.Satterthwaite IWYU CIS compile fix for iOS. Change 3224366 on 2016/12/06 by Mark.Satterthwaite Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears. - If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted. - This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo. Change 3224416 on 2016/12/06 by Uriel.Doyon New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds. Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives). Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData. Fix for material texture streaming data not being available on some cooked builds. Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible). This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting. Forced residency are now loaded in two steps (visible, then forced), improving reactiveness. Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them, and also "LastRenderTimeMips" which related to timed primitives. Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency. "Texture Streaming Build" now updates the map check after execution. Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic. Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements. Change 3224532 on 2016/12/07 by Uriel.Doyon Integrated CL 3223965 : Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore. Added more options to allow the user to cancel this build also. Change 3224714 on 2016/12/07 by Ben.Woodhouse Cherry pick CL 3223972 from //fortnite/main: Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms) Change 3224715 on 2016/12/07 by Ben.Woodhouse New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version Change 3224975 on 2016/12/07 by Rolando.Caloca DR - vk - Dump improvements Change 3225012 on 2016/12/07 by Rolando.Caloca DR - Show warning if trying to use num samples != (1,2,4,8,16) Change 3225126 on 2016/12/07 by Chris.Bunner Added 'force 128-bit rendering pipeline' to high-res screenshot tool. #jira UE-39345 Change 3225449 on 2016/12/07 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3225485 on 2016/12/07 by Chris.Bunner Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases. #jira UE-19394 Change 3225486 on 2016/12/07 by Chris.Bunner Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled. Change 3225505 on 2016/12/07 by Daniel.Wright Fixed exponential height fog disappearing with no skybox Change 3225655 on 2016/12/07 by Benjamin.Hyder Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting. Change 3225668 on 2016/12/07 by Chris.Bunner Dirty owning packages when user manually forces regeneration of all reflection captures. #jira UE-38759 Change 3226139 on 2016/12/07 by Rolando.Caloca DR - Fix recompute tangents disabling skin cache - Make some macros into lambdas #jira UE-39143 Change 3226212 on 2016/12/07 by Daniel.Wright Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false Change 3226213 on 2016/12/07 by Daniel.Wright Scene Capture 2D can specify a global clip plane, which is useful for portals * Requires the global clip plane project setting to be enabled Change 3226214 on 2016/12/07 by Daniel.Wright Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass * If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used * Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing * Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost * Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall Change 3226258 on 2016/12/07 by Rolando.Caloca DR - Typo fix Change 3226259 on 2016/12/07 by Rolando.Caloca DR - compile fix #jira UE-39143 Change 3226932 on 2016/12/08 by Chris.Bunner Re-saved Infiltrator maps to update reflection captures. #jira UE-38759 Change 3227063 on 2016/12/08 by Mark.Satterthwaite For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia. #jira UE-37436 Change 3227120 on 2016/12/08 by Gil.Gribb Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering) Change 3227211 on 2016/12/08 by Arne.Schober DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant. Change 3227257 on 2016/12/08 by Marc.Olano Extension to PseudoVolumeTexture for more flexible layout Change by ryan.brucks Change 3227286 on 2016/12/08 by Rolando.Caloca DR - Fix crash when using custom expressions and using reserved keywords #jira UE-39311 Change 3227376 on 2016/12/08 by Mark.Satterthwaite Must not include a private header inside the MenuStack public header as that causes compile errors in plugins. Change 3227415 on 2016/12/08 by Mark.Satterthwaite Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering. Change 3227516 on 2016/12/08 by Daniel.Wright Implemented UWidgetComponent::GetUsedMaterials Change 3227521 on 2016/12/08 by Guillaume.Abadie Fixes post process volume's indirect lighting color. #jira UE-38888 Change 3227567 on 2016/12/08 by Marc.Olano New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask Change 3227628 on 2016/12/08 by Daniel.Wright Removed redundant ResolveSceneDepthTexture from the merge Change 3227635 on 2016/12/08 by Daniel.Wright Forward renderer supports shadowing from movable lights and light functions * Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed * Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned Change 3227660 on 2016/12/08 by Rolando.Caloca DR - vk - Fix r.MobileMSAA on Vulkan - r.MobileMSAA is now read-only (to be fixed on 4.16) - Show time for PSO creation hitches #jira UE-39184 Change 3227704 on 2016/12/08 by Mark.Satterthwaite Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms. Change 3227705 on 2016/12/08 by Daniel.Wright Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426) Change 3227787 on 2016/12/08 by Chris.Bunner Added extent clear to motion blur pass to catch misized buffers bringing in errors. Added early out to clear call when excluded region matches RT region. #jira UE-39437 Change 3228177 on 2016/12/08 by Marc.Olano Fix DCC sqrt(int) error Change 3228285 on 2016/12/08 by Chris.Bunner Back out changelist 3225449. #jira UE-39528 Change 3228680 on 2016/12/09 by Gil.Gribb Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering) Change 3228940 on 2016/12/09 by Mark.Satterthwaite Editor fixes for 4.15: - PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again. - Don't start render-passes without a valid render-target-array in MetalRHI. Change 3228950 on 2016/12/09 by Mark.Satterthwaite Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11. - Fixed the Skeleton editor tree trying to access a widget before it has been constructed. - Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation. #jira UE-39256 Change 3229013 on 2016/12/09 by Mark.Satterthwaite Further tidy up in SSkeletonTreeView as suggested by Nick.A. Change 3229101 on 2016/12/09 by Chris.Bunner Log compile error fix and updated cvar comments. Change 3229236 on 2016/12/09 by Ben.Woodhouse XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles Change 3229430 on 2016/12/09 by Ben.Woodhouse PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov) Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster) Change 3229580 on 2016/12/09 by Marcus.Wassmer DepthBoundsTest for AMD. Change 3229701 on 2016/12/09 by Michael.Trepka Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2 Change 3229706 on 2016/12/09 by Chris.Bunner Added GameUserSettings controls for HDR display output. Removed Metal commandline as this should replace the need for it. Change 3229774 on 2016/12/09 by Michael.Trepka Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit. Change 3229819 on 2016/12/09 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3229948 on 2016/12/09 by Rolando.Caloca DR - Fix d3d debug error #jira UE-39589 Change 3230341 on 2016/12/11 by Mark.Satterthwaite Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled. #jira UE-39613 Change 3230860 on 2016/12/12 by Marcus.Wassmer Experimental Nvidia AFR support. Change 3230930 on 2016/12/12 by Mark.Satterthwaite Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function. Change 3231252 on 2016/12/12 by Marcus.Wassmer Fix NumGPU detection. (SLI only crash) Change 3231486 on 2016/12/12 by Mark.Satterthwaite Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers. Change 3231661 on 2016/12/12 by Mark.Satterthwaite Retain the RHI samplers in MetalRHI to guarantee lifetime. [CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
#define METAL_TESSELLATION_PROFILE ((METAL_PROFILE || METAL_SM5_PROFILE) && USING_TESSELLATION)
// non-editor platforms generally never want development/editor features.
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3175510 on 2016/10/26 by Josh.Adams - New Wolf SDK support (11). - Added new input plugin now that extra NDA is lifted Change 3176629 on 2016/10/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3177232 on 2016/10/27 by Josh.Adams - Minor comment change Change 3177348 on 2016/10/27 by Dmitry.Rekman Linux: default to GL4. Change 3177523 on 2016/10/27 by Dmitry.Rekman Linux: update libc++ to 3.9 and add AArch64. Change 3178208 on 2016/10/28 by Daniel.Lamb Enable multithreaded lightmap encoding. Change 3178273 on 2016/10/28 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix crash in PS4 packaging step. - Parallel-for accessing the same log files, causing IOException. Change 3178573 on 2016/10/28 by Dmitry.Rekman Linux: fix for projects not having proper version associations (UE-5954). - Fixed by CengizT. Change 3180487 on 2016/10/31 by Josh.Adams Moved new file to peoper spot Change 3180508 on 2016/10/31 by Josh.Adams - Fixed crash on audio free for Wolf Change 3181821 on 2016/11/01 by Josh.Adams - Fixed ShooterGame cooking after sync from main Change 3182469 on 2016/11/01 by Josh.Adams - test/shipping build wolf fixes Change 3183078 on 2016/11/02 by Josh.Adams - Added AllDesktop back in for Windows (File | Package) Change 3183229 on 2016/11/02 by Josh.Adams - Fixed wrong path in JunkManifest.txt Change 3184245 on 2016/11/02 by Dmitry.Rekman Linux: add AArch64 (ARM64) libs. Change 3184326 on 2016/11/02 by Dmitry.Rekman Linux: add more files for AArch64. Change 3184353 on 2016/11/02 by Dmitry.Rekman Linux: Add missed AArch64 libpng. Change 3184871 on 2016/11/03 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4. - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues. #jira UE-36365 Change 3185407 on 2016/11/03 by Dmitry.Rekman Linux: fix PhysX on AArch64. (Edigrating 3184484 from Wombat to Dev-Platform). Change 3187488 on 2016/11/04 by Josh.Adams Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal) Change 3187740 on 2016/11/04 by Josh.Adams - Re-copying the Switch files, now with proper case in the directory names Change 3188304 on 2016/11/07 by Dan.Mahashin - Removed deprecated functions in NVN window creation Change 3188865 on 2016/11/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame. - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds. #jira UE-37672 Change 3189517 on 2016/11/07 by Jeff.Campeau Fix incorrect local platform identification in device manager. #jira UE-38312 Change 3189897 on 2016/11/08 by Luke.Thatcher [PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node. Change 3190042 on 2016/11/08 by Josh.Adams - Fixed default and Shooter App Ids for Switch Change 3190181 on 2016/11/08 by Joe.Barnes [UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms. Change 3190185 on 2016/11/08 by Joe.Barnes Fix another instance of UE_LOG() where the string was being truncated on Switch platform. Change 3190272 on 2016/11/08 by Daniel.Lamb Add file hashes to depependency tracking info. Moved partial gc controlling code outside of the cooker. Store cooked file hashes in cooked asset registry. Cooked asset registry is now part of the cooker instead of chunking manifest. #test cook paragon Change 3190332 on 2016/11/08 by Omar.Rodriguez Fixing issues with iOS remote notifications * Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable * Fix misspelling when doing respondsToSelector check * Update generated Xcode project to use the generated entitlements file * Add remote-notification as a background mode * Update the generated entitlements file contents to include APS environment for push notifications * Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled Change 3190391 on 2016/11/08 by Brent.Pease UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting (Josh's suggestion worked out of the box) Change 3190786 on 2016/11/08 by Bart.Hawthorne Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame Change 3190902 on 2016/11/08 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android #jira UE-37845 #android Change 3190973 on 2016/11/08 by Chris.Babcock Add ability to set element value field with new text parameter for UPL #jira UE-37390 #PR #2869 #ue4 #upl Change 3191411 on 2016/11/09 by Josh.Stoddard Warn when user tries to use a shared pak reader on the wrong thread #jira UE-38049 Change 3191635 on 2016/11/09 by Josh.Stoddard More useful message during cook when AT9 assets fail to encode using SCE's tool #jira UE-38053 Change 3191663 on 2016/11/09 by Peter.Sauerbrei fix for ios build from PC Change 3191701 on 2016/11/09 by Brent.Pease implement iOS device logs on windows Change 3191794 on 2016/11/09 by Daniel.Lamb Fixed up compile error missing header file. #test Compile editor #jira UE-38414 Change 3191807 on 2016/11/09 by Josh.Adams - Fixed one chage that was missed in the WolfPlat->Switch rename Change 3191867 on 2016/11/09 by Josh.Adams - Enabled Switch for ShooterGame project Change 3191958 on 2016/11/09 by Jeff.Campeau Add warning for anyone still using XP Change 3192185 on 2016/11/09 by Josh.Adams - Updated to SDK 0.11.12 - Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet) Change 3192241 on 2016/11/09 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3192324 on 2016/11/09 by Josh.Adams - Worked around an issue with RunOnTarget stripping quotes around paths with spaces #jira UE-38388 Change 3192387 on 2016/11/09 by Josh.Adams - Updating editor icon for Switch #jira UE-38295 Change 3192476 on 2016/11/09 by Dmitry.Rekman Linux: put correct OpenAL lib per architecture. (Edigrating CL 3185947 from Wombat to Dev-Platform) Change 3192527 on 2016/11/09 by Josh.Adams - Fixed a shadow variable warning #jira UE-38408 Change 3192606 on 2016/11/09 by Jeff.Campeau XP option removed #jira UEPLAT-1542 Change 3192644 on 2016/11/09 by Josh.Adams - Fixed a CIS error (not sure why I don't get it, but hey) Change 3192659 on 2016/11/09 by Josh.Adams - Fixed a crash in DeploymentServer Change 3192672 on 2016/11/09 by Jeff.Campeau Fix WinXP message spamming Change 3193252 on 2016/11/10 by Josh.Adams - Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs) Change 3193756 on 2016/11/10 by Dmitry.Rekman Linux: add support for touch events. (Edigrating CL 3188159 from Wombat to Dev-Platform). Change 3194297 on 2016/11/10 by Jeff.Campeau HarfBuzz implementation for Xbox One #jira UE-28590 Change 3194299 on 2016/11/10 by Jeff.Campeau Pump Xbox One messaging during slow startup tasks #jira UEPLAT-1276 Change 3194300 on 2016/11/10 by Jeff.Campeau Use response files when building for Xbox One #jira UEPLAT-1296 Change 3194313 on 2016/11/11 by Jeff.Campeau Stop uploading symbols on the first error Show a more detailed error message if symbol uploading fails Add a command line option to disable upload of symbols #1852 #jira UE-24425 Change 3194327 on 2016/11/11 by Jeff.Campeau Deduplicate Xbox One build.cs setup for several modules #jira UE-37540 Change 3194402 on 2016/11/11 by Dmitry.Rekman Linux: do not apply mouse workaround unnecessarily. - Only matters when there is more than one window. (Edigrating 3194399 from Wombat to Dev-Platform). Change 3194434 on 2016/11/11 by Dan.Mahashin - Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization Change 3194569 on 2016/11/11 by Daniel.Lamb Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up. Change 3194570 on 2016/11/11 by Daniel.Lamb Fix for DiffSerializeArchive not using the correct archive when saving packages. #test Cook paragon Change 3194571 on 2016/11/11 by Daniel.Lamb Make sure dependent packages are valid before using them. Added FastBuildCookRun bat file for paragon testing. #test Cook Paragon Change 3194575 on 2016/11/11 by Daniel.Lamb Reworked a warning for the cooker. Change 3194698 on 2016/11/11 by Daniel.Lamb Skip skin verify only runs on build machines now. Saves paragon cook time. Change 3194699 on 2016/11/11 by Daniel.Lamb Changed the wording of skip editor content setting so it's more clear. #test none Change 3194702 on 2016/11/11 by Daniel.Lamb Potential fix for default materials not being in chunk zero. #test run ps4 cooked build paragon Change 3194711 on 2016/11/11 by Alicia.Cano Allow RTTI and exceptions to be enabled for Android Allow RTTI to be enabled for IOS, Mac #jira UE-37845, UE-20314 #android #ios #mac Change 3194956 on 2016/11/11 by Josh.Adams - Removed the crash with unknown socket error code, left in the warning Change 3195028 on 2016/11/11 by Dmitry.Rekman Linux: repair launch on. (Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...) Change 3195041 on 2016/11/11 by Dmitry.Rekman Linux: support selecting architectures per project. (Edigrating 3192783 from Wombat to Dev-Platform). Change 3195058 on 2016/11/11 by Dmitry.Rekman Linux: fix code to determine number of cores. - ARM topology seems not to be in line with the assumptions made by x86-centric code. (Merging 3184632 from Wombat to Dev-Platform). Change 3195082 on 2016/11/11 by Josh.Adams - Fixed name of packaged Switch builds to have the config in it (Shipping, etc) #jira UE-38394 Change 3195151 on 2016/11/11 by Bart.Hawthorne - Add game server settings to project settings to connect to the actual game server, instead of the debug login - Use the system software dialog box to show error codes for login failures Change 3195153 on 2016/11/11 by Josh.Adams - Fixed copy and paste logs errors Change 3195156 on 2016/11/11 by Josh.Adams - Fixed some default values, especially for save games (uses their default of 4MB size) - Added some LotCheck write tracking Change 3195285 on 2016/11/11 by Jeff.Campeau Fix HarfBuzz warning on Xbox One Change 3195477 on 2016/11/11 by Josh.Adams - Fixed up some IsGameOnly calls #jira UE-37575 Change 3195490 on 2016/11/11 by Dmitry.Rekman UAT: fix CIS (removed old variables). Change 3195724 on 2016/11/11 by Josh.Adams - Final fix for name of .nsp (content only projects in Shipping config, etc) #jira UE-38394 Change 3195755 on 2016/11/11 by Josh.Adams - Made translucent Switch icons Change 3195771 on 2016/11/11 by Josh.Adams - Fixed some Switch "space in path" issues #jira UE-38393 Change 3195801 on 2016/11/11 by Josh.Adams - Handle making sure the save is completed before we shutdown #jira UE-38215 Change 3196593 on 2016/11/14 by Michael.Trepka Implemented Info string in AvfMedia for display in Media Player Editor #jira UE-35386 Change 3196782 on 2016/11/14 by Josh.Adams - Added a comment for a workaround Change 3196784 on 2016/11/14 by Michael.Trepka Alembic importer for Mac #jira UE-37708 Change 3196901 on 2016/11/14 by Alicia.Cano ADB over wifi fails to deploy on Launch on. #jira UE-37957 #android Change 3197055 on 2016/11/14 by Josh.Adams - Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment Change 3197059 on 2016/11/14 by Josh.Adams - Removed some stat code with no STATS Change 3197066 on 2016/11/14 by Josh.Adams - Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things Change 3197176 on 2016/11/14 by Josh.Adams - Added some helper scripts to switch in and out of debug mode on Switch Change 3197183 on 2016/11/14 by Bart.Hawthorne Error dialog fixes based on peer review feedback from JoshA Change 3197339 on 2016/11/14 by Josh.Adams Allow -htcs on the commandline now to override disabling Htcs in packaged builds Change 3197401 on 2016/11/14 by Josh.Adams - Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable! #jira UE-38556 Change 3197691 on 2016/11/14 by Dmitry.Rekman Linux: save added devices. (Edigrating 3196529 from Wombat to Dev-Platform). Change 3197854 on 2016/11/15 by Dan.Mahashin - MemoryProfiler2: fixed Switch parser file path in the csproj Change 3197960 on 2016/11/15 by Dan.Mahashin - NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834) Change 3198488 on 2016/11/15 by Bart.Hawthorne Submit missing NoRedist/DefaultEngine.ini file Change 3198970 on 2016/11/15 by Michael.Trepka Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors) Change 3199050 on 2016/11/15 by Daniel.Lamb Some more output to help track down iterative cooking scenarios #test Cook paragon Change 3199097 on 2016/11/15 by Josh.Adams - Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects - Fixed default Program Id in code - Fixed a problem with Run with a space in the path #jira UE-38608 Change 3199181 on 2016/11/15 by Dmitry.Rekman Fix CIS (compiling LinuxTargetDevice without engine). Change 3199253 on 2016/11/15 by Dmitry.Rekman Hopeful fix for a static analysis warning. Change 3199325 on 2016/11/15 by Joe.Barnes Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback. Change 3199814 on 2016/11/15 by Dmitry.Rekman Linux: remove forced -windowed when launching. (Merging CL 3199789 from Wombat to Dev-Platform) Change 3200580 on 2016/11/16 by Josh.Adams Updasted DeploymentServer Change 3200595 on 2016/11/16 by Joe.Barnes Removed inadvertent SleepThread() when starting movie playback. Change 3200604 on 2016/11/16 by Josh.Adams - Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware Change 3200632 on 2016/11/16 by Brent.Pease Update PlatformShowcase with latest tests Change 3200704 on 2016/11/16 by Dmitry.Rekman Linux: fix native compilation. Change 3200711 on 2016/11/16 by Brent.Pease - Support ios audio streaming from disk - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent. + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management) - IOS audio implementation simplified to use new ADPCMAudioInfo functionality - Fixed adpcm seamless looping NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen... Change 3201015 on 2016/11/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3201023 on 2016/11/16 by Josh.Stoddard Fix splash screen assignment for iPad #jira UE-38623 Change 3201215 on 2016/11/16 by Brent.Pease Hopefully final fix for build breakage Change 3201259 on 2016/11/16 by Josh.Adams - Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing - Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe) - Reduced audio pool alignment to not waste massive memory from it Change 3202332 on 2016/11/17 by Daniel.Lamb Changed build scripts to support iterative cooking #test Ran new build scripts Change 3202371 on 2016/11/17 by Michael.Trepka Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations #jira UE-38392 Change 3202421 on 2016/11/17 by Michael.Trepka Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa #jira UE-18343 Change 3202462 on 2016/11/17 by Michael.Trepka Fixed HTTP If-None-Match response code on Mac and iOS Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html #jira UE-36317 Change 3202620 on 2016/11/17 by Daniel.Lamb Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered. Commandlets now do not always have GIsRequestingExit true. Made crash handler check for commandlets running and exit appropriately. #test Rebuild lighting QAGame Change 3202955 on 2016/11/17 by Daniel.Lamb Add support for clearing all the cached cooked platform data for a platform when requested. #test cook QA game #jira UE-38361 Change 3202983 on 2016/11/17 by Daniel.Lamb Added support to rebuild lightmaps commandlet for building lightmaps in seperate files. #test rebuild lighting Custom QAGame maps. #jira OR-31907 Change 3203128 on 2016/11/17 by Josh.Adams - Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well) Change 3203537 on 2016/11/18 by Dmitry.Rekman Fix ProjectWorldToScreen node for letterboxed viewports. (Merging CL 3201546 from Wombat to Dev-Platform). Change 3203540 on 2016/11/18 by Dmitry.Rekman Linux: be more verbose when setting vblank sync. (Merging CL 3199633 from Private-Wombat to Dev-Platform). Change 3203599 on 2016/11/18 by Dmitry.Rekman Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067). - PR #2849: Contributed by slonopotamus. Change 3203610 on 2016/11/18 by Dmitry.Rekman Add CEF support for Linux (UE-6743). Change 3203615 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script so it is independent of working dir (UE-37016). - PR #2842 contributed by slonopotamus Change 3203645 on 2016/11/18 by Dmitry.Rekman Linux: fix UnrealCEFSubProcess. Change 3203658 on 2016/11/18 by Dmitry.Rekman Remove hard-coded paths to mono binary (UE-35228). - Another way to implement pull request #2741. Change 3203770 on 2016/11/18 by Josh.Adams - Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code Change 3204244 on 2016/11/18 by Dmitry.Rekman Unsuppress mistakenly suppressed warnings and fix one more (UE-38788). Change 3204277 on 2016/11/18 by Brent.Pease + Fix seamless looping bug found on Dan's QAGame test + Fix static analyzer warning (which was a real bug with uncompressed streaming) + Code review feedback from Aaron + Small addition from channel sync ios bug fix Change 3204576 on 2016/11/18 by Omar.Rodriguez Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings. Change 3204629 on 2016/11/18 by Chris.Babcock Fix case of VulkanSwapChain.h #include #jira UE-38843 #ue4 #vulkan Change 3204708 on 2016/11/18 by Josh.Adams - Set SwitchMoviePlayer to include the libs from the proper directory Change 3204730 on 2016/11/18 by Josh.Adams - Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS Change 3204865 on 2016/11/18 by Brent.Pease + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off. Change 3204883 on 2016/11/18 by Dmitry.Rekman Linux: fix native LaunchOn (UE-38616). Change 3204914 on 2016/11/18 by Brent.Pease + Turn off the device check to prevent it from conflicting with remote packaging/launch-on Change 3204940 on 2016/11/18 by Josh.Adams Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke Change 3204952 on 2016/11/18 by Dmitry.Rekman Linux: fix bootstrap script (UE-38851). - Caused by UE-37016. Change 3205630 on 2016/11/21 by Brent.Pease + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects. + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear + Cleaned up memory tracking and freeing. #jira ue-38846 Change 3205787 on 2016/11/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) [CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
#define PLATFORM_SUPPORTS_DEVELOPMENT_SHADERS (!PS4_PROFILE && !XBOXONE_PROFILE && !ESDEFERRED_PROFILE && !SWITCH_PROFILE)
#define USE_DEVELOPMENT_SHADERS (COMPILE_SHADERS_FOR_DEVELOPMENT && PLATFORM_SUPPORTS_DEVELOPMENT_SHADERS)
#ifndef MOBILE_EMULATION
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
#define MOBILE_EMULATION ((FEATURE_LEVEL == FEATURE_LEVEL_ES2 || FEATURE_LEVEL == FEATURE_LEVEL_ES3_1) && (!(COMPILER_GLSL_ES3_1 || COMPILER_GLSL_ES2) && USE_DEVELOPMENT_SHADERS && (!(METAL_PROFILE) || MAC) && !VULKAN_PROFILE && !SWITCH_PROFILE))
#endif
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3155909) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3118534 on 2016/09/08 by Steve.Cano Certain non-looping SFX would not properly fire "Stop" events when the effect was finished, and therefore Sound Mixes that should end at the end of a SFX (such as ducking the BGM volume) were not properly finishing. Fixing the IsSourceFinished call to check the Position of the player to determine if we are actually done playing, which was not working properly before for PCM sounds. #jira UE-35016 #ue4 #android Change 3119125 on 2016/09/09 by Dmitriy.Dyomin Mobile launcher profile wizard: Fixed case where DLC will not be built if user selects non Development build configuration Fixed case where project maps will be empty if UE4 and project located on different drives Change 3122584 on 2016/09/13 by Allan.Bentham Add simple clip plane for planar reflections. #jira UE-32449 Change 3129390 on 2016/09/16 by Chris.Babcock Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3129867 on 2016/09/18 by Jack.Porter Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3131961 on 2016/09/20 by Allan.Bentham Fix missing editor widgets and gamma incorrectness when mobileHDR == false. Fix editor widget rendering when hdr encoding is active. #jira UE-34281 Change 3132717 on 2016/09/20 by Chris.Babcock Add $S(ProjectDir) to UPL #jira UE-35483 #ue4 Change 3132940 on 2016/09/20 by Chris.Babcock Corrected case for some include files (contributed by Yukariin) #jira UE-33816 #PR #2636 #ue4 #android Change 3134098 on 2016/09/21 by Allan.Bentham Mobile CSM shadow quality controllable via quality levels. #jira UEMOB-74 Change 3134931 on 2016/09/21 by Chris.Babcock Allow Windows types in vulkan.h #jira UE-36270 #ue4 #vulkan Change 3135380 on 2016/09/21 by Dmitriy.Dyomin Plugin which exposes some of BuildPatchServices functionality to BP. Inteded to be used on mobile platforms for donwloading game content. Right now misses: IOS download directory and iOS WiFi detection #jira UEMOB-157 Change 3136004 on 2016/09/22 by Allan.Bentham Add project option to disable vertex fog on mobile. Vertex fog is now enabled even when mobile HDR is not. #jira UEMOB-148 Change 3137377 on 2016/09/22 by Dmitriy.Dyomin Fix compile error from CL# 3135380 Change 3139571 on 2016/09/26 by Jack.Porter Applied deferred change CL 3101462 to mobile to make planar reflections no longer update GPU particles Change 3139663 on 2016/09/26 by Jack.Porter Include Android shader cache files when packaging Change 3142839 on 2016/09/28 by Dmitriy.Dyomin Added WiFi connection detection on iOS Change 3142845 on 2016/09/28 by Jack.Porter Fixed various issues with TcpMessageTransport discovered when transferring automation testing screenshots from mobile devices - socket not readable or writable is not an error condition if output buffer is full - messages were previously limited to 64kb but screenshots overflowed this - messages over 8kb were not reliably received as the inbound buffer was full so the available bytes was always less than the message length - sending large messages was not reliable due to the output buffer being full Change 3143280 on 2016/09/28 by Jack.Porter Clear out UnbuiltInstanceBoundsList when async building a tree with no instances Change 3143282 on 2016/09/28 by Jack.Porter Fix issue where client functional tests in the current map do not appear on clients running with cooked content. Problem is that the AssetRegistry uses in-memory metadata created on load for currently-loaded assets, but cooked content only has the serialized AssetRegistry and individual assets do not contain any metadata. Change 3143808 on 2016/09/28 by Steve.Cano Assume that the app starts in focus at startup and don't wait for an "APP_EVENT_STATE_WINDOW_GAINED_FOCUS" event to fire, as this event will not come down from SplashActivity since it is not a NativeActivity. If the user then rotates the device in Sensor or FullSensor orientation during SplashActivity and forces an eglSurface recreation, the initial Create will properly execute if we're "in focus". Previously, the create-destroy-create cycle would not properly execute due to the EventManager thinking the app was not yet in focus, and would cause the second create to get a 0x3003 error (EGL_BAD_ALLOC) #jira UE-35004 #ue4 #android Change 3144880 on 2016/09/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3146220 on 2016/09/30 by Dmitriy.Dyomin Adjusted device button style to make it more readable. #jira UE-21881 Change 3146280 on 2016/09/30 by Dmitriy.Dyomin Replaced IBuildManifest::ComputeDownloadSize with a new function Change 3146302 on 2016/09/30 by Allan.Bentham Added more stringent checks for ES3.1 compatibility #jira UE-36241 Change 3146435 on 2016/09/30 by Jack.Porter Prevent landscape grass being duplicated for PIE, causing ensure #jira UE-36531 Change 3147532 on 2016/09/30 by Chris.Babcock Use .sh extension for Android install scripts on Linux #jira UE-36669 #ue4 #android #linux Change 3149851 on 2016/10/04 by Dmitriy.Dyomin Mobile: Added custom depth rendering Mobile: Added support for CustomDepth and SceneDepth in post-process materails Change 3149852 on 2016/10/04 by Dmitriy.Dyomin Fixed comments for SortBasePass console variable Change 3149857 on 2016/10/04 by Jack.Porter Remove dead code in ProceduralFoliageComponentDetails.cpp Change 3149863 on 2016/10/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3149896 on 2016/10/04 by Dmitriy.Dyomin Fixed: SkyLight makes level entire green on Android devices #jira UE-34469 Change 3150102 on 2016/10/04 by Jack.Porter Bring Protostar 4.13 fixes back to Dev-Mobile Engine - MaxDescriptorSets = 16384 to prevent crash on Mali - Include texture formats in FRenderTargetLayoutHashableStruct to solve RT aliasing issue - Use ERenderTargetLoadAction::EClear for planar reflection target to work around Adreno issue - Default Adreno to SPIR-V Contents - Disable fog, reduce CSM shadow quality, fix device profiles - Add PSO cache Change 3150113 on 2016/10/04 by Jack.Porter Ensure automation testing screenshots have Alpha=255 (fixes automation screenshots on Mobile) Change 3150231 on 2016/10/04 by Jack.Porter Use a new SessionID GUID each time you use the launcher to launch a session. Change 3150608 on 2016/10/04 by Jack.Porter Changes for automated testing screenshots on Android. - Prevent automation screenshots from changing resolution on platforms with fixed resolution - Set GRHIAdapterInternalDriverVersion for OpenGL and Vulkan - Parse ImgTec/ARM/Qualcomm GRHIVendorId on OpenGL - Added helper to convert GRHIVendorId to string Change 3151318 on 2016/10/04 by Jack.Porter Fixed compile error with AdapterVendor Change 3151366 on 2016/10/04 by Jack.Porter Prevent FTcpMessageTransportConnection deadlock on device disconnect Change 3151397 on 2016/10/05 by Dmitriy.Dyomin More consistent BP categories for Mobile Patching utils Change 3151576 on 2016/10/05 by Dmitriy.Dyomin Added on screen warning for invalid reflection captures, can be seen only in game running with FeatureLevel < SM4 and no valid capture data Change 3151795 on 2016/10/05 by Dmitry.Rekman Linux: update UBT to use a v8 multiarch toolchain. - Also added toolchain build scripts and ct-ng configs. Change 3151966 on 2016/10/05 by Allan.Bentham Add mobile support for inverse opacity to mobile scene captures as well as SCS_SceneColorSceneDepth and SCS_SceneDepth. #jira UEMOB-106 Change 3152664 on 2016/10/05 by Chris.Babcock Merging //UE4/Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3152675 on 2016/10/05 by Will.Fissler Fixed patching so that it searches for pak files as well as pkg files. #test Patch for QAGame Change 3152728 on 2016/10/05 by Chris.Babcock Update ReflectionCaptureDDCVer (need to resave maps) Change 3152910 on 2016/10/05 by Dmitry.Rekman Linux: Fix toolchain for non-AutoSDKs (github) case (UE-36899). Change 3152966 on 2016/10/05 by Dmitry.Rekman Linux: Fix test for the installed SDK (UE-36899). Change 3153004 on 2016/10/05 by Dmitry.Rekman Linux: fix CIS (UT server case-sens errors). Change 3153694 on 2016/10/06 by Jack.Porter Rollback ReflectionCaptureDDCVer change as bug intended to fix UE-36919 does not repro Change 3154766 on 2016/10/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3154833 on 2016/10/07 by Jack.Porter Fix merge error of MobileShadingRenderer.cpp Change 3154848 on 2016/10/07 by Allan.Bentham Fix mobile scene capture's clear code Change 3154875 on 2016/10/07 by Allan.Bentham fix vk build issues Change 3154941 on 2016/10/07 by Allan.Bentham Fix gearvr build fail Change 3154950 on 2016/10/07 by Allan.Bentham Fix shadowed local variable vk build warning on android. Change 3155909 on 2016/10/07 by Ben.Marsh UBT: Attempt to work around C1076 error ("internal heap limit reached: use /Zm to specify a higher limit"), encountered when building with XGE. Specify the AutoReserveMemory attribute on XGE tool tasks that manipulate precompiled headers. [CL 3155988 by Chris Babcock in Main branch]
2016-10-07 23:11:00 -04:00
#ifndef MOBILE_FORCE_DEPTH_TEXTURE_READS
#define MOBILE_FORCE_DEPTH_TEXTURE_READS 0
#endif
// If we didn't request color component swizzling, just make it empty
#ifndef FCOLOR_COMPONENT_SWIZZLE
#define FCOLOR_COMPONENT_SWIZZLE
#endif
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
#ifndef STENCIL_COMPONENT_SWIZZLE
#define STENCIL_COMPONENT_SWIZZLE .g
#endif
// Whether the platform supports independent texture and samplers
// When enabled, different texture lookups can share samplers to allow more artist samplers in the base pass
// Ideally this would just be enabled for all SM4 and above feature level platforms
// @todo metal mrt: No reason this can't work with Metal, once cross compiler is fixed
#define SUPPORTS_INDEPENDENT_SAMPLERS (PS4_PROFILE || SM5_PROFILE || SM4_PROFILE || METAL_MRT_PROFILE || METAL_SM4_PROFILE || METAL_SM5_PROFILE)
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
// Whether the platform supports a global clip plane through SV_ClipDistance
// Ideally this would just be enabled for all SM4 and above feature level platforms, but not tested everywhere yet
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3169859) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3154832 on 2016/10/07 by Rolando.Caloca DR - vk - Fix crash on framebuffers with missing textures Change 3154838 on 2016/10/07 by Rolando.Caloca DR - vk - Enable clip distance Change 3154840 on 2016/10/07 by Rolando.Caloca DR - Remove branch per codereview Change 3155118 on 2016/10/07 by Rolando.Caloca DR - vk - Compute pipeline fixes Change 3155129 on 2016/10/07 by Rolando.Caloca DR - Added draw events for reflection captures Change 3155167 on 2016/10/07 by Rolando.Caloca DR - Use shader clear for platforms that can't use viewport or scissor Change 3155168 on 2016/10/07 by Rolando.Caloca DR - vk - Added submit gpu - Some fixes for Geometry and Compute Change 3155595 on 2016/10/07 by Rolando.Caloca DR - vk - Use new render pass system Change 3155720 on 2016/10/07 by Rolando.Caloca DR - vk - static analysis fix Change 3155732 on 2016/10/07 by Rolando.Caloca DR - Fix clears for platforms that can't use viewports, excluderects or scissor on clear Change 3156787 on 2016/10/10 by Rolando.Caloca DR - Fix mem leaks Change 3156805 on 2016/10/10 by Rolando.Caloca DR - Improve check msg per licensee Change 3156815 on 2016/10/10 by Rolando.Caloca DR - Fix infinite recursion Change 3157041 on 2016/10/10 by Rolando.Caloca DR - vk - Fix key access from multiple threads Change 3158253 on 2016/10/11 by Rolando.Caloca DR - Fix comment #jira UE-37128 PR #2852 Change 3158606 on 2016/10/11 by Rolando.Caloca DR - vk - Accessors Change 3160418 on 2016/10/12 by Daniel.Wright Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser Change 3160644 on 2016/10/12 by Arne.Schober DR - [UE-32613] - OpenGL used to have custom code in the compiler to modify the source so that the same data and matricies can be used as DirectX, unfortunately that causes precission problem. Fortunately there is an extension available (glClipControl) which enables DirectX behaviour in OpenGL and it is widely supported. We only tested Linux and Windows and therfore only default enable on those platforms. Change 3161219 on 2016/10/13 by Luke.Thatcher [RENDERING] [!] Fix incorrect shader used in GPU Benchmark causing crash in OpenGL. Change 3161838 on 2016/10/13 by Daniel.Wright Fixed level getting added to the dirty list twice when legacy lightmaps are present Change 3161884 on 2016/10/13 by Arne.Schober DR - Fix Mac and DCC build Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3162491 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3162397: More fixed type-casting on material attributes. Swapped compiler::forcecast booleans to flags (and fixed a regression). Change 3163266 on 2016/10/14 by Daniel.Wright Fixed sublevels with legacy lighting data being added to the dirty packages list redundantly Change 3163524 on 2016/10/14 by Mark.Satterthwaite Bring over specific changes from Unicorn branch that increases the size of shader optional data so that it is considerably more useful. Change 3163529 on 2016/10/14 by Mark.Satterthwaite Move the Metal shader source code and compilation path into the newly enlarged shader optional data. Change 3163553 on 2016/10/14 by Mark.Satterthwaite Speculative fix for FORT-31590 also seen by a licensee - the Metal command buffer handler will be called from a dispatch queue thread that won't be registered with the stats system. #jira FORT-31590 Change 3163562 on 2016/10/14 by Mark.Satterthwaite Tidy up and extend the Metal debugging options: - Added rhi.Metal.BufferScribble which when enabled will fill freed buffer regions with 0xCD to help identify any areas where we are writing to a buffer while it is still being processed on the GPU. - Added rhi.Metal.BufferZeroFill which will zero-fill newly allocated buffer regions before any other data is read/written. Useful for catching cases where we might be reading uninitialised memory. - Added rhi.Metal.ResourcePurgeOnDelete which will purge the backing store of resources prior to releasing them back to the system or the respective pool. This will make any use-after-free conditions much more likely. - Added rhi.Metal.ResourceDeferDeleteNumFrames to defer releasing resources to the system or the resource pool by the specified number of frames (in addition to the current policy of waiting for the current end of frame & command-buffer completion). Useful for tracking down resource lifetime errors. - Fixed a number of bugs related to the modifications to vertex stream handling and addition of the SetShaderBytes API. - Track the start & end of FRingBuffer ranges - it appeared that the ring-buffer usage was invalid but it was in fact only my assumptions about the range that needed to be scribbled for rhi.Metal.BufferScribble. There is still the possibility that command-buffers that are implicitly parallelised by the driver may cause the ring-buffer range tracking to go awry - but with our data dependencies and the separation of the async. compute context I don't believe this is likely. - Fix up the "nometalv2" flag so that we can disable the features only available on iOS/tvOS-10/macOS-10.12 on newer devices to save having to reboot all the time. - Fixed the flickering geometry when enabling rhi.Metal.RuntimeDebugLevel=4 which breaks render passes into separate command-buffers - the occlusion query was waiting on the wrong command buffer in this case. Change 3163752 on 2016/10/14 by Mark.Satterthwaite Add missing parenthesis to fix compile error on iOS. Change 3164151 on 2016/10/16 by Benjamin.Hyder Submitting TM-AutoLOD level to QAGame #jira UE-29618 Change 3164190 on 2016/10/16 by Uriel.Doyon Materials now hold texture streaming data in the form of (UV scale X UV channel) for each texture. This data can be disabled through "r.Streaming.UseMaterialData" Defined a common framework in MeshComponent for texture streaming, used by both StaticMeshes and SkeletalMeshes. Simplified component interface for using the texture streaming build framework. Removed intermediate texture streaming build data from the static mesh components. Fixed shader compilation errors with the decals (from merge with main). Change 3164636 on 2016/10/17 by Rolando.Caloca DR - vk - Fix validation spam Change 3164679 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part1, Scene View Refactoring - Removed Previous VewMatrices from SceneInfo and pass in Previous and Current ViewMatrices into Uniform Buffer creation to uniform UseCase for Shadows and CustomDepth, Fixed a Bug in Shadows with help of Daniel where the SceneView was copied unnecessary copied again. Also simplified the code in that area. Change 3164705 on 2016/10/17 by Daniel.Wright When new levels are loaded, only the Indirect Lighting Cache Allocations intersecting the level's light probes are updated to minimize hitches. This optimization requires a lighting build to compute PrecomputedLightVolume bounds. Change 3164834 on 2016/10/17 by Daniel.Wright Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear) Change 3164870 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part2, Custom Depth Jitter - Allowed to overwite the viewconstant buffer in the custom depth pass. There ia also a new Project Setting available. The default constructor of the ContextDataType has been explicitly deleted to enforce compile errors when the templated code like the StaticMeshDrawList accidently tries to create a context without ViewUniformBuffer. Change 3164949 on 2016/10/17 by Rolando.Caloca DR - vk - First version of pooled occlusion queries Change 3165100 on 2016/10/17 by Rolando.Caloca DR - vk - Added driver version for Nvidia. AMD doesn't have one yet. Change 3165160 on 2016/10/17 by Rolando.Caloca DR - vk - Fix for queries not ready Change 3165230 on 2016/10/17 by Rolando.Caloca DR - vk - More fixes for occlusion queries Change 3165839 on 2016/10/18 by Rolando.Caloca DR - hlslcc - Fix default parameters getting wrong values Change 3166029 on 2016/10/18 by Rolando.Caloca DR - Switch some clears to DrawClearQuad() Change 3166066 on 2016/10/18 by Mark.Satterthwaite Update ShaderVersion due to CL #3163524 Change 3166067 on 2016/10/18 by Mark.Satterthwaite Update Mac hlslcc for RCO's 3165839. Change 3166370 on 2016/10/18 by Brian.Karis Improved hair AA Change 3166389 on 2016/10/18 by Uriel.Doyon Fixed lightmap having bigger resolutions than the engine can handle #jira UE-34737 #review-3166193 @daniel.wright Change 3166495 on 2016/10/18 by Rolando.Caloca DR - vk - Fix occlusion queries Change 3166516 on 2016/10/18 by Arne.Schober DR - Fix shaderbuild issue Change 3166650 on 2016/10/18 by Rolando.Caloca DR - vk - Enable GRHISupportsFirstInstance Change 3166799 on 2016/10/18 by Arne.Schober DR - [OR-28508] - The velocity Rendering pass was missing the adjustment for the PDO Change 3167855 on 2016/10/19 by Rolando.Caloca DR - vk - Implemented texture streaming Change 3168365 on 2016/10/19 by Rolando.Caloca DR - Fix static analysis Change 3168405 on 2016/10/19 by Mark.Satterthwaite Fix the optional shader data changes from Unicorn to prevent FindOptionalData from erronesouly testing against the trailing optional data size, which can match the tag for optional data entries if you are unlucky. #jira UE-37489 Change 3169467 on 2016/10/20 by Arne.Schober DR - UE-28039 - Fixed flickering cached shadows on dynamic objects: Adding preshadows whose depths are cached so that GatherDynamicMeshElements will still happen, which is necessary for preshadow receiver stenciling. Change 3169478 on 2016/10/20 by Arne.Schober DR - UE-28039 - missing comment Change 3169845 on 2016/10/20 by Arne.Schober DR - UE-35937 - readd Merged out check Change 3169859 on 2016/10/20 by Rolando.Caloca DR - vk - Stop popping up dialog on every run as the device name in the API doesn't match our driver database [CL 3170066 by Marcus Wassmer in Main branch]
2016-10-20 20:09:22 -04:00
#define PLATFORM_SUPPORTS_GLOBAL_CLIP_PLANE (PS4_PROFILE || SM5_PROFILE || SM4_PROFILE || METAL_PROFILE || METAL_MRT_PROFILE || METAL_SM4_PROFILE || METAL_SM5_PROFILE || GL4_PROFILE || GL3_PROFILE || VULKAN_PROFILE_SM4 || VULKAN_PROFILE_SM5)
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
// Using SV_ClipDistance has overhead (15% slower base pass in triangle bound test scene on PS4) so projects have to opt-in
#define USE_GLOBAL_CLIP_PLANE (PLATFORM_SUPPORTS_GLOBAL_CLIP_PLANE && PROJECT_ALLOW_GLOBAL_CLIP_PLANE)
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
Copying //UE4/Odin-Staging to //UE4/Dev-Main (Source: //Odin/Main @ 3226588) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3226413 on 2016/12/07 by Jeff.Farris Fixed potential crash in USkeletalMeshComponent::InitArticulated(). Change 3226257 on 2016/12/07 by Mike.Beach Mirroring CL 3219381 from Dev-Blueprints Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3226147 on 2016/12/07 by Aaron.McLeran Implementing UE-39421 fix into odin Change 3225906 on 2016/12/07 by Jeff.Farris Merge-copied 3216144 from Dev-Framework to Odin (Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.) Change 3225097 on 2016/12/07 by Zak.Middleton #odin-ue4 - Fix GameEngine.cpp compile error (FMessageDialog not declared). Change 3225050 on 2016/12/07 by Jeff.Farris Added forward declaration to IOculusRiftPlugin.h to fix compile error in Test builds. Change 3224757 on 2016/12/07 by Ben.Marsh Merge CL 3224750 from //UE4/Main: Removing -forcelogflush parameter from UAT invocations of the editor to improve cook times. Change 3224451 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. Copy from Dev-Sequencer #jira UE-39419 Change 3223856 on 2016/12/06 by Guillaume.Abadie Fixes merge collision of Base Pass's selective outputs and MSAA alpha to coverage Change 3223673 on 2016/12/06 by Zak.Middleton #odin-ue4 - Fixed crash when opening data table assets and working with some types of nodes in the graph editor. Merged fixes from Dev-Editor: CL 3156326, 3172078, 3187276, 3210983. Change 3223381 on 2016/12/06 by Nick.Whiting Merging using UE4_MAIN_to_ODIN @ CL 3221533 Change 3223325 on 2016/12/06 by Alex.Delesky Plugin wizard definition for creating Odin game mods. Currently this just creates an empty Content Only plugin. This also enables the mod creation window to be shown on editor startup (can be toggled off) or invoked via a toolbar button. Change 3221825 on 2016/12/05 by Nick.Whiting Updating VCToolChain.cs file, which was skipped in last integration Change 3221793 on 2016/12/05 by Zak.Middleton #odin - Back out changelist 3218159. Going to move to trace by profile in the future instead. Change 3219668 on 2016/12/02 by Alex.Delesky Partially duplicating CL 3185126 into Odin: -Fixes an issue where adding a new plugin could unnecesarily added to the additional plugin directory, which can cause build failures. Change 3219558 on 2016/12/02 by Zak.Middleton #odin - Fix adapative pixel density crash (again). INI settings are dumb and locally saved INIs ignore the change to the base I pushed yesterday, so pushing a code fix instead. Wrapped in "DO NOT MERGE" since this crash is fixed in Dev-VR. Change 3218953 on 2016/12/02 by Alex.Delesky Back out changelist 3216159 - Reintroducing Plugin Wizard Definition for defining New Plugin Wizard functionality Change 3218822 on 2016/12/02 by Matthew.Griffin Remove modding from folder paths Add logging for delete task Delete more temp files from Copy and DDC process Change 3218410 on 2016/12/01 by Zak.Middleton #ue4-odin - Fix crash when unloading levels or exiting the editor when objects placed in levels had a MID set in construction scripts. CLs from Dev-Editor: 3203739, 3205814 Change 3218277 on 2016/12/01 by Zak.Middleton #ue4-odin - Fixed crash when opening data table assets. Merged small fixes from Dev-Editor: CL 3156326, 3172078, 3187276. #jira ODIN-2096 Change 3218178 on 2016/12/01 by Jeff.Farris Fix for bad merge in InheritableComponentHandler (discovered via shadow var warning) Change 3218159 on 2016/12/01 by Zak.Middleton #ue4-odin - Wrap blueprint trace functions using trace channels to a generic helper that uses any collision channel. Before we decide whether to expose object channel or general collision channel functions to blueprints, this allows games to at least build off the general functions. Change 3216502 on 2016/11/30 by Nick.Whiting Missed files from merge Change 3216490 on 2016/11/30 by Nick.Whiting Merge Main -> Odin, up to CL 3202946 Change 3216159 on 2016/11/30 by Zak.Middleton #odin - Back out changelist 3216005 Change 3216005 on 2016/11/30 by Alex.Delesky Adding the IPluginWizardDefinition interface, which is used to determine the functionality of the new plugin wizard along with what kind of plugins can actually be created. This can be used to change the behavior of the plugin wizard to create new game mods. Change 3215329 on 2016/11/30 by Jeff.Farris Re-expose collision settings on EQSTestingPawn so users can make the test pawn agent dimensions match the pawn they are trying to simulate. Change 3213875 on 2016/11/29 by Jeff.Farris Turned off collision on EQSRenderingComponent for EQSTestingPawns. Fixes issue with bogus agent dimensions. Change 3213027 on 2016/11/29 by Matthew.Griffin Added Modding Build steps to copy everything needed for an installed editor build Added BuildCommand to run GenerateDistillFileSetsCommandlet and copy the resulting file list to another location Fix for APEX .pdb paths Change 3206638 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class Change 3206175 on 2016/11/21 by Nick.Atamas #umg exposed support for explicit wrap width in WrapBox. Change 3204658 on 2016/11/18 by Alan.Villani #odin Wiring up new intro cinematic to game flow. Change 3201200 on 2016/11/16 by Alan.Villani #odin Spectator/Leaderboards: Added console var vr.bAllowSpectatorTexture to enable/disable the display of the spectator texture. Also enabling spectator panel and leaderboards with this change. Change 3201064 on 2016/11/16 by Wyeth.Johnson Support new billboards Change 3199357 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Removing logging now that problem has been fixed. Change 3199302 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Skip reinit if not a successful init in ovr_ResetInitAndContext(). Also added logging to shutdown. Change 3198947 on 2016/11/15 by Alan.Villani #odin Spectator/Leaderboards: Reinstating CL 3197812 with fix to make InitWithWindowsPlatform() return warnings instead of errors. Change 3198803 on 2016/11/15 by Jeff.Farris Copied CL 3198691 frojm Dev-Sequencer (Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks.) Change 3198525 on 2016/11/15 by Alan.Villani #odin ODIN-1758. Spectator/Leaderboards: Back out changelist 3197812. This change was causing the automated packaged build to fail. Since the root cause hasn't been found, reverting the change. Change 3197909 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Fix for linking issue with Odin Monolithics build. Change 3197812 on 2016/11/14 by Alan.Villani #odin Spectator and leaderboard code support: Support for enhanced oculus leaderboard functionality. Player's score is uploaded on FinishLevel(). Added delegate function to allow Rift render code to render an additional passed in texture - this is used to display spectator information in the mirrored window. GetMissionRowName() can now return the row name for the intro mission. This is only code support. Blueprint support to follow. Change 3196940 on 2016/11/14 by Nick.Whiting Fix for include path Change 3196897 on 2016/11/14 by Nick.Whiting Integrating IKinema plugin. Note that there are some deprecation warnings that have not been fixed up because of the refactoring. We're going to avoid fixing that up for now, because it's a large refactor, and the plugin is only needed for this week. Change 3194897 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) -- Downgrade warning log spam when sweeping skeletal mesh components. Change 3194799 on 2016/11/11 by Nick.Atamas Added better normals for curved WidgetComponent. Change 3194697 on 2016/11/11 by Chris.Bunner Duplicated CL 3194665 from Dev-Rendering: Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194383 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - Avoid calling ComponentOverlapComponent() when handling overlap checks if either component is a SkeletalMeshComponent. That function returns false for those, however a normal global overlap check would return a valid result. Also elevated warnings (from log) when trying to use above function with SkeletalMeshComponents. Change 3194380 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - UPrimitiveComponent::GetCollisionEnabled() checks the owner Actor enable collision setting. Handles cases where the BodyInstance doesn't have physics state. Also merge CL 3136709 to fix overlap events spam. Change 3192616 on 2016/11/09 by Zak.Middleton #odin - Jump arcs only draw in editor if Navigation is shown, or when selected in editor. Change 3192310 on 2016/11/09 by Daniel.Wright [Copy] Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3191042 on 2016/11/08 by Nick.Atamas #slate/umg Added SetIsExapanded_Animated() method to SExpandableArea. Added anim length to ExpandableArea's widget style. Change 3190411 on 2016/11/08 by Guillaume.Abadie Adds some randomness in particul collisions. Change 3186455 on 2016/11/03 by Stanley.Hayes Fixed Tangents the mesh generation of Widget Component, now works with Bump Offset! -- The Impl for non-planar widgets is wrong but works as a temp fix Change 3186335 on 2016/11/03 by Alan.Villani #odin Oculus Input: Fix for haptic feedback not processing unless both touch controllers are active. Change 3184215 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3182542 on 2016/11/01 by Nick.Atamas Applied feedback after code review: - Fixed bug with incorrectly assigned LocalHitLocation - PerformTrace is now const - Clarified comments. Potentially fixed jira ODIN-1590, pending verification. Change 3181845 on 2016/11/01 by Nick.Atamas Details panel filters now show a distinct visual state (yellow highlight) when a filter is active. https://jira.it.epicgames.net/browse/UE-11088 Change 3179037 on 2016/10/28 by Zak.Middleton #ue4 - (Odin) - Avoid crash in PropertyChangeListener when WeakObjectPtr goes null. Prevent passing null objects in array to delegates that don't null check the elements. Repro steps still unclear, adding ensure() to catch it for more info. Change 3177127 on 2016/10/27 by Alan.Villani #odin Menu Shell: Put in cvar to allow disabling of haptics. Change 3174582 on 2016/10/26 by Zak.Middleton #ue4 - Changed Actor::GetForwardVector, GetUpVector, and GetRightVector to just wrap to the FQuat functions. These use inline constants rather than a memory fetch to the static FVector::ForwardVector etc, so the multiplies are better optimized in-place by the compiler (ie with constant folding). Change 3174401 on 2016/10/25 by Maciej.Mroz In nativized code Nullptr is always casted to UObject type. #jira ODIN-1560 Change 3173310 on 2016/10/25 by Guillaume.Abadie Fix a bug in the forward shading particule collision hack using ddx/ddy to compute the normal and implement an accurate way of compute the normal requiering two addtional scene depth buffer fetches for neighboorhing pixels and use it as default. Change 3172997 on 2016/10/24 by Nick.Atamas Cylindrical Widget - First Pass Support. Change 3172707 on 2016/10/24 by Nick.Whiting Integrating fix for haptic effects with sound waves crashing when no sound wave is loaded. Change 3172167 on 2016/10/24 by Jeff.Farris Merged 3120587 from Dev-Sequencer to Odin (Fbx Export: Fix double transforms on an exported mesh.) Change 3170221 on 2016/10/21 by Zak.Middleton #ue4 - Fix projectiles and characters not moving at all when frame delta time is very low (time dilation is very low, framerate is very high, or a combination of both). Change 3170036 on 2016/10/20 by Zak.Middleton #ue4 - Make Ragdoll collision profile ignore Visibility channel (to match CharacterMesh collision profile). Change 3169728 on 2016/10/20 by Zak.Middleton #ue4 - Fix comment. Change 3169727 on 2016/10/20 by Zak.Middleton #ue4 - Fix spacing/indentation. Change 3169277 on 2016/10/20 by Zak.Middleton #ue4 - Lower default simulations per second in PredictProjectilePath. Now that it is more accurate (after CL 3124174), this will still maintain quality with better performance. Change 3169272 on 2016/10/20 by Zak.Middleton #ue4 - Change some array Reset() calls back to Empty(), since blueprints typically keep these arrays around forever and we don't want them to stay large. Change 3168157 on 2016/10/19 by Jeff.Farris Merging 3168079 from Dev-Framework to Odin (Fix timing issue that causes snapshotpose to t-pose.) Change 3167894 on 2016/10/19 by Chris.Bunner Updated tooltip comment. Change 3167569 on 2016/10/19 by Jeff.Farris #engine Fixed issue with cine camera component where blueprint-accessible FOV data could be incorrect in some circumstances Change 3166950 on 2016/10/18 by Zak.Middleton #ue4 - Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656. Change 3166807 on 2016/10/18 by Zak.Middleton #ue4 - Make all GameplayStatics functions take const WorldContextObjects, so they are more usable from C++. Change 3166540 on 2016/10/18 by Jeff.Farris Merging 3164818 from Dev-Framework to Odin (Added a pose snapshot feature that allows users to convert an existing skeletal mesh pose into a node inside the anim blueprint. This is useful for things like getup from ragdoll.) Change 3166323 on 2016/10/18 by Jeff.Farris #engine Fixed issue where Navlink smartlinks wouldn't respect the Direction property proprely. Change 3163415 on 2016/10/14 by Chris.Bunner Allow surface actor particles to inherit UV coordinates through the dynamic parameter struct. Change 3162716 on 2016/10/13 by Jeff.Farris #engine Made UPathFollowingComponent::HasReachedCurrentTarget() virtual Change 3161602 on 2016/10/13 by Jeff.Farris #engine removed a comment I left in Change 3161037 on 2016/10/12 by Alan.Villani #odin Loading Screens: Modified AsyncLoadingSplash to use platform specific max layer number. Change 3160690 on 2016/10/12 by Jeff.Farris #engine Added PathFollowingComponent::bIsDecelerating to know when AI is in its "decelerate at the end of the path" state Change 3160686 on 2016/10/12 by Jeff.Farris #engine Fixed comment on NavMovementComponent::bUseAccelerationForPaths Change 3160200 on 2016/10/12 by Zak.Middleton #odin - Added Odin versions of Sphere, Capsule, Box trace functions taking any trace channel. Change 3156847 on 2016/10/10 by Maciej.Mroz #jira ODIN-1345 In nativized code, value of output array parameter is reset before the funtion, that will fill the parameter, is called. The same mechanism is already used by bytecode comiler. Change 3155495 on 2016/10/07 by Zak.Middleton #ue4 - RootComponent fixup in AActor::PostLoadSubojects should handle constructors that also try to fix up the old root component on their own. Additionally we should attach the old root component to the new one, otherwise it has no parent. Change 3154962 on 2016/10/07 by Chris.Bunner Duplicating CL 3148934, 3148994 from Dev-Rendering - Added pre-skinned local position material graph node, vertex shader only. Change 3154255 on 2016/10/06 by Zak.Middleton #ue4 - Add AIController to the delegate for move completion for blueprint "AI Move To Location or Actor" nodes, so you can know which AI finishes the move. Change 3154217 on 2016/10/06 by Mike.Beach Backing out changelist 3146883, as it was causing properties to clear on load (in Gun_Shotgun/BP_RightHand). Change 3154199 on 2016/10/06 by Zak.Middleton #ue4 - Inline a few simple functions in UKismetSystemLibrary for performance in nativized builds. Change 3153427 on 2016/10/06 by Jeff.Farris Updated Oculus AppID to the full game ID Change 3148205 on 2016/10/02 by Zak.Middleton #ue4 - Perf: Add simple path for UPrimitiveComponent::UpdatePhysicsVolume() when there are no physics volumes placed in a level. Avoid checking overlapping components for any volumes at all. Change 3148089 on 2016/10/01 by Phillip.Kavan Merging in CLs 3148022 and 3148033 from //UE4/Dev-Blueprints/... Note: These were dependent on the following additional CLs, which have also been merged in: => 3081010,3116021,3123581,3131318,3132348,3133072,3133817,3137800,3137851 Change 3148054 on 2016/10/01 by Nick.Whiting Adding much smaller footprint entitlement check Change 3147910 on 2016/10/01 by Nick.Whiting Back out changelist 3147807 Change 3147909 on 2016/10/01 by Nick.Whiting Back out changelist 3147787 Change 3147810 on 2016/09/30 by Zak.Middleton #odin - Fix "Delay" nodes in macros not working correctly. This made simultaneous instances of our "UndilatedDelay" and "0-1 Lerp" macros incorrect. (Mirror CL 3119502 from Dev-Blueprints) Change 3147807 on 2016/09/30 by Nick.Whiting Blueprint cyclic dependency fixes, submitted on behalf of DanO. Change 3147787 on 2016/09/30 by Nick.Whiting Adding Oculus Entitlement check for Odin Change 3147732 on 2016/09/30 by Daniel.Wright From Guillaume: Skip ClearStencilFromBasePass by using a single bit of stencil as a sandbox bit. This requires all passes that use stencil to setup a proper read / write mask, as other stencil bits will be non-zero. Saves .14ms Change 3147285 on 2016/09/30 by Dan.Oconnor Back out changelist 3147258 Introduced "Detaching from existing linker" crash Change 3147258 on 2016/09/30 by Dan.Oconnor Making sure we defer objects that have unserialized archetypes Change 3146985 on 2016/09/30 by Daniel.Wright Skip Prepass ResolveSceneDepthTexture if there's no way decals or shadows will use it, since there's another resolve after the base pass. Saves .1ms in the planar reflection pass. Change 3146883 on 2016/09/30 by Dan.Oconnor Fix for component data getting lost on load. Two primary causes: 1. Loading component, then loading its template and reinitializing it from parent 2. Discarding inheritable component handler on load because it 'matched' the unloaded super (or it was unloaded and matched a loaded super, or both of them weren't yet loaded and they matched) Change 3145504 on 2016/09/29 by Daniel.Wright Capsule indirect shadows are now affected by DynamicShadows showflag Change 3145416 on 2016/09/29 by Wyeth.Johnson optimized vector to radial value to use atan2fast. Small polish to weapon available indicators, slightly smaller, radial res in, get brighter right before pickup to match the glow transition Change 3144359 on 2016/09/28 by Zak.Middleton #ue4 - Add IsPointInBox() and IsPointInBoxWithTransform() to KismetMathLibrary. Change 3144302 on 2016/09/28 by Daniel.Wright New SceneCapture functions for managing the ShowOnly list: RemoveShowOnlyComponent, RemoveShowOnlyActorComponents, ClearShowOnlyComponents Change 3144210 on 2016/09/28 by Daniel.Wright Manual copy - Shadow stencil optimisation from Ben Woodhouse with cvar (enabled by default). Saves .2ms in Odin. Change 3144208 on 2016/09/28 by Daniel.Wright Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970 Change 3143778 on 2016/09/28 by Ryan.Vance Disabling motion blur scale behavior. We want the motion blur scale to be consistent regardless of time dilation. Cleaning up the velocity bias change made yesterday for odin, need to ensure it doesn't make it back to main as it will break TAA. Change 3143728 on 2016/09/28 by Jeff.Farris Made AIController::MoveTo virtual Change 3142740 on 2016/09/27 by Nick.Whiting Fix for dynamic object velocity rendering not working. MSAA was breaking it, needed to add a bias in the VelocityShader in order to pass depth tests Change 3142665 on 2016/09/27 by Ryan.Vance Fixing incorrect uniform/buffer references for passes that aren't drawn with ISR when ISR is turned when using forward. Change 3142488 on 2016/09/27 by Zak.Middleton #ue4 - Expose Character::MovementModeChangedDelegate to blueprints. Fix category on OnReachedJumpApex event. Change 3142360 on 2016/09/27 by Frank.Fella Sequencer - Don't crash when a bool track or visibility track has a null runtime object. Change 3142204 on 2016/09/27 by Zak.Middleton #odin - Nav jump links update their nav data in realtime as the start and end points are moved. Still need to color the predicted path based on the nav data. Change 3141695 on 2016/09/27 by Guillaume.Abadie Fixes depth buffer collision on GPU particle in the forward render by computing the world normal using a cross(ddx(), ddy()) of the world position. #review-3141656 @ben.woodhouse Change 3141013 on 2016/09/27 by Zak.Middleton #ue4 - NavLinkProxy properly calls SetNavigationRelevancy() when created in the editor. Fixes the need to uncheck/recheck bSmartLinkIsRelevant. Change 3140878 on 2016/09/26 by Zak.Middleton #ue4 - Add MarkRenderStateDirty() to UNavLinkCustomComponent::SetLinkData(), so visualizers update asap after link data changes. Change 3140863 on 2016/09/26 by Nick.Whiting Adding in vr.MonoCapture, which disables the right eye for capturing in order to give a performance boost Change 3140790 on 2016/09/26 by Zak.Middleton #ue4 - Make LineBatchComponent's FLineBatcherSceneProxy::GetViewRelevance() respect show flags (such as hidden in game). Change 3140175 on 2016/09/26 by Dan.Oconnor Mirror of 3140143 #jira UE-36395 Change 3139622 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Change 3139257 on 2016/09/24 by Jeff.Farris Added GetGrabbedComponent() to UPhysicsHandleComponent. Change 3139050 on 2016/09/23 by Nick.Whiting Support for trailer capturing, as well as gamepad controls for adjustment Change 3138644 on 2016/09/23 by Zak.Middleton #ue4 - Added FPredictProjectilePathPointData::Reset(). Presize path points array in UGameplayStatics::PredictProjectilePath(). Change 3138521 on 2016/09/23 by Ryan.Vance #jira UE-36114 We need to bind the right eye's forward lighting state when ISR is enabled and branch depending on which eye instance we're drawing. Added a copy of FForwardGlobalLightData, NumCulledLightsGrid CulledLightDataGrid, and ForwardLocalLightBuffer for the right eye and set them when drawing with ISR Moved ForwardLightingResources from FViewInfo up to FSceneView for access Removed USE_CULLED_LOCAL_LIGHTS as it wasn't being used and complicated the shader refactor TODO: This can be greatly simplified by generating the FForwardGlobalLightData uniform assignment shader code similar to how I'm handling the view uniforms. To clean up the branching for the grid buffers we should write both eyes into a single buffer and just use an offset. Change 3138178 on 2016/09/23 by Zak.Middleton #ue4 - Add FVector::DistXY() and Dist2D() (as an alias). Add FVector::Distance() as an alias for Dist(), and FVector::DistSquared2D() as an alias for DistSquaredXY(). Fixed comment in FVector2D::Distance() saying it was the squared distance. - This is more in line with the Size2D(), SizeSquared2D(), GetSafeNormal2D() naming, but maintains backwards compat for a large amount of code. Change 3138162 on 2016/09/23 by Lukasz.Furman fixed navmesh crash on attempt to regenerate an empty tile layer Change 3137578 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Ensured, that CreateExport (and fully construction) is called for loaded DynamicClass. Change 3136774 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. #jira ODIN-1013 Change 3136491 on 2016/09/22 by Jeff.Farris Removed an unnnecessary ensure in ApplyPhysicalAnimationProfileBelow. Change 3136412 on 2016/09/22 by Zak.Middleton #ue4 - Inlined more functions in KismetMathLibrary that used error reporting (eg divide by zero errors). Moved the actual error reporting to the cpp so the inline overhead and compilation overhead is negligible. Change 3136288 on 2016/09/22 by Zak.Middleton #ue4 - Inline KismetMathLibrary functions where appropriate. Improves performance in nativized builds where the calls were not inlined even for the most simple functions (like "Not Bool", "Add Ints"). Change 3136162 on 2016/09/22 by Ben.Marsh Merge CL 3136158 to fix issues generating project files with Visual Studio Express. Change 3135403 on 2016/09/22 by Jeff.Farris GameplayStatics::ApplyPointDamage and ApplyDamage now return the actual damage that was applied Change 3135052 on 2016/09/21 by Zak.Middleton #ue4 - Add new GameplayStatics::PredictProjectilePath functions with added functionality. - Option to trace for collision by trace channel, object type, or both. - Added versions that take input and output struct parameters. - Output now includes location, velocity, and time for each point on the path. Change 3134757 on 2016/09/21 by Guillaume.Abadie Removes all resolve operations from distortion pass and support MSAA for the forward shader. #review-3134758 @daniel.wright Change 3134635 on 2016/09/21 by Jeff.Farris Merged from Dev-Physics-Upgrade to Odin. This is the upgrade to PhysX 3.4. Change 3134101 on 2016/09/21 by David.Hill Post process CombineLUT shouldn't be per eye. Also disable weighted-average post process passes for bloom when filter size is set to zero. #review-3134102 @chris.bunner Change 3133191 on 2016/09/20 by Guillaume.Abadie Normalizes material's Opacity Mask according to Opacity Mask Clip Value. Change 3133082 on 2016/09/20 by Brian.Karis Static light source shapes in reflection captures will fade out when outside influence instead of going black. Change 3132936 on 2016/09/20 by Jeff.Farris Fixed some engine issues with setting mass overrides. Change 3132821 on 2016/09/20 by Guillaume.Abadie Adds support for MSAA on masked material using shader implemented alpha to coverage. #review-3130154 @daniel.wright Change 3132522 on 2016/09/20 by Zak.Middleton #ue4 - Cache conversion of WalkableSlopeAngle to the cosine value in FWalkableSlopeOverride struct, when used in the override modes. Avoids computing this conversion (potentially multiple times per frame) for every character movement move and floor test. Change 3130457 on 2016/09/19 by Daniel.Wright Reuse ESceneColorFormatType::HighEndWithAlpha if the format allows it - prevents two scene color textures being allocated with planar reflections with r.SceneColorFormat=4 Change 3129467 on 2016/09/16 by Zak.Middleton #ue4 - Improve Accuracy of final point in UGameplayStatics::PredictProjectilePath() to respect MaxSimTime. Previously the sim could have exceeded the max time if (MaxSimTime / SimFrequency) had a fractional part. Change 3129327 on 2016/09/16 by Daniel.Wright Added r.NormalCurvatureToRoughnessExponent for tweaking NormalCurvatureToRoughness is now applied to clearcoat roughness Change 3129324 on 2016/09/16 by Daniel.Wright Added r.TemporalAACurrentFrameWeight for debugging Change 3128812 on 2016/09/16 by Daniel.Wright Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3. Change 3128811 on 2016/09/16 by Daniel.Wright Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path. Change 3126195 on 2016/09/15 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Manually merged cl#3124667 from Dev-Blueprints Change 3126108 on 2016/09/14 by Nick.Whiting Added GetLaunchOption blueprint node to check if command line arguments are set Added -demo path for Odin, which disables pause, and changes opening flow Change 3125819 on 2016/09/14 by Zak.Middleton #ue4 - Add option for accurate bounds for LineBatchComponent, on by default. Corrects attempts to focus on actors using them causing the view to zoom out to HALF_WORLD_MAX. Turned this off for world debug line visualizers, to avoid affecting perf for those (and they often have lines/points all over anyway). Change 3125686 on 2016/09/14 by Zabir.Hoque Slimed down when and where we resolve RT particularly for forward rendering. Change 3124174 on 2016/09/13 by Zak.Middleton #ue4 - Improved accuracy and performance of PredictProjectilePath(). Switched to semi-implicit Euler integration. Fixed not being able to pass in const WorldContextObjects (only an issue when used from code, BP didn't care). Change 3124121 on 2016/09/13 by Zak.Middleton #odin - Integrate CL 3122728 from Dev-Editor: UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. Change 3124116 on 2016/09/13 by Zak.Middleton #odin - Back out revision 3 from //Odin/Main/Engine/Source/Runtime/UMG/Private/Components/WidgetInteractionComponent.cpp Change 3123485 on 2016/09/13 by Stanley.Hayes Added optional trace channels to WidgetInterationComponent Change 3123301 on 2016/09/13 by Zak.Middleton #ue4 - Added ENGINE_API to some functions in ULineBatchComponent that were not exported: DrawLines, DrawLine, DrawPoint, DrawSolidBox, DrawMesh. Change 3122632 on 2016/09/13 by Maciej.Mroz Improved ReverseForEachLoop macro in StandardMacros Change 3122351 on 2016/09/12 by Nick.Whiting Adding 90fps tracking to the FPS summary chart creation Change 3122325 on 2016/09/12 by Wyeth.Johnson Needed a 5 minute breather. Updated Editor splash screen because reasons Change 3121869 on 2016/09/12 by Zak.Middleton #ue4 - (Merge to Odin) Fix UGameplayStatics::SpawnEmitterAttached() using wrong scale when SnapToTarget (Keep World Scale) option is used. Improve comments for SpawnEmitterAttached(). #jira UE-34482 (Integrate Framework->Odin) Change 3121407 on 2016/09/12 by Wyeth.Johnson Fixed shopfront for Oz, big bot WIP Change 3121253 on 2016/09/12 by Zak.Middleton #ue4 - Fix CharacterMovement braking when using acceleration for paths. - Fixed pathfinding using friction in GetPathFollowingBrakingDistance() and using wrong formula for stopping distance. Pathfinding adjusts analog input to achieve this deceleration, so friction is never applied and should not be included here. - Added virtual "GetMaxBrakingDeceleration()" function to CharacterMovementComponent. Returns deceleration value set for current movement mode (ie BrakingDecelerationWalking, BrakingDecelerationFlying, etc). Change 3121231 on 2016/09/12 by Wyeth.Johnson Fixed procedural Stuff, now to fix aliasing :) [CL 3226598 by Nick Whiting in Main branch]
2016-12-08 03:26:33 -05:00
// Whether the platform support pixel coverage on MSAA targets (SV_Coverage).
#define SUPPORTS_PIXEL_COVERAGE (FEATURE_LEVEL >= FEATURE_LEVEL_SM5 && !COMPILER_GLSL && !MOBILE_EMULATION)
// This would need to be a #define in GLSL to ignore the SamplerState, however, it is currently a function call in HLSL
// for type checking of the parameters - ironically the type checking is really only needed in GLSL!
MaterialFloat4 Texture1DSample(Texture1D Tex, SamplerState Sampler, float UV)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.Sample(Sampler, UV);
#endif
}
MaterialFloat4 Texture2DSample(Texture2D Tex, SamplerState Sampler, float2 UV)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.Sample(Sampler, UV);
#endif
}
MaterialFloat Texture2DSample_A8(Texture2D Tex, SamplerState Sampler, float2 UV)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0) A8_SAMPLE_MASK;
#else
return Tex.Sample(Sampler, UV) A8_SAMPLE_MASK;
#endif
}
MaterialFloat4 Texture3DSample(Texture3D Tex, SamplerState Sampler, float3 UV)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.Sample(Sampler, UV);
#endif
}
MaterialFloat4 TextureCubeSample(TextureCube Tex, SamplerState Sampler, float3 UV)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.Sample(Sampler, UV);
#endif
}
MaterialFloat4 Texture1DSampleLevel(Texture1D Tex, SamplerState Sampler, float UV, MaterialFloat Mip)
{
return Tex.SampleLevel(Sampler, UV, Mip);
}
MaterialFloat4 Texture2DSampleLevel(Texture2D Tex, SamplerState Sampler, float2 UV, MaterialFloat Mip)
{
return Tex.SampleLevel(Sampler, UV, Mip);
}
MaterialFloat4 Texture2DSampleBias(Texture2D Tex, SamplerState Sampler, float2 UV, MaterialFloat MipBias)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.SampleBias(Sampler, UV, MipBias);
#endif
}
MaterialFloat4 Texture2DSampleGrad(Texture2D Tex, SamplerState Sampler, float2 UV, MaterialFloat2 DDX, MaterialFloat2 DDY)
{
return Tex.SampleGrad(Sampler, UV, DDX, DDY);
}
MaterialFloat4 Texture3DSampleLevel(Texture3D Tex, SamplerState Sampler, float3 UV, MaterialFloat Mip)
{
return Tex.SampleLevel(Sampler, UV, Mip);
}
MaterialFloat4 TextureCubeSampleLevel(TextureCube Tex, SamplerState Sampler, float3 UV, MaterialFloat Mip)
{
return Tex.SampleLevel(Sampler, UV, Mip);
}
MaterialFloat4 TextureCubeSampleBias(TextureCube Tex, SamplerState Sampler, float3 UV, MaterialFloat MipBias)
{
#if COMPUTESHADER
return Tex.SampleLevel(Sampler, UV, 0);
#else
return Tex.SampleBias(Sampler, UV, MipBias);
#endif
}
MaterialFloat4 TextureCubeSampleGrad(TextureCube Tex, SamplerState Sampler, float3 UV, MaterialFloat3 DDX, MaterialFloat3 DDY)
{
return Tex.SampleGrad(Sampler, UV, DDX, DDY);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
//converts an input 1d to 2d position. Useful for locating z frames that have been laid out in a 2d grid like a flipbook.
float2 Tile1Dto2D(float xsize, float idx)
{
float2 xyidx = 0;
xyidx.y = floor(idx / xsize);
xyidx.x = idx - xsize * xyidx.y;
return xyidx;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3219796 on 2016/12/02 by Rolando.Caloca DR - vk - Increase timeout to 60ms Change 3219884 on 2016/12/02 by Daniel.Wright Assert to help track down rare crash locking capsule indirect shadow vertex buffer Change 3219885 on 2016/12/02 by Daniel.Wright Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable' Change 3219886 on 2016/12/02 by Daniel.Wright Don't create projected shadows when r.ShadowQuality is 0 * Fixes crash in the forward path trying to render shadows * In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped Change 3219887 on 2016/12/02 by Daniel.Wright Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing Change 3219893 on 2016/12/02 by Daniel.Wright AMD AGS library with approved TPS Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below) Change 3219913 on 2016/12/02 by Daniel.Wright Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded Change 3220029 on 2016/12/02 by Daniel.Wright Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation). * A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials * Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials * FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet Change 3220108 on 2016/12/02 by Daniel.Wright Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present Change 3220504 on 2016/12/03 by Mark.Satterthwaite Metal Desktop Tessellation support from Unicorn. - Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4). - Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant. - Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation. - Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding. - Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default. - Epic: Various fixes to Layered Rendering for Metal. - Omits Mobile Tessellation support which needs further revision. Change 3220881 on 2016/12/04 by Mark.Satterthwaite Compiles fixes for iOS & static analysis fixes from Windows. Change 3221180 on 2016/12/05 by Guillaume.Abadie Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time. Change 3221217 on 2016/12/05 by Chris.Bunner More NVAPI warning fixups. Change 3221219 on 2016/12/05 by Chris.Bunner When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent. #jira UE-37792 Change 3221220 on 2016/12/05 by Chris.Bunner Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames. #jira UE-35132 Change 3221221 on 2016/12/05 by Chris.Bunner PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser) #jira UE-35760 Change 3221223 on 2016/12/05 by Chris.Bunner Default to include dev-code when compiling material preview stats. #jira UE-20321 Change 3221534 on 2016/12/05 by Rolando.Caloca DR - Added FDynamicRHI::GetName() Change 3221833 on 2016/12/05 by Chris.Bunner Set correct output extent on PostProcessUpscale (allows users to extend chain correctly). #jira UE-36989 Change 3221852 on 2016/12/05 by Chris.Bunner 32-bit/ch EXR screenshot and frame dump output. Fixed row increment bug in 128-bit/px surface format readback. #jira UE-37962 Change 3222059 on 2016/12/05 by Rolando.Caloca DR - vk - Fix memory type not found Change 3222104 on 2016/12/05 by Rolando.Caloca DR - Lambdaize - Added quicker method to check if system textures are initialized Change 3222290 on 2016/12/05 by Mark.Satterthwaite Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist. Change 3222864 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak when exiting Change 3222873 on 2016/12/06 by Rolando.Caloca DR - vk - Minor info to help track down leaks Change 3222875 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak with VisualizeTexture #jira UE-39360 Change 3223226 on 2016/12/06 by Chris.Bunner Static analysis warning workaround. Change 3223235 on 2016/12/06 by Ben.Woodhouse Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D Change 3223343 on 2016/12/06 by Chris.Bunner Moved HLOD persistent data to viewstate to fix per-view compatability. #jira UE-37539 Change 3223349 on 2016/12/06 by Chris.Bunner Fixed HLOD with FreezeRendering command. #jira UE-29839 Change 3223371 on 2016/12/06 by Michael.Trepka Removed obsolete check() in FMetalSurface constructor Change 3223450 on 2016/12/06 by Chris.Bunner Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward. Change 3223638 on 2016/12/06 by Michael.Trepka Restored part of the check() in FMetalSurface constructor removed in CL 3223371 Change 3223642 on 2016/12/06 by Mark.Satterthwaite Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet). - Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs). - Enable with -metaledr command-line argument as it is off-by-default. - Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding. Change 3223830 on 2016/12/06 by Rolando.Caloca DR - vk - Better error when finding an invalid Vulkan driver #jira UE-37495 Change 3223869 on 2016/12/06 by Rolando.Caloca DR - vk - Reuse fences Change 3223906 on 2016/12/06 by Guillaume.Abadie Fix alpha through TempAA artifact causing a small darker edge layouts. Change 3224199 on 2016/12/06 by Mark.Satterthwaite Fix a dumb copy-paste error from the HDR changes to Metal. Change 3224220 on 2016/12/06 by Mark.Satterthwaite Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects. - Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering. Change 3224236 on 2016/12/06 by Mark.Satterthwaite IWYU CIS compile fix for iOS. Change 3224366 on 2016/12/06 by Mark.Satterthwaite Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears. - If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted. - This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo. Change 3224416 on 2016/12/06 by Uriel.Doyon New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds. Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives). Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData. Fix for material texture streaming data not being available on some cooked builds. Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible). This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting. Forced residency are now loaded in two steps (visible, then forced), improving reactiveness. Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them, and also "LastRenderTimeMips" which related to timed primitives. Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency. "Texture Streaming Build" now updates the map check after execution. Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic. Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements. Change 3224532 on 2016/12/07 by Uriel.Doyon Integrated CL 3223965 : Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore. Added more options to allow the user to cancel this build also. Change 3224714 on 2016/12/07 by Ben.Woodhouse Cherry pick CL 3223972 from //fortnite/main: Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms) Change 3224715 on 2016/12/07 by Ben.Woodhouse New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version Change 3224975 on 2016/12/07 by Rolando.Caloca DR - vk - Dump improvements Change 3225012 on 2016/12/07 by Rolando.Caloca DR - Show warning if trying to use num samples != (1,2,4,8,16) Change 3225126 on 2016/12/07 by Chris.Bunner Added 'force 128-bit rendering pipeline' to high-res screenshot tool. #jira UE-39345 Change 3225449 on 2016/12/07 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3225485 on 2016/12/07 by Chris.Bunner Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases. #jira UE-19394 Change 3225486 on 2016/12/07 by Chris.Bunner Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled. Change 3225505 on 2016/12/07 by Daniel.Wright Fixed exponential height fog disappearing with no skybox Change 3225655 on 2016/12/07 by Benjamin.Hyder Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting. Change 3225668 on 2016/12/07 by Chris.Bunner Dirty owning packages when user manually forces regeneration of all reflection captures. #jira UE-38759 Change 3226139 on 2016/12/07 by Rolando.Caloca DR - Fix recompute tangents disabling skin cache - Make some macros into lambdas #jira UE-39143 Change 3226212 on 2016/12/07 by Daniel.Wright Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false Change 3226213 on 2016/12/07 by Daniel.Wright Scene Capture 2D can specify a global clip plane, which is useful for portals * Requires the global clip plane project setting to be enabled Change 3226214 on 2016/12/07 by Daniel.Wright Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass * If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used * Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing * Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost * Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall Change 3226258 on 2016/12/07 by Rolando.Caloca DR - Typo fix Change 3226259 on 2016/12/07 by Rolando.Caloca DR - compile fix #jira UE-39143 Change 3226932 on 2016/12/08 by Chris.Bunner Re-saved Infiltrator maps to update reflection captures. #jira UE-38759 Change 3227063 on 2016/12/08 by Mark.Satterthwaite For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia. #jira UE-37436 Change 3227120 on 2016/12/08 by Gil.Gribb Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering) Change 3227211 on 2016/12/08 by Arne.Schober DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant. Change 3227257 on 2016/12/08 by Marc.Olano Extension to PseudoVolumeTexture for more flexible layout Change by ryan.brucks Change 3227286 on 2016/12/08 by Rolando.Caloca DR - Fix crash when using custom expressions and using reserved keywords #jira UE-39311 Change 3227376 on 2016/12/08 by Mark.Satterthwaite Must not include a private header inside the MenuStack public header as that causes compile errors in plugins. Change 3227415 on 2016/12/08 by Mark.Satterthwaite Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering. Change 3227516 on 2016/12/08 by Daniel.Wright Implemented UWidgetComponent::GetUsedMaterials Change 3227521 on 2016/12/08 by Guillaume.Abadie Fixes post process volume's indirect lighting color. #jira UE-38888 Change 3227567 on 2016/12/08 by Marc.Olano New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask Change 3227628 on 2016/12/08 by Daniel.Wright Removed redundant ResolveSceneDepthTexture from the merge Change 3227635 on 2016/12/08 by Daniel.Wright Forward renderer supports shadowing from movable lights and light functions * Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed * Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned Change 3227660 on 2016/12/08 by Rolando.Caloca DR - vk - Fix r.MobileMSAA on Vulkan - r.MobileMSAA is now read-only (to be fixed on 4.16) - Show time for PSO creation hitches #jira UE-39184 Change 3227704 on 2016/12/08 by Mark.Satterthwaite Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms. Change 3227705 on 2016/12/08 by Daniel.Wright Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426) Change 3227787 on 2016/12/08 by Chris.Bunner Added extent clear to motion blur pass to catch misized buffers bringing in errors. Added early out to clear call when excluded region matches RT region. #jira UE-39437 Change 3228177 on 2016/12/08 by Marc.Olano Fix DCC sqrt(int) error Change 3228285 on 2016/12/08 by Chris.Bunner Back out changelist 3225449. #jira UE-39528 Change 3228680 on 2016/12/09 by Gil.Gribb Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering) Change 3228940 on 2016/12/09 by Mark.Satterthwaite Editor fixes for 4.15: - PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again. - Don't start render-passes without a valid render-target-array in MetalRHI. Change 3228950 on 2016/12/09 by Mark.Satterthwaite Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11. - Fixed the Skeleton editor tree trying to access a widget before it has been constructed. - Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation. #jira UE-39256 Change 3229013 on 2016/12/09 by Mark.Satterthwaite Further tidy up in SSkeletonTreeView as suggested by Nick.A. Change 3229101 on 2016/12/09 by Chris.Bunner Log compile error fix and updated cvar comments. Change 3229236 on 2016/12/09 by Ben.Woodhouse XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles Change 3229430 on 2016/12/09 by Ben.Woodhouse PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov) Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster) Change 3229580 on 2016/12/09 by Marcus.Wassmer DepthBoundsTest for AMD. Change 3229701 on 2016/12/09 by Michael.Trepka Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2 Change 3229706 on 2016/12/09 by Chris.Bunner Added GameUserSettings controls for HDR display output. Removed Metal commandline as this should replace the need for it. Change 3229774 on 2016/12/09 by Michael.Trepka Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit. Change 3229819 on 2016/12/09 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3229948 on 2016/12/09 by Rolando.Caloca DR - Fix d3d debug error #jira UE-39589 Change 3230341 on 2016/12/11 by Mark.Satterthwaite Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled. #jira UE-39613 Change 3230860 on 2016/12/12 by Marcus.Wassmer Experimental Nvidia AFR support. Change 3230930 on 2016/12/12 by Mark.Satterthwaite Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function. Change 3231252 on 2016/12/12 by Marcus.Wassmer Fix NumGPU detection. (SLI only crash) Change 3231486 on 2016/12/12 by Mark.Satterthwaite Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers. Change 3231661 on 2016/12/12 by Mark.Satterthwaite Retain the RHI samplers in MetalRHI to guarantee lifetime. [CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
// return a pseudovolume texture sample.
// useful for simulating 3D texturing with a 2D texture or as a texture flipbook with lerped transitions
// treats 2d layout of frames a 3d texture and performs bilinear filtering by blending with an offset Z frame.
// @param Tex = Input Texture Object storing Volume Data
// @param inPos = Input float3 for Position, 0-1
// @param xsize = Input float for num frames in x,y directions
// @param numFrames = Input float for num total frames
// @param mipmode = Sampling mode: 0 = use miplevel, 1 = use UV computed gradients, 2 = Use gradients (default=0)
// @param miplevel = MIP level to use in mipmode=0 (default 0)
// @param InDDX, InDDY = Texture gradients in mipmode=2
float4 PseudoVolumeTexture(Texture2D Tex, SamplerState TexSampler, float3 inPos, float xsize, float numframes,
uint mipmode = 0, float miplevel = 0, float2 InDDX = 0, float2 InDDY = 0)
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
{
float zframe = ceil(inPos.z * numframes);
float zphase = frac(inPos.z * numframes);
float2 uv = frac(inPos.xy) / xsize;
float2 curframe = Tile1Dto2D(xsize, zframe) / xsize;
float2 nextframe = Tile1Dto2D(xsize, zframe + 1) / xsize;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3219796 on 2016/12/02 by Rolando.Caloca DR - vk - Increase timeout to 60ms Change 3219884 on 2016/12/02 by Daniel.Wright Assert to help track down rare crash locking capsule indirect shadow vertex buffer Change 3219885 on 2016/12/02 by Daniel.Wright Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable' Change 3219886 on 2016/12/02 by Daniel.Wright Don't create projected shadows when r.ShadowQuality is 0 * Fixes crash in the forward path trying to render shadows * In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped Change 3219887 on 2016/12/02 by Daniel.Wright Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing Change 3219893 on 2016/12/02 by Daniel.Wright AMD AGS library with approved TPS Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below) Change 3219913 on 2016/12/02 by Daniel.Wright Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded Change 3220029 on 2016/12/02 by Daniel.Wright Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation). * A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials * Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials * FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet Change 3220108 on 2016/12/02 by Daniel.Wright Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present Change 3220504 on 2016/12/03 by Mark.Satterthwaite Metal Desktop Tessellation support from Unicorn. - Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4). - Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant. - Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation. - Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding. - Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default. - Epic: Various fixes to Layered Rendering for Metal. - Omits Mobile Tessellation support which needs further revision. Change 3220881 on 2016/12/04 by Mark.Satterthwaite Compiles fixes for iOS & static analysis fixes from Windows. Change 3221180 on 2016/12/05 by Guillaume.Abadie Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time. Change 3221217 on 2016/12/05 by Chris.Bunner More NVAPI warning fixups. Change 3221219 on 2016/12/05 by Chris.Bunner When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent. #jira UE-37792 Change 3221220 on 2016/12/05 by Chris.Bunner Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames. #jira UE-35132 Change 3221221 on 2016/12/05 by Chris.Bunner PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser) #jira UE-35760 Change 3221223 on 2016/12/05 by Chris.Bunner Default to include dev-code when compiling material preview stats. #jira UE-20321 Change 3221534 on 2016/12/05 by Rolando.Caloca DR - Added FDynamicRHI::GetName() Change 3221833 on 2016/12/05 by Chris.Bunner Set correct output extent on PostProcessUpscale (allows users to extend chain correctly). #jira UE-36989 Change 3221852 on 2016/12/05 by Chris.Bunner 32-bit/ch EXR screenshot and frame dump output. Fixed row increment bug in 128-bit/px surface format readback. #jira UE-37962 Change 3222059 on 2016/12/05 by Rolando.Caloca DR - vk - Fix memory type not found Change 3222104 on 2016/12/05 by Rolando.Caloca DR - Lambdaize - Added quicker method to check if system textures are initialized Change 3222290 on 2016/12/05 by Mark.Satterthwaite Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist. Change 3222864 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak when exiting Change 3222873 on 2016/12/06 by Rolando.Caloca DR - vk - Minor info to help track down leaks Change 3222875 on 2016/12/06 by Rolando.Caloca DR - Fix mem leak with VisualizeTexture #jira UE-39360 Change 3223226 on 2016/12/06 by Chris.Bunner Static analysis warning workaround. Change 3223235 on 2016/12/06 by Ben.Woodhouse Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D Change 3223343 on 2016/12/06 by Chris.Bunner Moved HLOD persistent data to viewstate to fix per-view compatability. #jira UE-37539 Change 3223349 on 2016/12/06 by Chris.Bunner Fixed HLOD with FreezeRendering command. #jira UE-29839 Change 3223371 on 2016/12/06 by Michael.Trepka Removed obsolete check() in FMetalSurface constructor Change 3223450 on 2016/12/06 by Chris.Bunner Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward. Change 3223638 on 2016/12/06 by Michael.Trepka Restored part of the check() in FMetalSurface constructor removed in CL 3223371 Change 3223642 on 2016/12/06 by Mark.Satterthwaite Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet). - Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs). - Enable with -metaledr command-line argument as it is off-by-default. - Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding. Change 3223830 on 2016/12/06 by Rolando.Caloca DR - vk - Better error when finding an invalid Vulkan driver #jira UE-37495 Change 3223869 on 2016/12/06 by Rolando.Caloca DR - vk - Reuse fences Change 3223906 on 2016/12/06 by Guillaume.Abadie Fix alpha through TempAA artifact causing a small darker edge layouts. Change 3224199 on 2016/12/06 by Mark.Satterthwaite Fix a dumb copy-paste error from the HDR changes to Metal. Change 3224220 on 2016/12/06 by Mark.Satterthwaite Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects. - Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering. Change 3224236 on 2016/12/06 by Mark.Satterthwaite IWYU CIS compile fix for iOS. Change 3224366 on 2016/12/06 by Mark.Satterthwaite Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears. - If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted. - This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo. Change 3224416 on 2016/12/06 by Uriel.Doyon New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds. Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives). Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData. Fix for material texture streaming data not being available on some cooked builds. Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible). This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting. Forced residency are now loaded in two steps (visible, then forced), improving reactiveness. Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them, and also "LastRenderTimeMips" which related to timed primitives. Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency. "Texture Streaming Build" now updates the map check after execution. Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic. Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements. Change 3224532 on 2016/12/07 by Uriel.Doyon Integrated CL 3223965 : Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore. Added more options to allow the user to cancel this build also. Change 3224714 on 2016/12/07 by Ben.Woodhouse Cherry pick CL 3223972 from //fortnite/main: Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms) Change 3224715 on 2016/12/07 by Ben.Woodhouse New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version Change 3224975 on 2016/12/07 by Rolando.Caloca DR - vk - Dump improvements Change 3225012 on 2016/12/07 by Rolando.Caloca DR - Show warning if trying to use num samples != (1,2,4,8,16) Change 3225126 on 2016/12/07 by Chris.Bunner Added 'force 128-bit rendering pipeline' to high-res screenshot tool. #jira UE-39345 Change 3225449 on 2016/12/07 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3225485 on 2016/12/07 by Chris.Bunner Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases. #jira UE-19394 Change 3225486 on 2016/12/07 by Chris.Bunner Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled. Change 3225505 on 2016/12/07 by Daniel.Wright Fixed exponential height fog disappearing with no skybox Change 3225655 on 2016/12/07 by Benjamin.Hyder Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting. Change 3225668 on 2016/12/07 by Chris.Bunner Dirty owning packages when user manually forces regeneration of all reflection captures. #jira UE-38759 Change 3226139 on 2016/12/07 by Rolando.Caloca DR - Fix recompute tangents disabling skin cache - Make some macros into lambdas #jira UE-39143 Change 3226212 on 2016/12/07 by Daniel.Wright Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false Change 3226213 on 2016/12/07 by Daniel.Wright Scene Capture 2D can specify a global clip plane, which is useful for portals * Requires the global clip plane project setting to be enabled Change 3226214 on 2016/12/07 by Daniel.Wright Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass * If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used * Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing * Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost * Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall Change 3226258 on 2016/12/07 by Rolando.Caloca DR - Typo fix Change 3226259 on 2016/12/07 by Rolando.Caloca DR - compile fix #jira UE-39143 Change 3226932 on 2016/12/08 by Chris.Bunner Re-saved Infiltrator maps to update reflection captures. #jira UE-38759 Change 3227063 on 2016/12/08 by Mark.Satterthwaite For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia. #jira UE-37436 Change 3227120 on 2016/12/08 by Gil.Gribb Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering) Change 3227211 on 2016/12/08 by Arne.Schober DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant. Change 3227257 on 2016/12/08 by Marc.Olano Extension to PseudoVolumeTexture for more flexible layout Change by ryan.brucks Change 3227286 on 2016/12/08 by Rolando.Caloca DR - Fix crash when using custom expressions and using reserved keywords #jira UE-39311 Change 3227376 on 2016/12/08 by Mark.Satterthwaite Must not include a private header inside the MenuStack public header as that causes compile errors in plugins. Change 3227415 on 2016/12/08 by Mark.Satterthwaite Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering. Change 3227516 on 2016/12/08 by Daniel.Wright Implemented UWidgetComponent::GetUsedMaterials Change 3227521 on 2016/12/08 by Guillaume.Abadie Fixes post process volume's indirect lighting color. #jira UE-38888 Change 3227567 on 2016/12/08 by Marc.Olano New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask Change 3227628 on 2016/12/08 by Daniel.Wright Removed redundant ResolveSceneDepthTexture from the merge Change 3227635 on 2016/12/08 by Daniel.Wright Forward renderer supports shadowing from movable lights and light functions * Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed * Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned Change 3227660 on 2016/12/08 by Rolando.Caloca DR - vk - Fix r.MobileMSAA on Vulkan - r.MobileMSAA is now read-only (to be fixed on 4.16) - Show time for PSO creation hitches #jira UE-39184 Change 3227704 on 2016/12/08 by Mark.Satterthwaite Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms. Change 3227705 on 2016/12/08 by Daniel.Wright Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426) Change 3227787 on 2016/12/08 by Chris.Bunner Added extent clear to motion blur pass to catch misized buffers bringing in errors. Added early out to clear call when excluded region matches RT region. #jira UE-39437 Change 3228177 on 2016/12/08 by Marc.Olano Fix DCC sqrt(int) error Change 3228285 on 2016/12/08 by Chris.Bunner Back out changelist 3225449. #jira UE-39528 Change 3228680 on 2016/12/09 by Gil.Gribb Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering) Change 3228940 on 2016/12/09 by Mark.Satterthwaite Editor fixes for 4.15: - PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again. - Don't start render-passes without a valid render-target-array in MetalRHI. Change 3228950 on 2016/12/09 by Mark.Satterthwaite Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11. - Fixed the Skeleton editor tree trying to access a widget before it has been constructed. - Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation. #jira UE-39256 Change 3229013 on 2016/12/09 by Mark.Satterthwaite Further tidy up in SSkeletonTreeView as suggested by Nick.A. Change 3229101 on 2016/12/09 by Chris.Bunner Log compile error fix and updated cvar comments. Change 3229236 on 2016/12/09 by Ben.Woodhouse XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles Change 3229430 on 2016/12/09 by Ben.Woodhouse PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov) Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster) Change 3229580 on 2016/12/09 by Marcus.Wassmer DepthBoundsTest for AMD. Change 3229701 on 2016/12/09 by Michael.Trepka Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2 Change 3229706 on 2016/12/09 by Chris.Bunner Added GameUserSettings controls for HDR display output. Removed Metal commandline as this should replace the need for it. Change 3229774 on 2016/12/09 by Michael.Trepka Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit. Change 3229819 on 2016/12/09 by Chris.Bunner Updated engine rendering defaults to better match current best practices. #jira UE-38081 Change 3229948 on 2016/12/09 by Rolando.Caloca DR - Fix d3d debug error #jira UE-39589 Change 3230341 on 2016/12/11 by Mark.Satterthwaite Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled. #jira UE-39613 Change 3230860 on 2016/12/12 by Marcus.Wassmer Experimental Nvidia AFR support. Change 3230930 on 2016/12/12 by Mark.Satterthwaite Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function. Change 3231252 on 2016/12/12 by Marcus.Wassmer Fix NumGPU detection. (SLI only crash) Change 3231486 on 2016/12/12 by Mark.Satterthwaite Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers. Change 3231661 on 2016/12/12 by Mark.Satterthwaite Retain the RHI samplers in MetalRHI to guarantee lifetime. [CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
float4 sampleA = 0, sampleB = 0;
switch (mipmode)
{
case 0: // Mip level
sampleA = Tex.SampleLevel(TexSampler, uv + curframe, miplevel);
sampleB = Tex.SampleLevel(TexSampler, uv + nextframe, miplevel);
break;
case 1: // Gradients automatic from UV
sampleA = Texture2DSample(Tex, TexSampler, uv + curframe);
sampleB = Texture2DSample(Tex, TexSampler, uv + nextframe);
break;
case 2: // Deriviatives provided
sampleA = Tex.SampleGrad(TexSampler, uv + curframe, InDDX, InDDY);
sampleB = Tex.SampleGrad(TexSampler, uv + nextframe, InDDX, InDDY);
break;
default:
break;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
return lerp(sampleA, sampleB, zphase);
}
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5 // Cubemap arrays are not supported in SM4 feature level
MaterialFloat4 TextureCubeArraySampleLevel(TextureCubeArray Tex, SamplerState Sampler, float3 UV, float ArrayIndex, MaterialFloat Mip)
{
return Tex.SampleLevel(Sampler, float4(UV, ArrayIndex), Mip);
}
#endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
void Bicubic2DCatmullRom( in float2 UV, in float2 Size, out float2 Sample[3], out float2 Weight[3] )
{
const float2 InvSize = 1.0 / Size;
UV *= Size;
float2 tc = floor( UV - 0.5 ) + 0.5;
float2 f = UV - tc;
float2 f2 = f * f;
float2 f3 = f2 * f;
float2 w0 = f2 - 0.5 * (f3 + f);
float2 w1 = 1.5 * f3 - 2.5 * f2 + 1;
float2 w3 = 0.5 * (f3 - f2);
float2 w2 = 1 - w0 - w1 - w3;
Weight[0] = w0;
Weight[1] = w1 + w2;
Weight[2] = w3;
Sample[0] = tc - 1;
Sample[1] = tc + w2 / Weight[1];
Sample[2] = tc + 2;
Sample[0] *= InvSize;
Sample[1] *= InvSize;
Sample[2] *= InvSize;
}
MaterialFloat4 Texture2DSampleBicubic( Texture2D Tex, SamplerState Sampler, float2 UV, float2 Size )
{
float2 Weight[3];
float2 Sample[3];
Bicubic2DCatmullRom( UV, Size, Sample, Weight );
MaterialFloat4 OutColor;
#if 0
OutColor = Tex.SampleLevel( Sampler, float2( Sample[0].x, Sample[0].y ), 0 ) * Weight[0].x * Weight[0].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[0].y ), 0 ) * Weight[1].x * Weight[0].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[2].x, Sample[0].y ), 0 ) * Weight[2].x * Weight[0].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[0].x, Sample[1].y ), 0 ) * Weight[0].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[1].y ), 0 ) * Weight[1].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[2].x, Sample[1].y ), 0 ) * Weight[2].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[0].x, Sample[2].y ), 0 ) * Weight[0].x * Weight[2].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[2].y ), 0 ) * Weight[1].x * Weight[2].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[2].x, Sample[2].y ), 0 ) * Weight[2].x * Weight[2].y;
#else
// Optimized by removing corner samples
OutColor = Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[0].y ), 0 ) * Weight[1].x * Weight[0].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[0].x, Sample[1].y ), 0 ) * Weight[0].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[1].y ), 0 ) * Weight[1].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[2].x, Sample[1].y ), 0 ) * Weight[2].x * Weight[1].y;
OutColor += Tex.SampleLevel( Sampler, float2( Sample[1].x, Sample[2].y ), 0 ) * Weight[1].x * Weight[2].y;
// Reweight after removing the corners
float CornerWeights;
CornerWeights = Weight[1].x * Weight[0].y;
CornerWeights += Weight[0].x * Weight[1].y;
CornerWeights += Weight[1].x * Weight[1].y;
CornerWeights += Weight[2].x * Weight[1].y;
CornerWeights += Weight[1].x * Weight[2].y;
OutColor /= CornerWeights;
#endif
return OutColor;
}
// TANGENTTOWORLD0 is the first row of the tangent to world matrix, w might be needed for padding and is not used yet.
// TANGENTTOWORLD2 is the last row of the tangent to world matrix, determinant of tangent basis in w
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
#define TANGENTTOWORLD0 TEXCOORD10
#define TANGENTTOWORLD2 TEXCOORD11
// _centroid is needed to get better quality with MSAA
// The D3D shader compiler combines _centroid and non controid. Using float3 would results in a internal
// shader compiler error. This block is using float4 to prevent that.
#define TANGENTTOWORLD_INTERPOLATOR_BLOCK float4 TangentToWorld0 : TEXCOORD10_centroid; float4 TangentToWorld2 : TEXCOORD11_centroid;
#else
#define TANGENTTOWORLD0 TEXCOORD10
#define TANGENTTOWORLD2 TEXCOORD11
// TangentToWorld0 is float4 only to match D3D11
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#if METAL_PROFILE || COMPILER_GLSL_ES3_1
//@todo-rco: FIXME!
#define TANGENTTOWORLD_INTERPOLATOR_BLOCK float4 TangentToWorld0 : TANGENTTOWORLD0; float4 TangentToWorld2 : TANGENTTOWORLD2;
#else
#define TANGENTTOWORLD_INTERPOLATOR_BLOCK MaterialFloat4 TangentToWorld0 : TANGENTTOWORLD0; MaterialFloat4 TangentToWorld2 : TANGENTTOWORLD2;
#endif
#endif
MaterialFloat Luminance( MaterialFloat3 LinearColor )
{
return dot( LinearColor, MaterialFloat3( 0.3, 0.59, 0.11 ) );
}
const static MaterialFloat PI = 3.1415926535897932f;
MaterialFloat length2(MaterialFloat2 v)
{
return dot(v, v);
}
MaterialFloat length2(MaterialFloat3 v)
{
return dot(v, v);
}
MaterialFloat length2(MaterialFloat4 v)
{
return dot(v, v);
}
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
uint Mod(uint a, uint b)
{
#if FEATURE_LEVEL >= FEATURE_LEVEL_ES3_1
return a % b;
#else
return a - (b * (uint)((float)a / (float)b));
#endif
}
uint2 Mod(uint2 a, uint2 b)
{
#if FEATURE_LEVEL >= FEATURE_LEVEL_ES3_1
return a % b;
#else
return a - (b * (uint2)((float2)a / (float2)b));
#endif
}
uint3 Mod(uint3 a, uint3 b)
{
#if FEATURE_LEVEL >= FEATURE_LEVEL_ES3_1
return a % b;
#else
return a - (b * (uint3)((float3)a / (float3)b));
#endif
}
MaterialFloat UnClampedPow(MaterialFloat X, MaterialFloat Y)
{
return pow(X, Y);
}
MaterialFloat2 UnClampedPow(MaterialFloat2 X, MaterialFloat2 Y)
{
return pow(X, Y);
}
MaterialFloat3 UnClampedPow(MaterialFloat3 X, MaterialFloat3 Y)
{
return pow(X, Y);
}
MaterialFloat4 UnClampedPow(MaterialFloat4 X, MaterialFloat4 Y)
{
return pow(X, Y);
}
// Clamp the base, so it's never <= 0.0f (INF/NaN).
MaterialFloat ClampedPow(MaterialFloat X,MaterialFloat Y)
{
return pow(max(abs(X),0.000001f),Y);
}
MaterialFloat2 ClampedPow(MaterialFloat2 X,MaterialFloat2 Y)
{
return pow(max(abs(X),MaterialFloat2(0.000001f,0.000001f)),Y);
}
MaterialFloat3 ClampedPow(MaterialFloat3 X,MaterialFloat3 Y)
{
return pow(max(abs(X),MaterialFloat3(0.000001f,0.000001f,0.000001f)),Y);
}
MaterialFloat4 ClampedPow(MaterialFloat4 X,MaterialFloat4 Y)
{
return pow(max(abs(X),MaterialFloat4(0.000001f,0.000001f,0.000001f,0.000001f)),Y);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3358140 on 2017/03/22 by Rolando.Caloca DR - Fix copy to cube face - Compile fix when using dump layer - Add new error enum Change 3358301 on 2017/03/22 by Mitchell.Wilson Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section. Change 3358477 on 2017/03/22 by Mitchell.Wilson Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning. Change 3358529 on 2017/03/22 by Mark.Satterthwaite Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code. Change 3358745 on 2017/03/22 by Mark.Satterthwaite Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected. Change 3358837 on 2017/03/22 by Joe.Graf Merge of pull request #3214 for the RenderDocPlugin #CodeReview: matt.kuhlenschmidt, marcus.wassmer #rb: marcus.wassmer Change 3359112 on 2017/03/22 by Ben.Salem Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined. #tests Ran several Showdown test runs with plugin! Change 3359363 on 2017/03/22 by Joe.Graf First pass at non-unity & no pch compilation Change 3359449 on 2017/03/22 by Joe.Graf Added missing null check when exporting a EXR on Linux (UE-40268) #CodeReview: dmitry.rekman #rb: n/a Change 3360349 on 2017/03/23 by Guillaume.Abadie Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts. #jira UE-42920 Change 3360405 on 2017/03/23 by Marcus.Wassmer Better method for detecting Kepler Change 3360718 on 2017/03/23 by Daniel.Wright Planar reflections handle views smaller than the render target in a general way * Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined) * Planar reflections are now supported in splitscreen Change 3360758 on 2017/03/23 by Daniel.Wright [Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead Change 3360762 on 2017/03/23 by Daniel.Wright [Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool Change 3360768 on 2017/03/23 by Daniel.Wright [Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram Change 3360770 on 2017/03/23 by Daniel.Wright [Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox Change 3360771 on 2017/03/23 by Daniel.Wright [Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light. Change 3360774 on 2017/03/23 by Daniel.Wright [Copy] Distance field cvar comments Change 3360782 on 2017/03/23 by Daniel.Wright [Copy] Disabled selection color on Volume materials Change 3360795 on 2017/03/23 by Daniel.Wright [Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density. Change 3360799 on 2017/03/23 by Daniel.Wright [Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y Change 3360806 on 2017/03/23 by Daniel.Wright [Copy] Fixed volumetric fog being offset when viewport min is not 0 Change 3360809 on 2017/03/23 by Daniel.Wright [Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale. Change 3361651 on 2017/03/23 by Brian.Karis Higher quality sharp SSR at quality 4 Change 3361678 on 2017/03/23 by Brian.Karis Fresnel darkens diffuse for clearcoat. Change 3361683 on 2017/03/23 by Brian.Karis Fixed SSR artifact Change 3361691 on 2017/03/23 by Brian.Karis Chagned min roughness limit Change 3361707 on 2017/03/23 by Brian.Karis Added inverse film tone map Change 3361726 on 2017/03/23 by Brian.Karis Better precision inverse Change 3361758 on 2017/03/23 by Brian.Karis Material flag normal curvature to roughness is no longer forward only. Change 3361765 on 2017/03/23 by Brian.Karis Update ACES Change 3361774 on 2017/03/23 by Brian.Karis Cleaned up alpha support and disabled screen edge clipping. Change 3362478 on 2017/03/24 by Guillaume.Abadie Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output. #author Brian.Karis #jira UE-42920 Change 3362738 on 2017/03/24 by Rolando.Caloca DR - Hide scene capture on IF Change 3362890 on 2017/03/24 by Guillaume.Abadie Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha Change 3363665 on 2017/03/24 by Mark.Satterthwaite PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous) Change 3363866 on 2017/03/24 by Arne.Schober DR - Updated NVAPI #RB Marcus.Wassmer Change 3364300 on 2017/03/24 by Brian.Karis SSR use dynamic velocity Change 3364372 on 2017/03/24 by Brian.Karis Fix changing off axis projection velocities. Change 3364373 on 2017/03/24 by Brian.Karis Enabled velocity drawing in scene captures Change 3365531 on 2017/03/27 by Guillaume.Abadie Computes the material's screen position material expression directly from the pixel shader SvPosition Change 3365764 on 2017/03/27 by Chris.Bunner Lowering severity of crash for missing values in scalability.ini. #jira UE-41331 Change 3365916 on 2017/03/27 by Guillaume.Abadie Exposes the viewport offset within the view property material expression Change 3365979 on 2017/03/27 by Brian.Karis Fixed skylight intensity from double applying Change 3365987 on 2017/03/27 by Brian.Karis Stopped post process indirect lighting intensity from scaling skylight reflections Change 3365991 on 2017/03/27 by Brian.Karis Fix for static analysis Change 3366028 on 2017/03/27 by Daniel.Wright Volumetric fog supports static shadowing from Stationary lights * Using bilinear on static shadowmap depths + 1 PCF to smooth out results Change 3366029 on 2017/03/27 by Daniel.Wright Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog Change 3366055 on 2017/03/27 by Guillaume.Abadie Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies. Change 3366447 on 2017/03/27 by Simon.Tourangeau Fix IES light profile importer. - Bug in the LM-63-1986 format importer. Change 3366836 on 2017/03/27 by Brian.Karis ClearUAV now supports int types Change 3367435 on 2017/03/28 by Benjamin.Hyder Submitting Decal Automation map for initial approval Change 3367572 on 2017/03/28 by Chris.Bunner Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs. #jira UE-42989 Change 3367756 on 2017/03/28 by Olaf.Piesche Niagara material usage flags Change 3367835 on 2017/03/28 by Marcus.Wassmer Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene. Change 3367837 on 2017/03/28 by Marcus.Wassmer Missed a file. Change 3367838 on 2017/03/28 by Richard.Wallis Updated items from original shelved version by Mark Satt: - Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's **Description below taken from Mark Satt's original verison of this in CL3343280** Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries. Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently. - All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work. - With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary. - For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping. - File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic. - This bumps the object version and will cause all content to recook. - Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller). Change 3367854 on 2017/03/28 by Mark.Satterthwaite Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be. Change 3367877 on 2017/03/28 by Brian.Karis Fixed linux build hopefully Change 3368001 on 2017/03/28 by Mark.Satterthwaite Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves. Change 3368019 on 2017/03/28 by Mark.Satterthwaite And another fix for Windows compilation of MetalShaderFormat. Change 3368042 on 2017/03/28 by Mark.Satterthwaite And a couple of simpler MSVC errors. Change 3368271 on 2017/03/28 by Mark.Satterthwaite Make SceneRenderTargets compile again. Change 3368691 on 2017/03/28 by Daniel.Wright [Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis Change 3369689 on 2017/03/29 by Marcus.Wassmer Fix non editor compile for now Change 3369862 on 2017/03/29 by Marcus.Wassmer Get the rest of the things compiling again. Change 3369896 on 2017/03/29 by Chris.Bunner Enabling AMD HDR support by default. #jira UE-42113 Change 3370535 on 2017/03/29 by Marcus.Wassmer DR - Fix template explicit instantiation for ClearUAV permutations #RB Brian.Karis, Arne.Schober Change 3370704 on 2017/03/29 by Rolando.Caloca DR - Rewrote GPU Skin Cache - Per section buffers - Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB) Copied from 3370529 Change 3371389 on 2017/03/30 by Richard.Wallis Remove temp working directories after archive packages built. Change 3371641 on 2017/03/30 by Rolando.Caloca DR - Copy 3371640 (fix mem leak) Change 3372436 on 2017/03/30 by Uriel.Doyon Added flags in UPrimitiveComponent to keep track of its state in the streaming manager. This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic. Removed the limitation of only processing UMeshComponent when handling spawed primitive. This releases the level manager from having to manage dynamic primitives. This improves performance by not having to manage dynamic references in the level manager. Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling many cases automatically where previously a manual callback to notify would have been required. Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state because of lack of references in the streamer. Change 3372740 on 2017/03/30 by Chris.Bunner [Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute). StencilSceneTexture added to deferred list. A few known issues to be fixed in a follow-up CL. Change 3372765 on 2017/03/30 by Uriel.Doyon Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update Change 3372979 on 2017/03/30 by Richard.Hinckley #jira UE-43501 The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects. Change 3373053 on 2017/03/30 by Simon.Tourangeau LPV Fade support - mostly integrated from CL 2959511 Change 3373272 on 2017/03/30 by Uriel.Doyon Added support for the concurrent update of dynamic primitives by the streaming manager. Change 3373450 on 2017/03/30 by Rolando.Caloca DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory Copy 3373364 #jira UE-43492 Change 3373470 on 2017/03/30 by Marcus.Wassmer Nvidia Aftermath support Change 3374187 on 2017/03/31 by Chris.Bunner Volume texture support for CombineLUTs/Tonemap compute pass. Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS. Skip compute post process out-of-bounds writes. Unsigned type conversion fixes. Trimmed compute post process shader inputs. Change 3374233 on 2017/03/31 by Chris.Bunner Removed several redundant post process compute fences and resource transitions. Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch). Change 3374412 on 2017/03/31 by Rolando.Caloca DR - Fix static analysis Change 3374544 on 2017/03/31 by Richard.Wallis FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library. Future Work - This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver. - Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state - This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock Change 3374588 on 2017/03/31 by Richard.Wallis Windows Compile Fixes Change 3374810 on 2017/03/31 by Benjamin.Hyder updating recommended GPU drivers Change 3375207 on 2017/03/31 by Rolando.Caloca DR - vk - Fixed swapchain format selection for some Linux platforms Change 3375248 on 2017/03/31 by Rolando.Caloca DR - vk - Prefer D32S8 Change 3375495 on 2017/03/31 by Rolando.Caloca DR - vk - Update to sdk 1.0.42.2 Change 3375496 on 2017/03/31 by Rolando.Caloca DR - Force compiling with updated Vulkan SDK Change 3375636 on 2017/03/31 by Mark.Satterthwaite Copying Metal improvements from task stream, with some modifications: - Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts. - Support for Apple's Instruments "Points of Interest" tool. - Consolidation of some Mac & iOS compiler, memory and thread handling code. - Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects. - Improvements to the internal FMetalDebug layer, still off by default. - Limited support for Xcode automatic code-signing for iOS/tvOS. - Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals. - Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing. - Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types. - Smattering of lesser fixes. Change 3375654 on 2017/03/31 by Mark.Satterthwaite Incremental Windows build fix. Change 3375656 on 2017/04/01 by Mark.Satterthwaite Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...). Change 3375797 on 2017/04/01 by Mark.Satterthwaite Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds... Change 3375798 on 2017/04/01 by Mark.Satterthwaite Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream. Change 3375835 on 2017/04/01 by Mark.Satterthwaite Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly. Change 3376143 on 2017/04/02 by Mark.Satterthwaite Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system. Change 3376324 on 2017/04/03 by Chris.Bunner Fixed cvar re-registration log spam and flagged a testing-only cvar as such. Change 3376726 on 2017/04/03 by Benjamin.Hyder Submitting initial HDR test map (WIP) Change 3376756 on 2017/04/03 by Guillaume.Abadie Fixes scene captures ordering's backward compatibility. Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor. Change 3377378 on 2017/04/03 by Arne.Schober DR - Fix ShaderRecompiling over and over again #RB Chris.Bunner Change 3377512 on 2017/04/03 by Daniel.Wright [Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events Change 3377518 on 2017/04/03 by Daniel.Wright [Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12 Change 3377526 on 2017/04/03 by Daniel.Wright [Copy] "Ran out of GPU queries!" log only happens once Change 3377535 on 2017/04/03 by Daniel.Wright [Copy] Fixed unreferenced local variable Change 3377539 on 2017/04/03 by Daniel.Wright [Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages Change 3377546 on 2017/04/03 by Daniel.Wright [Copy] Added r.LightMaxDrawDistanceScale for local light scalability Change 3377553 on 2017/04/03 by Daniel.Wright [Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path Change 3377560 on 2017/04/03 by Daniel.Wright [Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes Change 3377565 on 2017/04/03 by Daniel.Wright [Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false) Change 3377572 on 2017/04/03 by Daniel.Wright [Copy] Disabled point / spot lights with MaxDrawDistance on LowPC Change 3377586 on 2017/04/03 by Daniel.Wright Fixed compile error Change 3377699 on 2017/04/03 by David.Hill FFT Code. Moved over from raven and refactored #review-3374589 @guillaume.abadie Change 3377910 on 2017/04/03 by David.Hill GPU FFT: Fix Linux Build adding a missing template<> to an IMPLEMENT_SHADER_TYPE Change 3378751 on 2017/04/04 by Marcus.Wassmer HQ particle lights now spawn attached to the same socket as their parent module. Change 3378819 on 2017/04/04 by Richard.Wallis Should be no need to protect shader cache against RHI thread now. Change 3378823 on 2017/04/04 by Richard.Wallis FRHIShaderLibrary Opaque Type - Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library. - Assumed that only Native libraries will end up in the RHICreate*Shader functions. - ShaderCache and ShaderCode Libraries now inherit from a common factory interface. Change 3378883 on 2017/04/04 by Arne.Schober DR - Fix DCC build Change 3378885 on 2017/04/04 by Richard.Wallis Metal resource cast compile fix post merge. Change 3378946 on 2017/04/04 by Chris.Bunner SM4 assert fix. Change 3378953 on 2017/04/04 by Chris.Bunner Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users. Allowed material nodes to opt out of mask-based pin coloration. #tests Compiled most Paragon materials + QAGame test maps. #jira UE-39885 Change 3379189 on 2017/04/04 by Arne.Schober DR - Fix aftermath staging Change 3379229 on 2017/04/04 by Arne.Schober DR - Fix missing include Change 3379374 on 2017/04/04 by Mark.Satterthwaite Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream. Change 3379505 on 2017/04/04 by Rolando.Caloca DR - Fix mismatched interpolators Change 3379539 on 2017/04/04 by Mark.Satterthwaite No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right... #jira UE-43626 Change 3379561 on 2017/04/04 by Rolando.Caloca DR - Fix root signature issues on D3D12 PC Change 3379590 on 2017/04/04 by Mark.Satterthwaite Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture. #jira UE-43626 Change 3379917 on 2017/04/04 by Uriel.Doyon Fix to input mismatch Change 3380578 on 2017/04/05 by Chris.Bunner Shader type fixes. #jira UE-43652 Change 3380639 on 2017/04/05 by Rolando.Caloca DR - Expose GetOrCreate PSO and document Change 3380821 on 2017/04/05 by Guillaume.Abadie Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures() #jira UE-43642 Change 3381092 on 2017/04/05 by Guillaume.Abadie Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting. This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations. Change 3381300 on 2017/04/05 by Mark.Satterthwaite Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface. #jira UE-43597 Change 3381359 on 2017/04/05 by Guillaume.Abadie Back out changelist 3381092 Change 3381421 on 2017/04/05 by Mark.Satterthwaite Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions. #jira UE-43689 Change 3381422 on 2017/04/05 by Mark.Satterthwaite Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery. #jira UE-43691 Change 3381503 on 2017/04/05 by Daniel.Wright More intuitive controls for Volumetric Fog * Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction * InscatteringColorCubemap is now supported by Volumetric Fog * Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing * Tweaked GVolumetricFogDepthDistributionScale better for nearby details * Volume Materials have twice the interpolators available Change 3381527 on 2017/04/05 by Mark.Satterthwaite Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements. Change 3381671 on 2017/04/05 by Mark.Satterthwaite Better error message for failure to compile shaders remotely from PC for Metal. Change 3381769 on 2017/04/05 by Rolando.Caloca DR - Added lock texture array 2d on Vulkan Change 3382003 on 2017/04/05 by Mark.Satterthwaite Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended. Change 3382030 on 2017/04/05 by Zachary.Wilson Fix compiling Metal text shaders from PC broken in merge from task stream. #submitter mark.satterthwaite #jira UE-43652 Change 3382880 on 2017/04/06 by Mark.Satterthwaite Michael Trepka's CL #3379927: VolumetricFogVoxelization implementation for Mac Change 3383315 on 2017/04/06 by Mark.Satterthwaite Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory. #jira UE-43739 Change 3384639 on 2017/04/07 by Marcus.Wassmer Move ShaderResource version bump to RenderingObjectVersion Change 3384704 on 2017/04/07 by Mark.Satterthwaite Compile fix for merge. Change 3384933 on 2017/04/07 by Rolando.Caloca DR - Fix skin cache crash with BP (copy 3384714) Change 3385104 on 2017/04/07 by Mark.Satterthwaite Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity. #jira UE-43783 Change 3385105 on 2017/04/07 by Mark.Satterthwaite Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783 #jira UE-43783 Change 3385118 on 2017/04/07 by Arne.Schober DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled #RB none Change 3385149 on 2017/04/07 by Marcus.Wassmer Fix skincache motion blur Change 3385189 on 2017/04/07 by Rolando.Caloca DR - Fix swapchain format for editor on Vulkan Change 3385287 on 2017/04/07 by Mark.Satterthwaite Enable SM5 on Intel as of 10.12.4 and later. Change 3385347 on 2017/04/07 by Rolando.Caloca DR - Temp fix for GL4 corruption on editor #jira UE-43785 Change 3385363 on 2017/04/07 by Rolando.Caloca DR - Actually fix all win platforms for GL bug #jira UE-43785 Change 3385557 on 2017/04/07 by Arne.Schober DR - [UE-43205] - Fix mesh paint #RB none Change 3385608 on 2017/04/07 by Daniel.Wright Fixed SampleCmp being used on a non-depth texture, causing a d3d error Change 3385980 on 2017/04/10 by Rolando.Caloca DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture Change 3386042 on 2017/04/10 by Rolando.Caloca DR - Fix metal merge issue Change 3386157 on 2017/04/10 by Rolando.Caloca DR - Remove VS2013 libs generation off hlslcc & glslang (to match main) Change 3386356 on 2017/04/10 by Chris.Bunner Resolving merge errors. Change 3386414 on 2017/04/10 by Chris.Bunner Resolved merge issue in RendererScene.cpp. Change 3386700 on 2017/04/10 by Mark.Satterthwaite Silence documentation warnings. Change 3387178 on 2017/04/10 by Chris.Bunner Removed invalid mask correction on MakeMA material nodes. Change 3388177 on 2017/04/11 by Marcus.Wassmer Disable ensure that is no longer relevant now that we bind clear colors on texture creation Change 3388261 on 2017/04/11 by Chris.Bunner Static analysis fix. [CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
MaterialFloat PositiveClampedPow(MaterialFloat X,MaterialFloat Y)
{
return pow(max(X,0.0f),Y);
}
MaterialFloat2 PositiveClampedPow(MaterialFloat2 X,MaterialFloat2 Y)
{
return pow(max(X,MaterialFloat2(0.0f,0.0f)),Y);
}
MaterialFloat3 PositiveClampedPow(MaterialFloat3 X,MaterialFloat3 Y)
{
return pow(max(X,MaterialFloat3(0.0f,0.0f,0.0f)),Y);
}
MaterialFloat4 PositiveClampedPow(MaterialFloat4 X,MaterialFloat4 Y)
{
return pow(max(X,MaterialFloat4(0.0f,0.0f,0.0f,0.0f)),Y);
}
float DDX(float Input)
{
#if COMPUTESHADER
return 0;
#else
return ddx(Input);
#endif
}
float2 DDX(float2 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddx(Input);
#endif
}
float3 DDX(float3 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddx(Input);
#endif
}
float4 DDX(float4 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddx(Input);
#endif
}
float DDY(float Input)
{
#if COMPUTESHADER
return 0;
#else
return ddy(Input);
#endif
}
float2 DDY(float2 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddy(Input);
#endif
}
float3 DDY(float3 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddy(Input);
#endif
}
float4 DDY(float4 Input)
{
#if COMPUTESHADER
return 0;
#else
return ddy(Input);
#endif
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
#include "FastMath.usf"
#include "Random.usf" // used by MaterialExpressionNoise
/**
* Use this function to compute the pow() in the specular computation.
* This allows to change the implementation depending on platform or it easily can be replaced by some approxmation.
*/
MaterialFloat PhongShadingPow(MaterialFloat X, MaterialFloat Y)
{
// The following clamping is done to prevent NaN being the result of the specular power computation.
// Clamping has a minor performance cost.
// In HLSL pow(a, b) is implemented as exp2(log2(a) * b).
// For a=0 this becomes exp2(-inf * 0) = exp2(NaN) = NaN.
// As seen in #TTP 160394 "QA Regression: PS3: Some maps have black pixelated artifacting."
// this can cause severe image artifacts (problem was caused by specular power of 0, lightshafts propagated this to other pixels).
// The problem appeared on PlayStation 3 but can also happen on similar PC NVidia hardware.
// In order to avoid platform differences and rarely occuring image atrifacts we clamp the base.
// Note: Clamping the exponent seemed to fix the issue mentioned TTP but we decided to fix the root and accept the
// minor performance cost.
return ClampedPow(X, Y);
}
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
#if FEATURE_LEVEL < FEATURE_LEVEL_ES3_1 && !COMPILER_METAL
// DX11 (feature levels >= 10) feature sets natively supports uints in shaders; we just use floats on other platforms.
#define uint4 int4
#endif
// Optional VertexID - used by tessellation to uniquely identify control points.
#if USING_TESSELLATION && DISPLACEMENT_ANTICRACK
#define OPTIONAL_VertexID uint VertexID : SV_VertexID,
#define OPTIONAL_VertexID_PARAM VertexID,
#define OPTIONAL_VertexID_VS_To_DS uint VertexID : VS_To_DS_VertexID;
#define OutputVertexID( Out ) Out.VertexID = VertexID
#else // #if USING_TESSELLATION && DISPLACEMENT_ANTICRACK
#define OPTIONAL_VertexID
#define OPTIONAL_VertexID_PARAM
#define OPTIONAL_VertexID_VS_To_DS
#define OutputVertexID( Out )
#endif // #if USING_TESSELLATION && DISPLACEMENT_ANTICRACK
// Helper macro used to interpolate the given member
#define TESSELLATION_INTERPOLATE_MEMBER(member) O.member = a.member * aInterp + b.member * bInterp
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4
/**
* Number of MSAA samples supported by deferred passes in D3D11.
* This is hardcoded because it allows deferred passes to optimize for the given value (for example, unrolling a loop).
*/
#define NumMSAASamples 4
#endif
// depth in the red channel in DeviceZ
Texture2D SceneDepthTexture;
SamplerState SceneDepthTextureSampler;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3155909) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3118534 on 2016/09/08 by Steve.Cano Certain non-looping SFX would not properly fire "Stop" events when the effect was finished, and therefore Sound Mixes that should end at the end of a SFX (such as ducking the BGM volume) were not properly finishing. Fixing the IsSourceFinished call to check the Position of the player to determine if we are actually done playing, which was not working properly before for PCM sounds. #jira UE-35016 #ue4 #android Change 3119125 on 2016/09/09 by Dmitriy.Dyomin Mobile launcher profile wizard: Fixed case where DLC will not be built if user selects non Development build configuration Fixed case where project maps will be empty if UE4 and project located on different drives Change 3122584 on 2016/09/13 by Allan.Bentham Add simple clip plane for planar reflections. #jira UE-32449 Change 3129390 on 2016/09/16 by Chris.Babcock Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3129867 on 2016/09/18 by Jack.Porter Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3131961 on 2016/09/20 by Allan.Bentham Fix missing editor widgets and gamma incorrectness when mobileHDR == false. Fix editor widget rendering when hdr encoding is active. #jira UE-34281 Change 3132717 on 2016/09/20 by Chris.Babcock Add $S(ProjectDir) to UPL #jira UE-35483 #ue4 Change 3132940 on 2016/09/20 by Chris.Babcock Corrected case for some include files (contributed by Yukariin) #jira UE-33816 #PR #2636 #ue4 #android Change 3134098 on 2016/09/21 by Allan.Bentham Mobile CSM shadow quality controllable via quality levels. #jira UEMOB-74 Change 3134931 on 2016/09/21 by Chris.Babcock Allow Windows types in vulkan.h #jira UE-36270 #ue4 #vulkan Change 3135380 on 2016/09/21 by Dmitriy.Dyomin Plugin which exposes some of BuildPatchServices functionality to BP. Inteded to be used on mobile platforms for donwloading game content. Right now misses: IOS download directory and iOS WiFi detection #jira UEMOB-157 Change 3136004 on 2016/09/22 by Allan.Bentham Add project option to disable vertex fog on mobile. Vertex fog is now enabled even when mobile HDR is not. #jira UEMOB-148 Change 3137377 on 2016/09/22 by Dmitriy.Dyomin Fix compile error from CL# 3135380 Change 3139571 on 2016/09/26 by Jack.Porter Applied deferred change CL 3101462 to mobile to make planar reflections no longer update GPU particles Change 3139663 on 2016/09/26 by Jack.Porter Include Android shader cache files when packaging Change 3142839 on 2016/09/28 by Dmitriy.Dyomin Added WiFi connection detection on iOS Change 3142845 on 2016/09/28 by Jack.Porter Fixed various issues with TcpMessageTransport discovered when transferring automation testing screenshots from mobile devices - socket not readable or writable is not an error condition if output buffer is full - messages were previously limited to 64kb but screenshots overflowed this - messages over 8kb were not reliably received as the inbound buffer was full so the available bytes was always less than the message length - sending large messages was not reliable due to the output buffer being full Change 3143280 on 2016/09/28 by Jack.Porter Clear out UnbuiltInstanceBoundsList when async building a tree with no instances Change 3143282 on 2016/09/28 by Jack.Porter Fix issue where client functional tests in the current map do not appear on clients running with cooked content. Problem is that the AssetRegistry uses in-memory metadata created on load for currently-loaded assets, but cooked content only has the serialized AssetRegistry and individual assets do not contain any metadata. Change 3143808 on 2016/09/28 by Steve.Cano Assume that the app starts in focus at startup and don't wait for an "APP_EVENT_STATE_WINDOW_GAINED_FOCUS" event to fire, as this event will not come down from SplashActivity since it is not a NativeActivity. If the user then rotates the device in Sensor or FullSensor orientation during SplashActivity and forces an eglSurface recreation, the initial Create will properly execute if we're "in focus". Previously, the create-destroy-create cycle would not properly execute due to the EventManager thinking the app was not yet in focus, and would cause the second create to get a 0x3003 error (EGL_BAD_ALLOC) #jira UE-35004 #ue4 #android Change 3144880 on 2016/09/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3146220 on 2016/09/30 by Dmitriy.Dyomin Adjusted device button style to make it more readable. #jira UE-21881 Change 3146280 on 2016/09/30 by Dmitriy.Dyomin Replaced IBuildManifest::ComputeDownloadSize with a new function Change 3146302 on 2016/09/30 by Allan.Bentham Added more stringent checks for ES3.1 compatibility #jira UE-36241 Change 3146435 on 2016/09/30 by Jack.Porter Prevent landscape grass being duplicated for PIE, causing ensure #jira UE-36531 Change 3147532 on 2016/09/30 by Chris.Babcock Use .sh extension for Android install scripts on Linux #jira UE-36669 #ue4 #android #linux Change 3149851 on 2016/10/04 by Dmitriy.Dyomin Mobile: Added custom depth rendering Mobile: Added support for CustomDepth and SceneDepth in post-process materails Change 3149852 on 2016/10/04 by Dmitriy.Dyomin Fixed comments for SortBasePass console variable Change 3149857 on 2016/10/04 by Jack.Porter Remove dead code in ProceduralFoliageComponentDetails.cpp Change 3149863 on 2016/10/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3149896 on 2016/10/04 by Dmitriy.Dyomin Fixed: SkyLight makes level entire green on Android devices #jira UE-34469 Change 3150102 on 2016/10/04 by Jack.Porter Bring Protostar 4.13 fixes back to Dev-Mobile Engine - MaxDescriptorSets = 16384 to prevent crash on Mali - Include texture formats in FRenderTargetLayoutHashableStruct to solve RT aliasing issue - Use ERenderTargetLoadAction::EClear for planar reflection target to work around Adreno issue - Default Adreno to SPIR-V Contents - Disable fog, reduce CSM shadow quality, fix device profiles - Add PSO cache Change 3150113 on 2016/10/04 by Jack.Porter Ensure automation testing screenshots have Alpha=255 (fixes automation screenshots on Mobile) Change 3150231 on 2016/10/04 by Jack.Porter Use a new SessionID GUID each time you use the launcher to launch a session. Change 3150608 on 2016/10/04 by Jack.Porter Changes for automated testing screenshots on Android. - Prevent automation screenshots from changing resolution on platforms with fixed resolution - Set GRHIAdapterInternalDriverVersion for OpenGL and Vulkan - Parse ImgTec/ARM/Qualcomm GRHIVendorId on OpenGL - Added helper to convert GRHIVendorId to string Change 3151318 on 2016/10/04 by Jack.Porter Fixed compile error with AdapterVendor Change 3151366 on 2016/10/04 by Jack.Porter Prevent FTcpMessageTransportConnection deadlock on device disconnect Change 3151397 on 2016/10/05 by Dmitriy.Dyomin More consistent BP categories for Mobile Patching utils Change 3151576 on 2016/10/05 by Dmitriy.Dyomin Added on screen warning for invalid reflection captures, can be seen only in game running with FeatureLevel < SM4 and no valid capture data Change 3151795 on 2016/10/05 by Dmitry.Rekman Linux: update UBT to use a v8 multiarch toolchain. - Also added toolchain build scripts and ct-ng configs. Change 3151966 on 2016/10/05 by Allan.Bentham Add mobile support for inverse opacity to mobile scene captures as well as SCS_SceneColorSceneDepth and SCS_SceneDepth. #jira UEMOB-106 Change 3152664 on 2016/10/05 by Chris.Babcock Merging //UE4/Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3152675 on 2016/10/05 by Will.Fissler Fixed patching so that it searches for pak files as well as pkg files. #test Patch for QAGame Change 3152728 on 2016/10/05 by Chris.Babcock Update ReflectionCaptureDDCVer (need to resave maps) Change 3152910 on 2016/10/05 by Dmitry.Rekman Linux: Fix toolchain for non-AutoSDKs (github) case (UE-36899). Change 3152966 on 2016/10/05 by Dmitry.Rekman Linux: Fix test for the installed SDK (UE-36899). Change 3153004 on 2016/10/05 by Dmitry.Rekman Linux: fix CIS (UT server case-sens errors). Change 3153694 on 2016/10/06 by Jack.Porter Rollback ReflectionCaptureDDCVer change as bug intended to fix UE-36919 does not repro Change 3154766 on 2016/10/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3154833 on 2016/10/07 by Jack.Porter Fix merge error of MobileShadingRenderer.cpp Change 3154848 on 2016/10/07 by Allan.Bentham Fix mobile scene capture's clear code Change 3154875 on 2016/10/07 by Allan.Bentham fix vk build issues Change 3154941 on 2016/10/07 by Allan.Bentham Fix gearvr build fail Change 3154950 on 2016/10/07 by Allan.Bentham Fix shadowed local variable vk build warning on android. Change 3155909 on 2016/10/07 by Ben.Marsh UBT: Attempt to work around C1076 error ("internal heap limit reached: use /Zm to specify a higher limit"), encountered when building with XGE. Specify the AutoReserveMemory attribute on XGE tool tasks that manipulate precompiled headers. [CL 3155988 by Chris Babcock in Main branch]
2016-10-07 23:11:00 -04:00
Texture2D CustomDepthTexture;
SamplerState CustomDepthTextureSampler;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
// Custom Stencil texture used for mobile platforms
Texture2D MobileCustomStencilTexture;
SamplerState MobileCustomStencilTextureSampler;
// scene HDR color
Texture2D SceneColorTexture;
SamplerState SceneColorTextureSampler;
// copy of scene alpha for PC ES2 emulation
Texture2D SceneAlphaCopyTexture;
SamplerState SceneAlphaCopyTextureSampler;
// shadow and light function
Texture2D LightAttenuationTexture;
SamplerState LightAttenuationTextureSampler;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3358140 on 2017/03/22 by Rolando.Caloca DR - Fix copy to cube face - Compile fix when using dump layer - Add new error enum Change 3358301 on 2017/03/22 by Mitchell.Wilson Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section. Change 3358477 on 2017/03/22 by Mitchell.Wilson Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning. Change 3358529 on 2017/03/22 by Mark.Satterthwaite Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code. Change 3358745 on 2017/03/22 by Mark.Satterthwaite Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected. Change 3358837 on 2017/03/22 by Joe.Graf Merge of pull request #3214 for the RenderDocPlugin #CodeReview: matt.kuhlenschmidt, marcus.wassmer #rb: marcus.wassmer Change 3359112 on 2017/03/22 by Ben.Salem Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined. #tests Ran several Showdown test runs with plugin! Change 3359363 on 2017/03/22 by Joe.Graf First pass at non-unity & no pch compilation Change 3359449 on 2017/03/22 by Joe.Graf Added missing null check when exporting a EXR on Linux (UE-40268) #CodeReview: dmitry.rekman #rb: n/a Change 3360349 on 2017/03/23 by Guillaume.Abadie Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts. #jira UE-42920 Change 3360405 on 2017/03/23 by Marcus.Wassmer Better method for detecting Kepler Change 3360718 on 2017/03/23 by Daniel.Wright Planar reflections handle views smaller than the render target in a general way * Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined) * Planar reflections are now supported in splitscreen Change 3360758 on 2017/03/23 by Daniel.Wright [Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead Change 3360762 on 2017/03/23 by Daniel.Wright [Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool Change 3360768 on 2017/03/23 by Daniel.Wright [Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram Change 3360770 on 2017/03/23 by Daniel.Wright [Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox Change 3360771 on 2017/03/23 by Daniel.Wright [Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light. Change 3360774 on 2017/03/23 by Daniel.Wright [Copy] Distance field cvar comments Change 3360782 on 2017/03/23 by Daniel.Wright [Copy] Disabled selection color on Volume materials Change 3360795 on 2017/03/23 by Daniel.Wright [Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density. Change 3360799 on 2017/03/23 by Daniel.Wright [Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y Change 3360806 on 2017/03/23 by Daniel.Wright [Copy] Fixed volumetric fog being offset when viewport min is not 0 Change 3360809 on 2017/03/23 by Daniel.Wright [Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale. Change 3361651 on 2017/03/23 by Brian.Karis Higher quality sharp SSR at quality 4 Change 3361678 on 2017/03/23 by Brian.Karis Fresnel darkens diffuse for clearcoat. Change 3361683 on 2017/03/23 by Brian.Karis Fixed SSR artifact Change 3361691 on 2017/03/23 by Brian.Karis Chagned min roughness limit Change 3361707 on 2017/03/23 by Brian.Karis Added inverse film tone map Change 3361726 on 2017/03/23 by Brian.Karis Better precision inverse Change 3361758 on 2017/03/23 by Brian.Karis Material flag normal curvature to roughness is no longer forward only. Change 3361765 on 2017/03/23 by Brian.Karis Update ACES Change 3361774 on 2017/03/23 by Brian.Karis Cleaned up alpha support and disabled screen edge clipping. Change 3362478 on 2017/03/24 by Guillaume.Abadie Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output. #author Brian.Karis #jira UE-42920 Change 3362738 on 2017/03/24 by Rolando.Caloca DR - Hide scene capture on IF Change 3362890 on 2017/03/24 by Guillaume.Abadie Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha Change 3363665 on 2017/03/24 by Mark.Satterthwaite PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous) Change 3363866 on 2017/03/24 by Arne.Schober DR - Updated NVAPI #RB Marcus.Wassmer Change 3364300 on 2017/03/24 by Brian.Karis SSR use dynamic velocity Change 3364372 on 2017/03/24 by Brian.Karis Fix changing off axis projection velocities. Change 3364373 on 2017/03/24 by Brian.Karis Enabled velocity drawing in scene captures Change 3365531 on 2017/03/27 by Guillaume.Abadie Computes the material's screen position material expression directly from the pixel shader SvPosition Change 3365764 on 2017/03/27 by Chris.Bunner Lowering severity of crash for missing values in scalability.ini. #jira UE-41331 Change 3365916 on 2017/03/27 by Guillaume.Abadie Exposes the viewport offset within the view property material expression Change 3365979 on 2017/03/27 by Brian.Karis Fixed skylight intensity from double applying Change 3365987 on 2017/03/27 by Brian.Karis Stopped post process indirect lighting intensity from scaling skylight reflections Change 3365991 on 2017/03/27 by Brian.Karis Fix for static analysis Change 3366028 on 2017/03/27 by Daniel.Wright Volumetric fog supports static shadowing from Stationary lights * Using bilinear on static shadowmap depths + 1 PCF to smooth out results Change 3366029 on 2017/03/27 by Daniel.Wright Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog Change 3366055 on 2017/03/27 by Guillaume.Abadie Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies. Change 3366447 on 2017/03/27 by Simon.Tourangeau Fix IES light profile importer. - Bug in the LM-63-1986 format importer. Change 3366836 on 2017/03/27 by Brian.Karis ClearUAV now supports int types Change 3367435 on 2017/03/28 by Benjamin.Hyder Submitting Decal Automation map for initial approval Change 3367572 on 2017/03/28 by Chris.Bunner Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs. #jira UE-42989 Change 3367756 on 2017/03/28 by Olaf.Piesche Niagara material usage flags Change 3367835 on 2017/03/28 by Marcus.Wassmer Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene. Change 3367837 on 2017/03/28 by Marcus.Wassmer Missed a file. Change 3367838 on 2017/03/28 by Richard.Wallis Updated items from original shelved version by Mark Satt: - Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's **Description below taken from Mark Satt's original verison of this in CL3343280** Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries. Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently. - All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work. - With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary. - For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping. - File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic. - This bumps the object version and will cause all content to recook. - Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller). Change 3367854 on 2017/03/28 by Mark.Satterthwaite Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be. Change 3367877 on 2017/03/28 by Brian.Karis Fixed linux build hopefully Change 3368001 on 2017/03/28 by Mark.Satterthwaite Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves. Change 3368019 on 2017/03/28 by Mark.Satterthwaite And another fix for Windows compilation of MetalShaderFormat. Change 3368042 on 2017/03/28 by Mark.Satterthwaite And a couple of simpler MSVC errors. Change 3368271 on 2017/03/28 by Mark.Satterthwaite Make SceneRenderTargets compile again. Change 3368691 on 2017/03/28 by Daniel.Wright [Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis Change 3369689 on 2017/03/29 by Marcus.Wassmer Fix non editor compile for now Change 3369862 on 2017/03/29 by Marcus.Wassmer Get the rest of the things compiling again. Change 3369896 on 2017/03/29 by Chris.Bunner Enabling AMD HDR support by default. #jira UE-42113 Change 3370535 on 2017/03/29 by Marcus.Wassmer DR - Fix template explicit instantiation for ClearUAV permutations #RB Brian.Karis, Arne.Schober Change 3370704 on 2017/03/29 by Rolando.Caloca DR - Rewrote GPU Skin Cache - Per section buffers - Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB) Copied from 3370529 Change 3371389 on 2017/03/30 by Richard.Wallis Remove temp working directories after archive packages built. Change 3371641 on 2017/03/30 by Rolando.Caloca DR - Copy 3371640 (fix mem leak) Change 3372436 on 2017/03/30 by Uriel.Doyon Added flags in UPrimitiveComponent to keep track of its state in the streaming manager. This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic. Removed the limitation of only processing UMeshComponent when handling spawed primitive. This releases the level manager from having to manage dynamic primitives. This improves performance by not having to manage dynamic references in the level manager. Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling many cases automatically where previously a manual callback to notify would have been required. Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state because of lack of references in the streamer. Change 3372740 on 2017/03/30 by Chris.Bunner [Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute). StencilSceneTexture added to deferred list. A few known issues to be fixed in a follow-up CL. Change 3372765 on 2017/03/30 by Uriel.Doyon Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update Change 3372979 on 2017/03/30 by Richard.Hinckley #jira UE-43501 The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects. Change 3373053 on 2017/03/30 by Simon.Tourangeau LPV Fade support - mostly integrated from CL 2959511 Change 3373272 on 2017/03/30 by Uriel.Doyon Added support for the concurrent update of dynamic primitives by the streaming manager. Change 3373450 on 2017/03/30 by Rolando.Caloca DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory Copy 3373364 #jira UE-43492 Change 3373470 on 2017/03/30 by Marcus.Wassmer Nvidia Aftermath support Change 3374187 on 2017/03/31 by Chris.Bunner Volume texture support for CombineLUTs/Tonemap compute pass. Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS. Skip compute post process out-of-bounds writes. Unsigned type conversion fixes. Trimmed compute post process shader inputs. Change 3374233 on 2017/03/31 by Chris.Bunner Removed several redundant post process compute fences and resource transitions. Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch). Change 3374412 on 2017/03/31 by Rolando.Caloca DR - Fix static analysis Change 3374544 on 2017/03/31 by Richard.Wallis FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library. Future Work - This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver. - Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state - This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock Change 3374588 on 2017/03/31 by Richard.Wallis Windows Compile Fixes Change 3374810 on 2017/03/31 by Benjamin.Hyder updating recommended GPU drivers Change 3375207 on 2017/03/31 by Rolando.Caloca DR - vk - Fixed swapchain format selection for some Linux platforms Change 3375248 on 2017/03/31 by Rolando.Caloca DR - vk - Prefer D32S8 Change 3375495 on 2017/03/31 by Rolando.Caloca DR - vk - Update to sdk 1.0.42.2 Change 3375496 on 2017/03/31 by Rolando.Caloca DR - Force compiling with updated Vulkan SDK Change 3375636 on 2017/03/31 by Mark.Satterthwaite Copying Metal improvements from task stream, with some modifications: - Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts. - Support for Apple's Instruments "Points of Interest" tool. - Consolidation of some Mac & iOS compiler, memory and thread handling code. - Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects. - Improvements to the internal FMetalDebug layer, still off by default. - Limited support for Xcode automatic code-signing for iOS/tvOS. - Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals. - Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing. - Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types. - Smattering of lesser fixes. Change 3375654 on 2017/03/31 by Mark.Satterthwaite Incremental Windows build fix. Change 3375656 on 2017/04/01 by Mark.Satterthwaite Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...). Change 3375797 on 2017/04/01 by Mark.Satterthwaite Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds... Change 3375798 on 2017/04/01 by Mark.Satterthwaite Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream. Change 3375835 on 2017/04/01 by Mark.Satterthwaite Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly. Change 3376143 on 2017/04/02 by Mark.Satterthwaite Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system. Change 3376324 on 2017/04/03 by Chris.Bunner Fixed cvar re-registration log spam and flagged a testing-only cvar as such. Change 3376726 on 2017/04/03 by Benjamin.Hyder Submitting initial HDR test map (WIP) Change 3376756 on 2017/04/03 by Guillaume.Abadie Fixes scene captures ordering's backward compatibility. Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor. Change 3377378 on 2017/04/03 by Arne.Schober DR - Fix ShaderRecompiling over and over again #RB Chris.Bunner Change 3377512 on 2017/04/03 by Daniel.Wright [Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events Change 3377518 on 2017/04/03 by Daniel.Wright [Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12 Change 3377526 on 2017/04/03 by Daniel.Wright [Copy] "Ran out of GPU queries!" log only happens once Change 3377535 on 2017/04/03 by Daniel.Wright [Copy] Fixed unreferenced local variable Change 3377539 on 2017/04/03 by Daniel.Wright [Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages Change 3377546 on 2017/04/03 by Daniel.Wright [Copy] Added r.LightMaxDrawDistanceScale for local light scalability Change 3377553 on 2017/04/03 by Daniel.Wright [Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path Change 3377560 on 2017/04/03 by Daniel.Wright [Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes Change 3377565 on 2017/04/03 by Daniel.Wright [Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false) Change 3377572 on 2017/04/03 by Daniel.Wright [Copy] Disabled point / spot lights with MaxDrawDistance on LowPC Change 3377586 on 2017/04/03 by Daniel.Wright Fixed compile error Change 3377699 on 2017/04/03 by David.Hill FFT Code. Moved over from raven and refactored #review-3374589 @guillaume.abadie Change 3377910 on 2017/04/03 by David.Hill GPU FFT: Fix Linux Build adding a missing template<> to an IMPLEMENT_SHADER_TYPE Change 3378751 on 2017/04/04 by Marcus.Wassmer HQ particle lights now spawn attached to the same socket as their parent module. Change 3378819 on 2017/04/04 by Richard.Wallis Should be no need to protect shader cache against RHI thread now. Change 3378823 on 2017/04/04 by Richard.Wallis FRHIShaderLibrary Opaque Type - Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library. - Assumed that only Native libraries will end up in the RHICreate*Shader functions. - ShaderCache and ShaderCode Libraries now inherit from a common factory interface. Change 3378883 on 2017/04/04 by Arne.Schober DR - Fix DCC build Change 3378885 on 2017/04/04 by Richard.Wallis Metal resource cast compile fix post merge. Change 3378946 on 2017/04/04 by Chris.Bunner SM4 assert fix. Change 3378953 on 2017/04/04 by Chris.Bunner Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users. Allowed material nodes to opt out of mask-based pin coloration. #tests Compiled most Paragon materials + QAGame test maps. #jira UE-39885 Change 3379189 on 2017/04/04 by Arne.Schober DR - Fix aftermath staging Change 3379229 on 2017/04/04 by Arne.Schober DR - Fix missing include Change 3379374 on 2017/04/04 by Mark.Satterthwaite Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream. Change 3379505 on 2017/04/04 by Rolando.Caloca DR - Fix mismatched interpolators Change 3379539 on 2017/04/04 by Mark.Satterthwaite No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right... #jira UE-43626 Change 3379561 on 2017/04/04 by Rolando.Caloca DR - Fix root signature issues on D3D12 PC Change 3379590 on 2017/04/04 by Mark.Satterthwaite Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture. #jira UE-43626 Change 3379917 on 2017/04/04 by Uriel.Doyon Fix to input mismatch Change 3380578 on 2017/04/05 by Chris.Bunner Shader type fixes. #jira UE-43652 Change 3380639 on 2017/04/05 by Rolando.Caloca DR - Expose GetOrCreate PSO and document Change 3380821 on 2017/04/05 by Guillaume.Abadie Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures() #jira UE-43642 Change 3381092 on 2017/04/05 by Guillaume.Abadie Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting. This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations. Change 3381300 on 2017/04/05 by Mark.Satterthwaite Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface. #jira UE-43597 Change 3381359 on 2017/04/05 by Guillaume.Abadie Back out changelist 3381092 Change 3381421 on 2017/04/05 by Mark.Satterthwaite Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions. #jira UE-43689 Change 3381422 on 2017/04/05 by Mark.Satterthwaite Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery. #jira UE-43691 Change 3381503 on 2017/04/05 by Daniel.Wright More intuitive controls for Volumetric Fog * Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction * InscatteringColorCubemap is now supported by Volumetric Fog * Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing * Tweaked GVolumetricFogDepthDistributionScale better for nearby details * Volume Materials have twice the interpolators available Change 3381527 on 2017/04/05 by Mark.Satterthwaite Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements. Change 3381671 on 2017/04/05 by Mark.Satterthwaite Better error message for failure to compile shaders remotely from PC for Metal. Change 3381769 on 2017/04/05 by Rolando.Caloca DR - Added lock texture array 2d on Vulkan Change 3382003 on 2017/04/05 by Mark.Satterthwaite Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended. Change 3382030 on 2017/04/05 by Zachary.Wilson Fix compiling Metal text shaders from PC broken in merge from task stream. #submitter mark.satterthwaite #jira UE-43652 Change 3382880 on 2017/04/06 by Mark.Satterthwaite Michael Trepka's CL #3379927: VolumetricFogVoxelization implementation for Mac Change 3383315 on 2017/04/06 by Mark.Satterthwaite Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory. #jira UE-43739 Change 3384639 on 2017/04/07 by Marcus.Wassmer Move ShaderResource version bump to RenderingObjectVersion Change 3384704 on 2017/04/07 by Mark.Satterthwaite Compile fix for merge. Change 3384933 on 2017/04/07 by Rolando.Caloca DR - Fix skin cache crash with BP (copy 3384714) Change 3385104 on 2017/04/07 by Mark.Satterthwaite Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity. #jira UE-43783 Change 3385105 on 2017/04/07 by Mark.Satterthwaite Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783 #jira UE-43783 Change 3385118 on 2017/04/07 by Arne.Schober DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled #RB none Change 3385149 on 2017/04/07 by Marcus.Wassmer Fix skincache motion blur Change 3385189 on 2017/04/07 by Rolando.Caloca DR - Fix swapchain format for editor on Vulkan Change 3385287 on 2017/04/07 by Mark.Satterthwaite Enable SM5 on Intel as of 10.12.4 and later. Change 3385347 on 2017/04/07 by Rolando.Caloca DR - Temp fix for GL4 corruption on editor #jira UE-43785 Change 3385363 on 2017/04/07 by Rolando.Caloca DR - Actually fix all win platforms for GL bug #jira UE-43785 Change 3385557 on 2017/04/07 by Arne.Schober DR - [UE-43205] - Fix mesh paint #RB none Change 3385608 on 2017/04/07 by Daniel.Wright Fixed SampleCmp being used on a non-depth texture, causing a d3d error Change 3385980 on 2017/04/10 by Rolando.Caloca DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture Change 3386042 on 2017/04/10 by Rolando.Caloca DR - Fix metal merge issue Change 3386157 on 2017/04/10 by Rolando.Caloca DR - Remove VS2013 libs generation off hlslcc & glslang (to match main) Change 3386356 on 2017/04/10 by Chris.Bunner Resolving merge errors. Change 3386414 on 2017/04/10 by Chris.Bunner Resolved merge issue in RendererScene.cpp. Change 3386700 on 2017/04/10 by Mark.Satterthwaite Silence documentation warnings. Change 3387178 on 2017/04/10 by Chris.Bunner Removed invalid mask correction on MakeMA material nodes. Change 3388177 on 2017/04/11 by Marcus.Wassmer Disable ensure that is no longer relevant now that we bind clear colors on texture creation Change 3388261 on 2017/04/11 by Chris.Bunner Static analysis fix. [CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4
// Scene depth-stencil buffer used for stencil reads
Texture2D<uint2> SceneStencilTexture;
#endif
// We don't use an inline function so we can avoid type promotion/ coercion.
#define RETURN_COLOR( Color ) ( Color )
// Tangent space bias
// We don't use a function so we can avoid type promotion/ coercion.
#define TangentBias(X) (X * 2.0f - 1.0f)
float Square( float x )
{
return x*x;
}
float2 Square( float2 x )
{
return x*x;
}
float3 Square( float3 x )
{
return x*x;
}
float4 Square( float4 x )
{
return x*x;
}
float Pow2( float x )
{
return x*x;
}
float2 Pow2( float2 x )
{
return x*x;
}
float3 Pow2( float3 x )
{
return x*x;
}
float4 Pow2( float4 x )
{
return x*x;
}
float Pow3( float x )
{
return x*x*x;
}
float2 Pow3( float2 x )
{
return x*x*x;
}
float3 Pow3( float3 x )
{
return x*x*x;
}
float4 Pow3( float4 x )
{
return x*x*x;
}
float Pow4( float x )
{
float xx = x*x;
return xx * xx;
}
float2 Pow4( float2 x )
{
float2 xx = x*x;
return xx * xx;
}
float3 Pow4( float3 x )
{
float3 xx = x*x;
return xx * xx;
}
float4 Pow4( float4 x )
{
float4 xx = x*x;
return xx * xx;
}
float Pow5( float x )
{
float xx = x*x;
return xx * xx * x;
}
float2 Pow5( float2 x )
{
float2 xx = x*x;
return xx * xx * x;
}
float3 Pow5( float3 x )
{
float3 xx = x*x;
return xx * xx * x;
}
float4 Pow5( float4 x )
{
float4 xx = x*x;
return xx * xx * x;
}
float Pow6( float x )
{
float xx = x*x;
return xx * xx * xx;
}
float2 Pow6( float2 x )
{
float2 xx = x*x;
return xx * xx * xx;
}
float3 Pow6( float3 x )
{
float3 xx = x*x;
return xx * xx * xx;
}
float4 Pow6( float4 x )
{
float4 xx = x*x;
return xx * xx * xx;
}
// Only valid for x >= 0
MaterialFloat AtanFast( MaterialFloat x )
{
// Minimax 3 approximation
MaterialFloat3 A = x < 1 ? MaterialFloat3( x, 0, 1 ) : MaterialFloat3( 1/x, 0.5 * PI, -1 );
return A.y + A.z * ( ( ( -0.130234 * A.x - 0.0954105 ) * A.x + 1.00712 ) * A.x - 0.00001203333 );
}
/**
* Returns the upper 3x3 portion of the LocalToWorld matrix.
*/
MaterialFloat3x3 GetLocalToWorld3x3()
{
return (MaterialFloat3x3)Primitive.LocalToWorld;
}
/** Converts a linear input value into a value to be stored in the light attenuation buffer. */
MaterialFloat EncodeLightAttenuation(MaterialFloat InColor)
{
// Apply a 1/2 power to the input, which allocates more bits for the darks and prevents banding
// Similar to storing colors in gamma space, except this uses less instructions than a pow(x, 1/2.2)
return sqrt(InColor);
}
/** Converts a linear input value into a value to be stored in the light attenuation buffer. */
MaterialFloat4 EncodeLightAttenuation(MaterialFloat4 InColor)
{
return sqrt(InColor);
}
/** return the scene lighting texture */
MaterialFloat3 CalcSceneColor(MaterialFloat2 ScreenUV)
{
#if SCENE_TEXTURES_DISABLED
return MaterialFloat3(0.0f,0.0f,0.0f);
#else
return Texture2DSampleLevel(SceneColorTexture, SceneColorTextureSampler, ScreenUV, 0).rgb;
#endif
}
/** return all channels of the scene lighting texture */
MaterialFloat4 CalcFullSceneColor(MaterialFloat2 ScreenUV)
{
#if SCENE_TEXTURES_DISABLED
return MaterialFloat4(0.0f, 0.0f, 0.0f, 0.0f);
#else
Copying //UE4/Fortnite-Staging to //UE4/Main #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2806454 on 2015/12/16 by Bob.Tellez #UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive. #rb Ben.Zeigler #codereview Dmitry.Rekman Change 2805502 on 2015/12/16 by Ben.Zeigler #UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time. As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569 #codereview mike.beach, bob.tellez Change 2805288 on 2015/12/16 by David.Nikdel #HTTP #HttpRetry - Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors. - Changed HTTP retry logic a little bit * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty) * If a response was not received and we did not send a full request, automatically retry * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent) - Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization) * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case. - Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally. * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis #RB: Sam.Zamani #CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro #Fixes: FORT-17804 Change 2803864 on 2015/12/15 by Bob.Tellez #UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server. #rb Dmitry.Rekman #codereview Nick.Darnell Change 2803677 on 2015/12/15 by Billy.Bramer - Expose equality and inequality operators for gameplay attributes #rb Todd.Eckert Change 2802881 on 2015/12/14 by Bob.Tellez #UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting. #rb Phillip.Kavan, Maciej.Mroz #codereview Phillip.Kavan, Maciej.Mroz Change 2801636 on 2015/12/14 by Bob.Tellez #UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages. #codereview Graeme.Thornton Change 2800400 on 2015/12/11 by Jonathan.Lindquist Submitting a new Pivot Painter Edition - now renders to textures - improved workflow - greater capabilities Change 2799579 on 2015/12/11 by John.Abercrombie [AUTOMERGE] Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4 Fixes FORT-18649 - Patrols don't spawn consistently - The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire #rb me (this code was written by MieszkoZ) (removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile) -------- Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11. Change 2799018 on 2015/12/10 by Bob.Tellez #UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag. #rb Fred.Kimberley #codereview Peter.Knepley Change 2798926 on 2015/12/10 by Bob.Tellez #UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture. #jira FORT-18514 #codereview Martin.Mittring Change 2797758 on 2015/12/10 by Mark.Satterthwaite Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal. Change 2781204 on 2015/11/25 by Dmitry.Rekman Linux: use jemalloc by default if available. - Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM. #rb Bob.Tellez #codereview Bob.Tellez, Ben.Zeigler Change 2779398 on 2015/11/24 by Mark.Satterthwaite Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
return Texture2DSample(SceneColorTexture, SceneColorTextureSampler,ScreenUV);
#endif
}
/** Encodes HDR linear scene color for storage in the 8 bit light attenuation texture. */
MaterialFloat3 EncodeSceneColorForMaterialNode(MaterialFloat3 LinearSceneColor)
{
// Preserving a range from [0, 10]
// Remap values to get more bits of precision in the darks
return pow(LinearSceneColor * .1f, .25f);
}
//
// MOBILE WITHOUT FP16 SUPPORT: 8-BIT/CHANNEL MOSAICING FOR LINEAR HDR
//
// This provides linear blending and a {0 to 2} dynamic range.
// This works by splitting the image into a checkerboard of dark and light pixels.
// DLDL
// LDLD
// DLDL
// LDLD
//
// There is an extra scan line dither pattern to increase precision by 1-bit.
// The HdrMosaic() function computes the exposure level per pixel for the forward render pass.
// The HdrDemosaic() function reconstructs the proper image in the tonemapping pass.
//
// These have been carefully tuned and should probably not be adjusted.
// Dark pixel range is {0 to 1/DRK_MUL}.
#define DRK_MUL 6.0
// Support {0 to 2} in dynamic range.
#define HDR_MUL (1.0/2.0)
#define MOSAIC_ADD HDR_MUL
// The blend factor causes a smooth blend between the light and dark pixels.
#define MOSAIC_BLEND ((255.0-(DRK_MUL/HDR_MUL))/255.0)
#define MOSAIC_MUL ((DRK_MUL * MOSAIC_BLEND - MOSAIC_ADD) * 2.0)
// Done during forward shading pass before blending.
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
MaterialFloat3 HdrMosaic(MaterialFloat3 LinearColor, float2 VPos)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
float2 V;
V = VPos.xy * 0.5;
V.y += V.x;
V = frac(V);
MaterialFloat2 C;
C = (V * MaterialFloat2(2.0 * (-0.5/255.0), MOSAIC_MUL)) + MaterialFloat2(-0.5/255.0, MOSAIC_ADD);
return (LinearColor * C.y) + C.x;
}
#define DEMOSAIC_MUL (((1.0/DRK_MUL) - (1.0/HDR_MUL)) * 2.0)
#define DEMOSAIC_ADD (1.0/HDR_MUL)
// Resolve pass to remove mosaic and restore color.
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
MaterialFloat3 HdrDemosaic(MaterialFloat3 Pixel, MaterialFloat3 OtherPixel, float2 VPos)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
MaterialFloat A = frac(dot(VPos + View.DemosaicVposOffset, float2(0.5, 0.5)));
MaterialFloat B = 0.5 - A;
A = A * DEMOSAIC_MUL + DEMOSAIC_ADD;
B = B * DEMOSAIC_MUL + DEMOSAIC_ADD;
// On ES2 devices we demosaic during the tonemapping pass which renders upside down, account for that here.
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#if COMPILER_GLSL_ES2 || COMPILER_GLSL_ES3_1
return max((Pixel * B), (OtherPixel * A));
#else
return max((Pixel * A), (OtherPixel * B));
#endif
}
// Like RGBM but this can be interpolated.
MaterialFloat4 RGBTEncode(MaterialFloat3 Color)
{
MaterialFloat4 RGBT;
MaterialFloat Max = max(max(Color.r, Color.g), max(Color.b, 1e-6));
MaterialFloat RcpMax = rcp(Max);
RGBT.rgb = Color.rgb * RcpMax;
RGBT.a = Max * rcp(1.0 + Max);
return RGBT;
}
MaterialFloat3 RGBTDecode(MaterialFloat4 RGBT)
{
RGBT.a = RGBT.a * rcp(1.0 - RGBT.a);
return RGBT.rgb * RGBT.a;
}
MaterialFloat4 RGBMEncode( MaterialFloat3 Color )
{
Color *= 1.0 / 64.0;
float4 rgbm;
rgbm.a = saturate( max( max( Color.r, Color.g ), max( Color.b, 1e-6 ) ) );
rgbm.a = ceil( rgbm.a * 255.0 ) / 255.0;
rgbm.rgb = Color / rgbm.a;
return rgbm;
}
MaterialFloat4 RGBMEncodeFast( MaterialFloat3 Color )
{
// 0/0 result written to fixed point buffer goes to zero
MaterialFloat4 rgbm;
rgbm.a = dot( Color, 255.0 / 64.0 );
rgbm.a = ceil( rgbm.a );
rgbm.rgb = Color / rgbm.a;
rgbm *= MaterialFloat4( 255.0 / 64.0, 255.0 / 64.0, 255.0 / 64.0, 1.0 / 255.0 );
return rgbm;
}
MaterialFloat3 RGBMDecode( MaterialFloat4 rgbm, MaterialFloat MaxValue )
{
return rgbm.rgb * (rgbm.a * MaxValue);
}
MaterialFloat3 RGBMDecode( MaterialFloat4 rgbm )
{
return rgbm.rgb * (rgbm.a * 64.0f);
}
MaterialFloat4 RGBTEncode8BPC(MaterialFloat3 Color, MaterialFloat Range)
{
MaterialFloat Max = max(max(Color.r, Color.g), max(Color.b, 1e-6));
Max = min(Max, Range);
MaterialFloat4 RGBT;
RGBT.a = (Range + 1) / Range * Max / (1 + Max);
// quantise alpha to 8 bit.
RGBT.a = ceil(RGBT.a*255.0) / 255.0;
Max = RGBT.a / (1 + 1 / Range - RGBT.a);
MaterialFloat RcpMax = rcp(Max);
RGBT.rgb = Color.rgb * RcpMax;
return RGBT;
}
MaterialFloat3 RGBTDecode8BPC(MaterialFloat4 RGBT, MaterialFloat Range)
{
RGBT.a = RGBT.a / (1 + 1 / Range - RGBT.a);
return RGBT.rgb * RGBT.a;
}
#define HDR_ENCODE_NONE 0.0 // 64bpp HDR
#define HDR_ENCODE_MOSAIC 1.0 // 32bpp HDR using Mosaic encoding
#define HDR_ENCODE_RGBA 2.0 // 32bpp HDR using RGBA encoding
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
half GetHDR32bppEncodeMode()
{
#if ES2_PROFILE
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
#if COMPILER_GLSL_ES2 && !IOS && !WEBGL // ANDROID
return intrinsic_GetHDR32bppEncodeModeES2();
#endif
#if MOBILE_EMULATION
// To enable editor runtime change without recompile, PC always eats the encode cost.
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
return View.HDR32bppEncodingMode;
#endif
#endif
return HDR_ENCODE_NONE;
}
#define DEFAULT_32BPPHDR_ENCODED_RANGE 1024.0
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
MaterialFloat4 Encode32BPPHDR(MaterialFloat4 Color, float2 SvPosition)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
half Mode = GetHDR32bppEncodeMode();
if (Mode == HDR_ENCODE_MOSAIC)
{
return MaterialFloat4(HdrMosaic(Color.rgb, SvPosition), Color.a);
}
else if (Mode == HDR_ENCODE_RGBA)
{
return RGBTEncode8BPC(Color.rgb, DEFAULT_32BPPHDR_ENCODED_RANGE);
}
else
{
return Color;
}
}
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
MaterialFloat4 Decode32BPPHDR(MaterialFloat4 Encoded, MaterialFloat3 OtherEncoded = MaterialFloat3(0, 0, 0), float2 SvPosition = float2(0, 0))
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
half Mode = GetHDR32bppEncodeMode();
if (Mode == HDR_ENCODE_MOSAIC)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
return MaterialFloat4(HdrDemosaic(Encoded.rgb, OtherEncoded, SvPosition), 0.0f);
}
if (Mode == HDR_ENCODE_RGBA)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
return MaterialFloat4(RGBTDecode8BPC(Encoded, DEFAULT_32BPPHDR_ENCODED_RANGE), 0.0f);
}
else
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
return Encoded;
}
}
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3116515) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3065209 on 2016/07/26 by Steve.Cano Add Android Texture Format used for packaging/cooking to the Manifest File #ue4 #android #jira UE-33645 Change 3068915 on 2016/07/28 by Steve.Cano Add an additional Texture Compression support line in the manifest for DXT #ue4 #android #jira UE-33645 Change 3075911 on 2016/08/03 by Steve.Cano Make the "Running {ProjectName} on {Device}" toast stay up when launching a game to an Android device until we've finished running it, as it does on other platforms. This logic already existed but only ran if the "Prebuilt" flag was passed in, however we want this to always run now. Re-writing to run through waiting on each process to finish for each device launched on #jira UE-3122 #ue4 #android Change 3080981 on 2016/08/08 by Steve.Cano Clear any input before removing the TouchInterface from the screen to prevent infinite input after it is cleared #jira UE-33956 #ue4 #platform Change 3092587 on 2016/08/17 by Steve.Cano Adding "IsGamepadAttached" functionality to Android Application #jira UE-33264 #ue4 #android Change 3095840 on 2016/08/21 by Dmitriy.Dyomin Fixed: Particle Cutout Crashes On Certain Devices (Samsung Galaxy Note 2) Happens only with non-instanced path #jira UE-34604 Change 3095855 on 2016/08/22 by Dmitriy.Dyomin Allow UWorldComposition::GetTilesList to be used in runtime code Licensee request https://udn.unrealengine.com/questions/307586/world-compositions-world-dimensions.html Change 3096093 on 2016/08/22 by Allan.Bentham Allow Vulkan api logging on android Change 3096361 on 2016/08/22 by Steve.Cano Github 2663 pull - Pass any extras used to launch SplashActivity down to GameActivity (Contributed by sangpan) #jira UE-34050 #github #2663 #ue4 #android Change 3097412 on 2016/08/23 by Dmitriy.Dyomin Using BulkSerialize for cooked collision data to speed up serialization Change 3098957 on 2016/08/23 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3099058 on 2016/08/24 by Jack.Porter Check EXT_debug_label and EXT_debug_marker functions were found before calling as a few devices to not implement these extensions #UE-35087 Change 3099131 on 2016/08/24 by Dmitriy.Dyomin Fixed: HDR compressed texture become black in some mali devices Use sized internal format for half-float textures on ES3 devices, as ES3 spec expects it #jira UE-35018 Change 3099150 on 2016/08/24 by Dmitriy.Dyomin Enable HALF_FLOAT and UNSIGNED_INT_2_10_10_10_REV vertex formats on ES3+ devices, spec req Change 3102252 on 2016/08/26 by Dmitriy.Dyomin Prevent view uniform buffer crash on ES2 devices that do not support 3D textures Change 3102258 on 2016/08/26 by Dmitriy.Dyomin Enabled refraction on iPadMini4 #jira UE-35079 Change 3102651 on 2016/08/26 by Dmitriy.Dyomin Fixed: instanced static mesh world normals Also removed unnecessary instance matrix transposing #jira UE-35075 Change 3109397 on 2016/09/01 by Jack.Porter Fix problem with Android sessions not appearing in Session Frontend #jira UE-35261 Change 3109490 on 2016/09/01 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3111628 on 2016/09/02 by Jack.Porter Landscape wireframe LOD visualization with tessellation Change 3112809 on 2016/09/02 by Chris.Babcock Update cached length when file is written to on Android #jira UE-35558 #ue4 #android Change 3113245 on 2016/09/04 by Dmitriy.Dyomin Fixed: Subway Sequencer plays only a black screen when packaged for ESDSR (3.1+AEP) #jira UE-34291 Change 3113249 on 2016/09/04 by Dmitriy.Dyomin Replicated fix from 4.13: GPU particles no longer work on iOS or TVOS Metal devices #jira UE-34782 Change 3113513 on 2016/09/05 by Allan.Bentham Add vulkan version parameter to android device profile selector's source inputs . reinstate Vulkan Disable cvar functionality. Added mali no vulkan device profile. Change 3113519 on 2016/09/05 by Allan.Bentham Remove temp 4.13 hack to avoid public header changes. Change 3113535 on 2016/09/05 by Allan.Bentham Decode 32 bit HDR formats when using scene captures. #jira UE-25444 Change 3113813 on 2016/09/06 by Dmitriy.Dyomin Resend to server sub-levels visibility state right after world actors are initialized. During seamless travel client loads always-loaded sub-levels before world actors are initialized and ServerUpdateLevelVisibility calls in UWorld::AddToWorld are skipped. Change 3113870 on 2016/09/06 by Jack.Porter Fix issue with ES2 Feature Level preview and Mobile Preview PIE not limiting materials to 8 textures #jira UE-35591 Change 3115031 on 2016/09/06 by Chris.Babcock Add Vulkan version code not moved over from 4.13.1 #jira UE-35642 #ue4 #android Change 3115496 on 2016/09/07 by Dmitriy.Dyomin Use the same DDC key for source reflection data and encoded data. Fixes broken reflections on mobile #jira UE-35647 [CL 3116720 by Chris Babcock in Main branch]
2016-09-07 17:04:11 -04:00
// Demosaic capable 32bpp hdr decode.
float4 Decode32BPPHDR(float4 Pixel, float2 SvPosition, Texture2D SourceTexture, SamplerState SourceSampler, float2 InTexCoords[4])
{
half3 PixelColorN = SourceTexture.Sample(SourceSampler, InTexCoords[0].xy).rgb;
half3 PixelColorE = SourceTexture.Sample(SourceSampler, InTexCoords[1].xy).rgb;
half3 PixelColorW = SourceTexture.Sample(SourceSampler, InTexCoords[2].xy).rgb;
half3 PixelColorS = SourceTexture.Sample(SourceSampler, InTexCoords[3].xy).rgb;
half3 PixelColorV = PixelColorN * 0.5 + PixelColorS * 0.5;
half3 PixelColorH = PixelColorW * 0.5 + PixelColorE * 0.5;
if(abs(PixelColorN.g - PixelColorS.g) < abs(PixelColorW.g - PixelColorE.g))
{
PixelColorH = PixelColorV;
}
Pixel.rgb = Decode32BPPHDR(Pixel, PixelColorH, SvPosition.xy).rgb;
Pixel.a = 0.0;
return Pixel;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
/** Get render target write mask value
* This gets a bit from a write mask texture created with FRTWriteMaskDecodeCS. Only supprted on some platforms.
*/
#if PLATFORM_SUPPORTS_RENDERTARGET_WRITE_MASK
uint DecodeRTWriteMaskTexture(in float2 ScreenPosition, in Texture2D<uint> RTWriteMaskTexture)
{
int2 IntPosition = int2(ScreenPosition.xy);
uint RTWriteMaskValue = RTWriteMaskTexture.Load( int3(IntPosition.x/8, IntPosition.y/8, 0) );
int2 BitCoord = ((IntPosition / int2(4, 4)) % int2(2, 2));
uint BitIdx = BitCoord.x + (BitCoord.y*2);
uint RTWriteMaskBit = RTWriteMaskValue & (1<<BitIdx);
return RTWriteMaskBit;
}
#endif
/** Calculates the ScreenUV given the screen position and an offset fraction. */
float2 CalcScreenUVFromOffsetFraction(float4 ScreenPosition, float2 OffsetFraction)
{
float2 NDC = ScreenPosition.xy / ScreenPosition.w;
// Apply the offset in NDC space so that it is consistent regardless of scene color buffer size
// Clamp to valid area of the screen to avoid reading garbage
//@todo - soft clamp
float2 OffsetNDC = clamp(NDC + OffsetFraction * float2(2, -2), -.999f, .999f);
return float2(OffsetNDC * View.ScreenPositionScaleBias.xy + View.ScreenPositionScaleBias.wz);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
Texture2D SceneColorCopyTexture;
SamplerState SceneColorCopyTextureSampler;
/** Applies an offset to the scene texture lookup and decodes the HDR linear space color. */
float3 DecodeSceneColorForMaterialNode(float2 ScreenUV)
{
#if HIT_PROXY_SHADER || SCENE_TEXTURES_DISABLED
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
// Hit proxies rendering pass doesn't have access to valid render buffers
return float3(0.0f, 0.0f, 0.0f);
#else
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
float4 EncodedSceneColor = Texture2DSample(SceneColorCopyTexture, SceneColorCopyTextureSampler, ScreenUV);
// Undo the function in EncodeSceneColorForMaterialNode
return pow(EncodedSceneColor.rgb, 4) * 10;
#endif
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
float4 GetPerPixelLightAttenuation(float2 UV)
{
return Square(Texture2DSampleLevel(LightAttenuationTexture, LightAttenuationTextureSampler, UV, 0));
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2762805 on 2015/11/11 by Bob.Tellez #UE4 Material editor optimization. FindShaderTypeByName now uses the precreated map to look up types by name. Also changed GetRepresentativeShaderTypesAndDescriptions to return a map. #rb Daniel.Wright Change 2763372 on 2015/11/11 by Marcus.Wassmer Auto events around ComputeFenceWaits No transition ensure in parallel mode. #rb Rolando.Caloca Change 2764204 on 2015/11/12 by Rolando.Caloca DevRendering - Removed reference counting on pipelines as it's not needed - Shadermap of shader types no longer owns the unique shaders per pipeline, the pipelines do - Added shader pipeline dependencies and shortened ddc entry - Dumped stats now show # shared pipelines - Added IMPLEMENT_SHADERPIPELINE_TYPE_* macros #rb Marcus.Wassmer Change 2764409 on 2015/11/12 by Marcus.Wassmer Event based GPU frame waiting. #rb Gil.Gribb Change 2764474 on 2015/11/12 by Gil.Gribb UE4 - Optimize speed tree stuff in FLocalVertexFactory::SetMesh Change 2765900 on 2015/11/13 by Marcus.Wassmer Move PS4 system event checking onto a task thread. Saves ~.1ms on gamethread #rb Lee.Clark Change 2768478 on 2015/11/16 by Marcus.Wassmer Remove flushes when locking single-mip 2d textures for writeonly on PS4 #rb Gil.Gribb #codereview Lee.Clark Change 2769532 on 2015/11/17 by Chris.Bunner Discard outdated vertex paint data when loading static mesh components. UE-22603 #rb Rolando.Caloca Change 2770002 on 2015/11/17 by Rolando.Caloca DevRendering - Prep for reentrant calls for D3D & PS4 shader compilers - Added r.D3DDumpAMDCodeXLFile to enable writing out a batch file for AMD cards (it was always generating this, now it's optional) - defaults to 1, enabled - Added r.D3DCheckShadersForDouble to enable checking for doubles when compiling shaders, speeds up a tiny bit when disabling - defaults to 1, enabled - Fixed PS4's InitFastMathDetection(), was always testing for this #rb Marcus.Wassmer #codereview Lee.Clark Change 2770103 on 2015/11/17 by Daniel.Wright Added SourceCubemapAngle to sky lights, so the incoming lighting can be rotated [CL 2771408 by Nick Penwarden in Main branch]
2015-11-18 09:31:10 -05:00
// also see ConvertToDeviceZ()
// @param DeviceZ value that is stored in the depth buffer (Z/W)
// @return SceneDepth (linear in world units, W)
float ConvertFromDeviceZ(float DeviceZ)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
// Supports ortho and perspective, see CreateInvDeviceZToWorldZTransform()
return DeviceZ * View.InvDeviceZToWorldZTransform[0] + View.InvDeviceZToWorldZTransform[1] + 1.0f / (DeviceZ * View.InvDeviceZToWorldZTransform[2] - View.InvDeviceZToWorldZTransform[3]);
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown Ben.Marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2762805 on 2015/11/11 by Bob.Tellez #UE4 Material editor optimization. FindShaderTypeByName now uses the precreated map to look up types by name. Also changed GetRepresentativeShaderTypesAndDescriptions to return a map. #rb Daniel.Wright Change 2763372 on 2015/11/11 by Marcus.Wassmer Auto events around ComputeFenceWaits No transition ensure in parallel mode. #rb Rolando.Caloca Change 2764204 on 2015/11/12 by Rolando.Caloca DevRendering - Removed reference counting on pipelines as it's not needed - Shadermap of shader types no longer owns the unique shaders per pipeline, the pipelines do - Added shader pipeline dependencies and shortened ddc entry - Dumped stats now show # shared pipelines - Added IMPLEMENT_SHADERPIPELINE_TYPE_* macros #rb Marcus.Wassmer Change 2764409 on 2015/11/12 by Marcus.Wassmer Event based GPU frame waiting. #rb Gil.Gribb Change 2764474 on 2015/11/12 by Gil.Gribb UE4 - Optimize speed tree stuff in FLocalVertexFactory::SetMesh Change 2765900 on 2015/11/13 by Marcus.Wassmer Move PS4 system event checking onto a task thread. Saves ~.1ms on gamethread #rb Lee.Clark Change 2768478 on 2015/11/16 by Marcus.Wassmer Remove flushes when locking single-mip 2d textures for writeonly on PS4 #rb Gil.Gribb #codereview Lee.Clark Change 2769532 on 2015/11/17 by Chris.Bunner Discard outdated vertex paint data when loading static mesh components. UE-22603 #rb Rolando.Caloca Change 2770002 on 2015/11/17 by Rolando.Caloca DevRendering - Prep for reentrant calls for D3D & PS4 shader compilers - Added r.D3DDumpAMDCodeXLFile to enable writing out a batch file for AMD cards (it was always generating this, now it's optional) - defaults to 1, enabled - Added r.D3DCheckShadersForDouble to enable checking for doubles when compiling shaders, speeds up a tiny bit when disabling - defaults to 1, enabled - Fixed PS4's InitFastMathDetection(), was always testing for this #rb Marcus.Wassmer #codereview Lee.Clark Change 2770103 on 2015/11/17 by Daniel.Wright Added SourceCubemapAngle to sky lights, so the incoming lighting can be rotated [CL 2771408 by Nick Penwarden in Main branch]
2015-11-18 09:31:10 -05:00
// inverse operation of ConvertFromDeviceZ()
// @param SceneDepth (linear in world units, W)
// @return DeviceZ (Z/W)
float ConvertToDeviceZ(float SceneDepth)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
FLATTEN
if (View.ViewToClip[3][3] < 1.0f)
{
// Perspective
return 1.0f / ((SceneDepth + View.InvDeviceZToWorldZTransform[3]) * View.InvDeviceZToWorldZTransform[2]);
}
else
{
// Ortho
return SceneDepth * View.ViewToClip[2][2] + View.ViewToClip[3][2];
}
}
/** Returns clip space W, which is world space distance along the View Z axis. Note if you need DeviceZ LookupDeviceZ() is the faster option */
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
float CalcSceneDepth(float2 ScreenUV)
{
#if SCENE_TEXTURES_DISABLED
return 0.0f;
#else
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3155909) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3118534 on 2016/09/08 by Steve.Cano Certain non-looping SFX would not properly fire "Stop" events when the effect was finished, and therefore Sound Mixes that should end at the end of a SFX (such as ducking the BGM volume) were not properly finishing. Fixing the IsSourceFinished call to check the Position of the player to determine if we are actually done playing, which was not working properly before for PCM sounds. #jira UE-35016 #ue4 #android Change 3119125 on 2016/09/09 by Dmitriy.Dyomin Mobile launcher profile wizard: Fixed case where DLC will not be built if user selects non Development build configuration Fixed case where project maps will be empty if UE4 and project located on different drives Change 3122584 on 2016/09/13 by Allan.Bentham Add simple clip plane for planar reflections. #jira UE-32449 Change 3129390 on 2016/09/16 by Chris.Babcock Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3129867 on 2016/09/18 by Jack.Porter Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3131961 on 2016/09/20 by Allan.Bentham Fix missing editor widgets and gamma incorrectness when mobileHDR == false. Fix editor widget rendering when hdr encoding is active. #jira UE-34281 Change 3132717 on 2016/09/20 by Chris.Babcock Add $S(ProjectDir) to UPL #jira UE-35483 #ue4 Change 3132940 on 2016/09/20 by Chris.Babcock Corrected case for some include files (contributed by Yukariin) #jira UE-33816 #PR #2636 #ue4 #android Change 3134098 on 2016/09/21 by Allan.Bentham Mobile CSM shadow quality controllable via quality levels. #jira UEMOB-74 Change 3134931 on 2016/09/21 by Chris.Babcock Allow Windows types in vulkan.h #jira UE-36270 #ue4 #vulkan Change 3135380 on 2016/09/21 by Dmitriy.Dyomin Plugin which exposes some of BuildPatchServices functionality to BP. Inteded to be used on mobile platforms for donwloading game content. Right now misses: IOS download directory and iOS WiFi detection #jira UEMOB-157 Change 3136004 on 2016/09/22 by Allan.Bentham Add project option to disable vertex fog on mobile. Vertex fog is now enabled even when mobile HDR is not. #jira UEMOB-148 Change 3137377 on 2016/09/22 by Dmitriy.Dyomin Fix compile error from CL# 3135380 Change 3139571 on 2016/09/26 by Jack.Porter Applied deferred change CL 3101462 to mobile to make planar reflections no longer update GPU particles Change 3139663 on 2016/09/26 by Jack.Porter Include Android shader cache files when packaging Change 3142839 on 2016/09/28 by Dmitriy.Dyomin Added WiFi connection detection on iOS Change 3142845 on 2016/09/28 by Jack.Porter Fixed various issues with TcpMessageTransport discovered when transferring automation testing screenshots from mobile devices - socket not readable or writable is not an error condition if output buffer is full - messages were previously limited to 64kb but screenshots overflowed this - messages over 8kb were not reliably received as the inbound buffer was full so the available bytes was always less than the message length - sending large messages was not reliable due to the output buffer being full Change 3143280 on 2016/09/28 by Jack.Porter Clear out UnbuiltInstanceBoundsList when async building a tree with no instances Change 3143282 on 2016/09/28 by Jack.Porter Fix issue where client functional tests in the current map do not appear on clients running with cooked content. Problem is that the AssetRegistry uses in-memory metadata created on load for currently-loaded assets, but cooked content only has the serialized AssetRegistry and individual assets do not contain any metadata. Change 3143808 on 2016/09/28 by Steve.Cano Assume that the app starts in focus at startup and don't wait for an "APP_EVENT_STATE_WINDOW_GAINED_FOCUS" event to fire, as this event will not come down from SplashActivity since it is not a NativeActivity. If the user then rotates the device in Sensor or FullSensor orientation during SplashActivity and forces an eglSurface recreation, the initial Create will properly execute if we're "in focus". Previously, the create-destroy-create cycle would not properly execute due to the EventManager thinking the app was not yet in focus, and would cause the second create to get a 0x3003 error (EGL_BAD_ALLOC) #jira UE-35004 #ue4 #android Change 3144880 on 2016/09/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3146220 on 2016/09/30 by Dmitriy.Dyomin Adjusted device button style to make it more readable. #jira UE-21881 Change 3146280 on 2016/09/30 by Dmitriy.Dyomin Replaced IBuildManifest::ComputeDownloadSize with a new function Change 3146302 on 2016/09/30 by Allan.Bentham Added more stringent checks for ES3.1 compatibility #jira UE-36241 Change 3146435 on 2016/09/30 by Jack.Porter Prevent landscape grass being duplicated for PIE, causing ensure #jira UE-36531 Change 3147532 on 2016/09/30 by Chris.Babcock Use .sh extension for Android install scripts on Linux #jira UE-36669 #ue4 #android #linux Change 3149851 on 2016/10/04 by Dmitriy.Dyomin Mobile: Added custom depth rendering Mobile: Added support for CustomDepth and SceneDepth in post-process materails Change 3149852 on 2016/10/04 by Dmitriy.Dyomin Fixed comments for SortBasePass console variable Change 3149857 on 2016/10/04 by Jack.Porter Remove dead code in ProceduralFoliageComponentDetails.cpp Change 3149863 on 2016/10/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3149896 on 2016/10/04 by Dmitriy.Dyomin Fixed: SkyLight makes level entire green on Android devices #jira UE-34469 Change 3150102 on 2016/10/04 by Jack.Porter Bring Protostar 4.13 fixes back to Dev-Mobile Engine - MaxDescriptorSets = 16384 to prevent crash on Mali - Include texture formats in FRenderTargetLayoutHashableStruct to solve RT aliasing issue - Use ERenderTargetLoadAction::EClear for planar reflection target to work around Adreno issue - Default Adreno to SPIR-V Contents - Disable fog, reduce CSM shadow quality, fix device profiles - Add PSO cache Change 3150113 on 2016/10/04 by Jack.Porter Ensure automation testing screenshots have Alpha=255 (fixes automation screenshots on Mobile) Change 3150231 on 2016/10/04 by Jack.Porter Use a new SessionID GUID each time you use the launcher to launch a session. Change 3150608 on 2016/10/04 by Jack.Porter Changes for automated testing screenshots on Android. - Prevent automation screenshots from changing resolution on platforms with fixed resolution - Set GRHIAdapterInternalDriverVersion for OpenGL and Vulkan - Parse ImgTec/ARM/Qualcomm GRHIVendorId on OpenGL - Added helper to convert GRHIVendorId to string Change 3151318 on 2016/10/04 by Jack.Porter Fixed compile error with AdapterVendor Change 3151366 on 2016/10/04 by Jack.Porter Prevent FTcpMessageTransportConnection deadlock on device disconnect Change 3151397 on 2016/10/05 by Dmitriy.Dyomin More consistent BP categories for Mobile Patching utils Change 3151576 on 2016/10/05 by Dmitriy.Dyomin Added on screen warning for invalid reflection captures, can be seen only in game running with FeatureLevel < SM4 and no valid capture data Change 3151795 on 2016/10/05 by Dmitry.Rekman Linux: update UBT to use a v8 multiarch toolchain. - Also added toolchain build scripts and ct-ng configs. Change 3151966 on 2016/10/05 by Allan.Bentham Add mobile support for inverse opacity to mobile scene captures as well as SCS_SceneColorSceneDepth and SCS_SceneDepth. #jira UEMOB-106 Change 3152664 on 2016/10/05 by Chris.Babcock Merging //UE4/Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3152675 on 2016/10/05 by Will.Fissler Fixed patching so that it searches for pak files as well as pkg files. #test Patch for QAGame Change 3152728 on 2016/10/05 by Chris.Babcock Update ReflectionCaptureDDCVer (need to resave maps) Change 3152910 on 2016/10/05 by Dmitry.Rekman Linux: Fix toolchain for non-AutoSDKs (github) case (UE-36899). Change 3152966 on 2016/10/05 by Dmitry.Rekman Linux: Fix test for the installed SDK (UE-36899). Change 3153004 on 2016/10/05 by Dmitry.Rekman Linux: fix CIS (UT server case-sens errors). Change 3153694 on 2016/10/06 by Jack.Porter Rollback ReflectionCaptureDDCVer change as bug intended to fix UE-36919 does not repro Change 3154766 on 2016/10/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3154833 on 2016/10/07 by Jack.Porter Fix merge error of MobileShadingRenderer.cpp Change 3154848 on 2016/10/07 by Allan.Bentham Fix mobile scene capture's clear code Change 3154875 on 2016/10/07 by Allan.Bentham fix vk build issues Change 3154941 on 2016/10/07 by Allan.Bentham Fix gearvr build fail Change 3154950 on 2016/10/07 by Allan.Bentham Fix shadowed local variable vk build warning on android. Change 3155909 on 2016/10/07 by Ben.Marsh UBT: Attempt to work around C1076 error ("internal heap limit reached: use /Zm to specify a higher limit"), encountered when building with XGE. Specify the AutoReserveMemory attribute on XGE tool tasks that manipulate precompiled headers. [CL 3155988 by Chris Babcock in Main branch]
2016-10-07 23:11:00 -04:00
#if FEATURE_LEVEL > FEATURE_LEVEL_ES3_1 || MOBILE_FORCE_DEPTH_TEXTURE_READS
return ConvertFromDeviceZ(Texture2DSampleLevel(SceneDepthTexture, SceneDepthTextureSampler, ScreenUV, 0).r);
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3155909) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3118534 on 2016/09/08 by Steve.Cano Certain non-looping SFX would not properly fire "Stop" events when the effect was finished, and therefore Sound Mixes that should end at the end of a SFX (such as ducking the BGM volume) were not properly finishing. Fixing the IsSourceFinished call to check the Position of the player to determine if we are actually done playing, which was not working properly before for PCM sounds. #jira UE-35016 #ue4 #android Change 3119125 on 2016/09/09 by Dmitriy.Dyomin Mobile launcher profile wizard: Fixed case where DLC will not be built if user selects non Development build configuration Fixed case where project maps will be empty if UE4 and project located on different drives Change 3122584 on 2016/09/13 by Allan.Bentham Add simple clip plane for planar reflections. #jira UE-32449 Change 3129390 on 2016/09/16 by Chris.Babcock Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3129867 on 2016/09/18 by Jack.Porter Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3131961 on 2016/09/20 by Allan.Bentham Fix missing editor widgets and gamma incorrectness when mobileHDR == false. Fix editor widget rendering when hdr encoding is active. #jira UE-34281 Change 3132717 on 2016/09/20 by Chris.Babcock Add $S(ProjectDir) to UPL #jira UE-35483 #ue4 Change 3132940 on 2016/09/20 by Chris.Babcock Corrected case for some include files (contributed by Yukariin) #jira UE-33816 #PR #2636 #ue4 #android Change 3134098 on 2016/09/21 by Allan.Bentham Mobile CSM shadow quality controllable via quality levels. #jira UEMOB-74 Change 3134931 on 2016/09/21 by Chris.Babcock Allow Windows types in vulkan.h #jira UE-36270 #ue4 #vulkan Change 3135380 on 2016/09/21 by Dmitriy.Dyomin Plugin which exposes some of BuildPatchServices functionality to BP. Inteded to be used on mobile platforms for donwloading game content. Right now misses: IOS download directory and iOS WiFi detection #jira UEMOB-157 Change 3136004 on 2016/09/22 by Allan.Bentham Add project option to disable vertex fog on mobile. Vertex fog is now enabled even when mobile HDR is not. #jira UEMOB-148 Change 3137377 on 2016/09/22 by Dmitriy.Dyomin Fix compile error from CL# 3135380 Change 3139571 on 2016/09/26 by Jack.Porter Applied deferred change CL 3101462 to mobile to make planar reflections no longer update GPU particles Change 3139663 on 2016/09/26 by Jack.Porter Include Android shader cache files when packaging Change 3142839 on 2016/09/28 by Dmitriy.Dyomin Added WiFi connection detection on iOS Change 3142845 on 2016/09/28 by Jack.Porter Fixed various issues with TcpMessageTransport discovered when transferring automation testing screenshots from mobile devices - socket not readable or writable is not an error condition if output buffer is full - messages were previously limited to 64kb but screenshots overflowed this - messages over 8kb were not reliably received as the inbound buffer was full so the available bytes was always less than the message length - sending large messages was not reliable due to the output buffer being full Change 3143280 on 2016/09/28 by Jack.Porter Clear out UnbuiltInstanceBoundsList when async building a tree with no instances Change 3143282 on 2016/09/28 by Jack.Porter Fix issue where client functional tests in the current map do not appear on clients running with cooked content. Problem is that the AssetRegistry uses in-memory metadata created on load for currently-loaded assets, but cooked content only has the serialized AssetRegistry and individual assets do not contain any metadata. Change 3143808 on 2016/09/28 by Steve.Cano Assume that the app starts in focus at startup and don't wait for an "APP_EVENT_STATE_WINDOW_GAINED_FOCUS" event to fire, as this event will not come down from SplashActivity since it is not a NativeActivity. If the user then rotates the device in Sensor or FullSensor orientation during SplashActivity and forces an eglSurface recreation, the initial Create will properly execute if we're "in focus". Previously, the create-destroy-create cycle would not properly execute due to the EventManager thinking the app was not yet in focus, and would cause the second create to get a 0x3003 error (EGL_BAD_ALLOC) #jira UE-35004 #ue4 #android Change 3144880 on 2016/09/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3146220 on 2016/09/30 by Dmitriy.Dyomin Adjusted device button style to make it more readable. #jira UE-21881 Change 3146280 on 2016/09/30 by Dmitriy.Dyomin Replaced IBuildManifest::ComputeDownloadSize with a new function Change 3146302 on 2016/09/30 by Allan.Bentham Added more stringent checks for ES3.1 compatibility #jira UE-36241 Change 3146435 on 2016/09/30 by Jack.Porter Prevent landscape grass being duplicated for PIE, causing ensure #jira UE-36531 Change 3147532 on 2016/09/30 by Chris.Babcock Use .sh extension for Android install scripts on Linux #jira UE-36669 #ue4 #android #linux Change 3149851 on 2016/10/04 by Dmitriy.Dyomin Mobile: Added custom depth rendering Mobile: Added support for CustomDepth and SceneDepth in post-process materails Change 3149852 on 2016/10/04 by Dmitriy.Dyomin Fixed comments for SortBasePass console variable Change 3149857 on 2016/10/04 by Jack.Porter Remove dead code in ProceduralFoliageComponentDetails.cpp Change 3149863 on 2016/10/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3149896 on 2016/10/04 by Dmitriy.Dyomin Fixed: SkyLight makes level entire green on Android devices #jira UE-34469 Change 3150102 on 2016/10/04 by Jack.Porter Bring Protostar 4.13 fixes back to Dev-Mobile Engine - MaxDescriptorSets = 16384 to prevent crash on Mali - Include texture formats in FRenderTargetLayoutHashableStruct to solve RT aliasing issue - Use ERenderTargetLoadAction::EClear for planar reflection target to work around Adreno issue - Default Adreno to SPIR-V Contents - Disable fog, reduce CSM shadow quality, fix device profiles - Add PSO cache Change 3150113 on 2016/10/04 by Jack.Porter Ensure automation testing screenshots have Alpha=255 (fixes automation screenshots on Mobile) Change 3150231 on 2016/10/04 by Jack.Porter Use a new SessionID GUID each time you use the launcher to launch a session. Change 3150608 on 2016/10/04 by Jack.Porter Changes for automated testing screenshots on Android. - Prevent automation screenshots from changing resolution on platforms with fixed resolution - Set GRHIAdapterInternalDriverVersion for OpenGL and Vulkan - Parse ImgTec/ARM/Qualcomm GRHIVendorId on OpenGL - Added helper to convert GRHIVendorId to string Change 3151318 on 2016/10/04 by Jack.Porter Fixed compile error with AdapterVendor Change 3151366 on 2016/10/04 by Jack.Porter Prevent FTcpMessageTransportConnection deadlock on device disconnect Change 3151397 on 2016/10/05 by Dmitriy.Dyomin More consistent BP categories for Mobile Patching utils Change 3151576 on 2016/10/05 by Dmitriy.Dyomin Added on screen warning for invalid reflection captures, can be seen only in game running with FeatureLevel < SM4 and no valid capture data Change 3151795 on 2016/10/05 by Dmitry.Rekman Linux: update UBT to use a v8 multiarch toolchain. - Also added toolchain build scripts and ct-ng configs. Change 3151966 on 2016/10/05 by Allan.Bentham Add mobile support for inverse opacity to mobile scene captures as well as SCS_SceneColorSceneDepth and SCS_SceneDepth. #jira UEMOB-106 Change 3152664 on 2016/10/05 by Chris.Babcock Merging //UE4/Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3152675 on 2016/10/05 by Will.Fissler Fixed patching so that it searches for pak files as well as pkg files. #test Patch for QAGame Change 3152728 on 2016/10/05 by Chris.Babcock Update ReflectionCaptureDDCVer (need to resave maps) Change 3152910 on 2016/10/05 by Dmitry.Rekman Linux: Fix toolchain for non-AutoSDKs (github) case (UE-36899). Change 3152966 on 2016/10/05 by Dmitry.Rekman Linux: Fix test for the installed SDK (UE-36899). Change 3153004 on 2016/10/05 by Dmitry.Rekman Linux: fix CIS (UT server case-sens errors). Change 3153694 on 2016/10/06 by Jack.Porter Rollback ReflectionCaptureDDCVer change as bug intended to fix UE-36919 does not repro Change 3154766 on 2016/10/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3154833 on 2016/10/07 by Jack.Porter Fix merge error of MobileShadingRenderer.cpp Change 3154848 on 2016/10/07 by Allan.Bentham Fix mobile scene capture's clear code Change 3154875 on 2016/10/07 by Allan.Bentham fix vk build issues Change 3154941 on 2016/10/07 by Allan.Bentham Fix gearvr build fail Change 3154950 on 2016/10/07 by Allan.Bentham Fix shadowed local variable vk build warning on android. Change 3155909 on 2016/10/07 by Ben.Marsh UBT: Attempt to work around C1076 error ("internal heap limit reached: use /Zm to specify a higher limit"), encountered when building with XGE. Specify the AutoReserveMemory attribute on XGE tool tasks that manipulate precompiled headers. [CL 3155988 by Chris Babcock in Main branch]
2016-10-07 23:11:00 -04:00
#else
#if COMPILER_GLSL_ES2
#if IOS
// Only call FramebufferFetch when actually compiling for IOS ES2.
return FramebufferFetchES2().w;
#elif WEBGL
return Texture2DSampleLevel(SceneAlphaCopyTexture, SceneAlphaCopyTextureSampler, ScreenUV, 0).r;
#else
float SceneW = ConvertFromDeviceZ(Texture2DSampleLevel(SceneDepthTexture, SceneDepthTextureSampler, ScreenUV, 0).r);
return DepthbufferFetchES2(SceneW, View.InvDeviceZToWorldZTransform[2], View.InvDeviceZToWorldZTransform[3]);
#endif
#elif METAL_PROFILE && !MAC
return FramebufferFetchES2().w;
#else
return ConvertFromDeviceZ(Texture2DSampleLevel(SceneDepthTexture, SceneDepthTextureSampler, ScreenUV, 0).r);
#endif
#endif
#endif
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
/** Returns DeviceZ which is the z value stored in the depth buffer. */
float LookupDeviceZ( float2 ScreenUV )
{
#if FEATURE_LEVEL > FEATURE_LEVEL_ES3_1
// native Depth buffer lookup
return Texture2DSampleLevel(SceneDepthTexture, SceneDepthTextureSampler, ScreenUV, 0).r;
#else
#if COMPILER_GLSL_ES2
// todo: can be optimized
return ConvertToDeviceZ(CalcSceneDepth(ScreenUV));
#elif METAL_PROFILE
// todo: can be optimized
return ConvertToDeviceZ(CalcSceneDepth(ScreenUV));
#else
// native Depth buffer lookup
return Texture2DSampleLevel(SceneDepthTexture, SceneDepthTextureSampler, ScreenUV, 0).r;
#endif
#endif
}
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 || MOBILE_EMULATION
// depth in in DeviceZ
Texture2D<float> SceneDepthTextureNonMS;
/** Returns clip space W, which is world space distance along the View Z axis. */
float CalcSceneDepth(uint2 PixelPos)
{
#if SCENE_TEXTURES_DISABLED
return 0.0f;
#else
float DeviceZ = SceneDepthTextureNonMS.Load(int3(PixelPos, 0));
// Fetch the depth buffer Z / W value, solve for W
return ConvertFromDeviceZ(DeviceZ);
#endif
}
#endif
/**
* Returns scene color in rgb, depth in a
*/
float4 CalcSceneColorAndDepth( float2 ScreenUV )
{
return float4(CalcSceneColor(ScreenUV), CalcSceneDepth(ScreenUV));
}
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4
#if FEATURE_LEVEL == FEATURE_LEVEL_SM4
// SM4 requires texture size to be explicitly stated and expressed as the number of samples.
Texture2DMS<float4, NumMSAASamples> SceneColorSurface;
Texture2DMS<float, NumMSAASamples> SceneDepthSurface;
#else
Texture2DMS<float4> SceneColorSurface;
Texture2DMS<float> SceneDepthSurface;
#endif // FEATURE_LEVEL
float CalcSceneDepthMSAA(float2 ScreenUV,uint SampleIndex)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
int2 IntUV = int2(trunc(ScreenUV * View.BufferSizeAndInvSize.xy));
float DeviceZ = SceneDepthSurface.Load(IntUV,SampleIndex);
return ConvertFromDeviceZ(DeviceZ);
}
#endif
// ----------------------------
float2 ScreenPositionToBufferUV(float4 ScreenPosition)
{
return float2(ScreenPosition.xy / ScreenPosition.w * View.ScreenPositionScaleBias.xy + View.ScreenPositionScaleBias.wz);
}
float2 SvPositionToBufferUV(float4 SvPosition)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
return SvPosition.xy * View.BufferSizeAndInvSize.zw;
}
// Used for post process shaders which don't need to resolve the view
float3 SvPositionToTranslatedWorld(float4 SvPosition)
{
float4 HomWorldPos = mul(float4(SvPosition.xyz, 1), View.SVPositionToTranslatedWorld);
return HomWorldPos.xyz / HomWorldPos.w;
}
// Used for vertex factory shaders which need to use the resolved view
float3 SvPositionToResolvedTranslatedWorld(float4 SvPosition)
{
float4 HomWorldPos = mul(float4(SvPosition.xyz, 1), ResolvedView.SVPositionToTranslatedWorld);
return HomWorldPos.xyz / HomWorldPos.w;
}
// prefer to use SvPositionToTranslatedWorld() for better quality
float3 SvPositionToWorld(float4 SvPosition)
{
return SvPositionToTranslatedWorld(SvPosition) - View.PreViewTranslation;
}
// investigate: doesn't work for usage with View.ScreenToWorld, see SvPositionToScreenPosition2()
float4 SvPositionToScreenPosition(float4 SvPosition)
{
// todo: is already in .w or needs to be reconstructed like this:
// SvPosition.w = ConvertFromDeviceZ(SvPosition.z);
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
float2 PixelPos = SvPosition.xy - View.ViewRectMin.xy;
// NDC (NormalizedDeviceCoordinates, after the perspective divide)
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
float3 NDCPos = float3( (PixelPos * View.ViewSizeAndInvSize.zw - 0.5f) * float2(2, -2), SvPosition.z);
// SvPosition.w: so .w has the SceneDepth, some mobile code and the DepthFade material expression wants that
return float4(NDCPos.xyz, 1) * SvPosition.w;
}
// Used for vertex factory shaders which need to use the resolved view
float4 SvPositionToResolvedScreenPosition(float4 SvPosition)
{
float2 PixelPos = SvPosition.xy - ResolvedView.ViewRectMin.xy;
// NDC (NormalizedDeviceCoordinates, after the perspective divide)
float3 NDCPos = float3( (PixelPos * ResolvedView.ViewSizeAndInvSize.zw - 0.5f) * float2(2, -2), SvPosition.z);
// SvPosition.w: so .w has the SceneDepth, some mobile code and the DepthFade material expression wants that
return float4(NDCPos.xyz, 1) * SvPosition.w;
}
float2 SvPositionToViewportUV(float4 SvPosition)
{
// can be optimized from 2SUB+2MUL to 2MAD
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
float2 PixelPos = SvPosition.xy - View.ViewRectMin.xy;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
return PixelPos.xy * View.ViewSizeAndInvSize.zw;
}
float2 BufferUVToViewportUV(float2 BufferUV)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398) #lockdown nick.penwarden #rb nobody ========================== MAJOR FEATURES + CHANGES ========================== Change 2945508 on 2016/04/15 by Nick.Whiting Integrating fix for module loading for SteamVR, prevents crashing in race conditions Change 2950385 on 2016/04/20 by Ryan.Vance We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. Change 2955406 on 2016/04/25 by Chad.Taylor Factor scale into the motion controller component late update Change 2956275 on 2016/04/26 by Nick.Whiting Initial integration of OSVR plugin support #pr 2097 Change 2964412 on 2016/05/03 by Chad.Taylor PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING Change 2964612 on 2016/05/03 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 2985528 on 2016/05/20 by Ryan.Vance #jira UE-30715 Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it. Change 2986246 on 2016/05/22 by Chad.Taylor HMD late-update thread safety Change 2998629 on 2016/06/02 by Ryan.Vance Post 4.12 Oculus plugin integration Change 3000057 on 2016/06/03 by Ryan.Vance Updating serialize function for custom material nodes. The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame. The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected. Change 3002187 on 2016/06/06 by Ryan.Vance Switching from ._m syntax to array syntax. The cross compiler chokes on the former. Change 3004153 on 2016/06/07 by Chad.Taylor Enable PSVR on VS2015 #jira UE-31202 Change 3009958 on 2016/06/10 by Ryan.Vance #jira UE-31922 Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye. Need to loop over the draw call the same way we do for the base pass. Change 3011054 on 2016/06/13 by Chad.Taylor Merging "SteamVR Positional Late-Update" back into Dev-VR Change 3013361 on 2016/06/14 by Ryan.Vance #jira UE-32022 Fixing dbuffer decal integration errors. [CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
float2 PixelPos = BufferUV.xy * View.BufferSizeAndInvSize.xy - View.ViewRectMin.xy;
return PixelPos.xy * View.ViewSizeAndInvSize.zw;
}
// ----------------------------
/**
* aligns the clip space position so that it can be used as a texture coordinate
* to properly align in screen space
*/
MaterialFloat2 ScreenAlignedPosition( float4 ScreenPosition )
{
return MaterialFloat2(ScreenPositionToBufferUV(ScreenPosition));
}
/**
* Aligns the [0,1] UV to match the view within the backbuffer
*/
MaterialFloat2 ScreenAlignedUV( MaterialFloat2 UV )
{
return (UV*MaterialFloat2(2,-2) + MaterialFloat2(-1,1))*View.ScreenPositionScaleBias.xy + View.ScreenPositionScaleBias.wz;
}
/**
* Compute viewport coordinates from the given fragment coordinates.
*/
MaterialFloat2 GetViewportCoordinates(MaterialFloat2 InFragmentCoordinates)
{
return InFragmentCoordinates;
}
/**
* Unpack a normal stored in a normal map. The X and Y components are rescaled from [0,1] to [-1,1] and Z is reconstructed.
*/
MaterialFloat4 UnpackNormalMap( MaterialFloat4 TextureSample )
{
#if COMPILER_GLSL_ES2 && IOS
return MaterialFloat4(TextureSample.rgb * 2 - 1, 1);
#else
#if DXT5_NORMALMAPS
MaterialFloat2 NormalXY = TextureSample.ag;
#else
MaterialFloat2 NormalXY = TextureSample.rg;
#endif
NormalXY = NormalXY * MaterialFloat2(2.0f,2.0f) - MaterialFloat2(1.0f,1.0f);
MaterialFloat NormalZ = sqrt( saturate( 1.0f - dot( NormalXY, NormalXY ) ) );
return MaterialFloat4( NormalXY.xy, NormalZ, 1.0f );
#endif
}
// Antialiased version of a binary comparison between ThresholdConst and a texture channel.
float AntialiasedTextureMask( Texture2D Tex, SamplerState Sampler, float2 UV, float ThresholdConst, int Channel )
{
// By setting MaskConst to 0001, 0010, 0100 or 1000 individual channels can be chosen (the compiler should be able to optimize that).
MaterialFloat4 MaskConst = MaterialFloat4(Channel == 0, Channel == 1, Channel == 2, Channel == 3);
// border width in pixels, for antialiasing 1 .. 1.5 is good but 1.0 is good for optimizations
const float WidthConst = 1.0f;
float InvWidthConst = 1 / WidthConst;
// Problem:
// A simple texture lookup with a comparison against some thresold value allows to get a mask useful
// for many purposes (e.g. text rendering, signs, oil/water/paint). Antialiased masks look much better
// and mip mapping provides that but only for minification. So when the texture resolution is lower than
// the rendering size results get blurry.
// Idea:
// We compute the distance to the threshold line in pixels (with subpixel precision). We can visualize
// the problem as a heightmap that intersects a axis aligned plane at the threshold height. Only surface
// above the threshold plane contributes to the mask. Looking at one pixel the heightmap can be approximated
// by a plane. We can easily get the plane center value form a texture lookup and get the plane equation from
// ddx and ddy of that value (only one value per 2x2 block) or some other more precise method. We can reduce the
// 3d problem to 2d (looking at the steepest angle only) and the resulting value tells us how much the texture value
// changes for one pixel. This allows us to scale and bias (threshold) the texture value the so it maps to the
// distance function. We rescaling the distance to 0.5 coverage at the line, >1 MaterialFloat a pixel inside and <0 MaterialFloat
// a pixel outside. Clamping this value in the range from 0..1 gives us a good approximation of the pixel coverage.
// We tried multiple possible implementations - this is the cheapest and looks ok is most cases.
// If quality improvements are needed we can add an option to the node later on.
float Result;
{
// optimized, ddx/ddy only for every 2x2 block (bad for distant stuff)
float Sample1 = dot(MaskConst, Texture2DSample(Tex, Sampler, UV));
// compute the derivatives of the texture content
float2 TexDD = float2(DDX(Sample1), DDY(Sample1));
float TexDDLength = max(abs(TexDD.x), abs(TexDD.y));
float Top = InvWidthConst * (Sample1 - ThresholdConst);
Result = Top / TexDDLength + ThresholdConst;
}
Result = saturate(Result); // no always needed (e.g. DX9 framebuffer blending)
return Result;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
float Noise3D_Multiplexer(int Function, float3 Position, int Quality, bool bTiling, uint RepeatSize)
{
// verified, HLSL compiled out the switch if Function is a constant
switch(Function)
{
case 0:
return SimplexNoise3D_TEX(Position);
case 1:
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
return GradientNoise3D_TEX(Position, bTiling, RepeatSize);
case 2:
return FastGradientPerlinNoise3D_TEX(Position);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
case 3:
return GradientNoise3D_ALU(Position, bTiling, RepeatSize);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
case 4:
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
return ValueNoise3D_ALU(Position, bTiling, RepeatSize);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
default:
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
return VoronoiNoise3D_ALU(Position, Quality, bTiling, RepeatSize, true).w * 2. - 1.;
}
return 0;
}
// @param LevelScale usually 2 but higher values allow efficient use of few levels
// @return in user defined range (OutputMin..OutputMax)
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
MaterialFloat MaterialExpressionNoise(float3 Position, float Scale, int Quality, int Function, bool bTurbulence, uint Levels, float OutputMin, float OutputMax, float LevelScale, float FilterWidth, bool bTiling, float RepeatSize)
{
Position *= Scale;
FilterWidth *= Scale;
float Out = 0.0f;
float OutScale = 1.0f;
float InvLevelScale = 1.0f / LevelScale;
LOOP for(uint i = 0; i < Levels; ++i)
{
// fade out noise level that are too high frequent (not done through dynamic branching as it usually requires gradient instructions)
OutScale *= saturate(1.0 - FilterWidth);
if(bTurbulence)
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
Out += abs(Noise3D_Multiplexer(Function, Position, Quality, bTiling, RepeatSize)) * OutScale;
}
else
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
Out += Noise3D_Multiplexer(Function, Position, Quality, bTiling, RepeatSize) * OutScale;
}
Position *= LevelScale;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3028958 on 2016/06/27 by Ben.Woodhouse Fix for perf issue with GetSingleFinalDataConst This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent. Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini) #jira UE-26179 Change 3029401 on 2016/06/27 by Rolando.Caloca DR - More vk logging Change 3029549 on 2016/06/27 by Uriel.Doyon Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming. New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget. Fixed crash when disabling texture streaming. Fixed issue when disabling texture streaming that would make current loaded texture low res. New logic to prevent retrying to cancel a streaming request more than once. Pending load request of one extra mip will not be cancelled anymore. Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds(). #jira UE-32197 #jira UE-31102 Change 3029837 on 2016/06/27 by David.Hill Fixed Shutter SM4 not working when using compute shader eye-adaptation #jira UE-32443 The default eye adaptation value was missing. Change 3030039 on 2016/06/27 by Uriel.Doyon Fix for crash when landscape materials are used in the Texture Streaming Build. #jira UE-32196 Change 3030081 on 2016/06/27 by Uriel.Doyon Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled. Change 3030401 on 2016/06/28 by Ben.Woodhouse Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11) #jira UE-31238 Change 3030607 on 2016/06/28 by Marc.Olano Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use. Change 3030627 on 2016/06/28 by Ben.Woodhouse Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015). Change 3030809 on 2016/06/28 by Marc.Olano Noise shader function rename & perf improvement. Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips. Change 3030850 on 2016/06/28 by Marc.Olano Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match. Change 3030981 on 2016/06/28 by Rolando.Caloca DR - vk - More logging Change 3031056 on 2016/06/28 by Marc.Olano Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map Change 3031398 on 2016/06/28 by Benjamin.Hyder updating TM-Shadermodels (correcting Mt Rushmore) Change 3031441 on 2016/06/28 by Marc.Olano Use only float version of BBS shader rand function for ES2 Change 3031463 on 2016/06/28 by John.Billon Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting). #Jira UE-32020 Change 3031512 on 2016/06/28 by Zabir.Hoque Relax clear flags for DX12 RHIs. Properly flush pending commands before residency is updated. Change 3031517 on 2016/06/28 by Rolando.Caloca DR - vk logging using r.Vulkan.DumpLayer Change 3032359 on 2016/06/29 by Allan.Bentham Fix mobile shadows crash. Change 3032431 on 2016/06/29 by Gil.Gribb Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering) Change 3032757 on 2016/06/29 by Uriel.Doyon Fixed global mip bias being applied twice following integration with main. Change 3033121 on 2016/06/29 by Rolando.Caloca DR - vk - Logging Change 3033529 on 2016/06/29 by Daniel.Wright Null world guard on UReflectionCaptureComponent::ReadbackFromGPU Change 3033668 on 2016/06/29 by Uriel.Doyon Grouped texture streaming settings to simplify logic. New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias #jira UE-32118 Change 3034403 on 2016/06/30 by Rolando.Caloca DR - Shorten dumped shader debug strings Change 3034475 on 2016/06/30 by Rolando.Caloca DR - Missing logging Change 3034722 on 2016/06/30 by Uriel.Doyon Improved StreamingAccuracy viewmodes with alpha test and translucent materials #jira UE-32656 Change 3034797 on 2016/06/30 by Rolando.Caloca DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again Change 3034799 on 2016/06/30 by Rolando.Caloca DR - vk - missed file Change 3034905 on 2016/06/30 by Rolando.Caloca DR - vk - Fix for render passes being reused with wrong dimensions Change 3035503 on 2016/07/01 by Simon.Tovey Async compute version of translucency lighting volume clear. Change 3035577 on 2016/07/01 by Marc.Olano Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture. Change 3035587 on 2016/07/01 by Ben.Woodhouse Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait) #jira UE-32709 Change 3035618 on 2016/07/01 by Olaf.Piesche Asset fixes Change 3035692 on 2016/07/01 by Rolando.Caloca DR - vk - Deferred deletion queue Change 3035808 on 2016/07/01 by Rolando.Caloca DR - vk - Stat for deletion time, fixed some logging Change 3036012 on 2016/07/01 by John.Billon Alpha Coverage Preservation -Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation. #Jira UE-31986 Change 3036041 on 2016/07/01 by Rolando.Caloca DR - vk - Fix for 32bit Change 3036433 on 2016/07/01 by Rolando.Caloca DR - More vk logging Change 3036935 on 2016/07/04 by Simon.Tovey Removing Data Objects Change 3036942 on 2016/07/04 by Ben.Woodhouse Fix for decal rendering resource leak The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it. The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets. #jira UE-32602 Change 3037563 on 2016/07/05 by Chris.Bunner HLOD self-shadowing in baked lighting fix. Change 3037640 on 2016/07/05 by Marcus.Wassmer Fix bug in USE_GPU_OVERWRITE_CHECKING Change 3037927 on 2016/07/05 by Rolando.Caloca DR - Fix touch pads not showing on Vulkan #jira UE-32062 Change 3038085 on 2016/07/05 by Chris.Bunner HLOD dynamic shadowing support. #jira UE-22627 Change 3038209 on 2016/07/05 by Rolando.Caloca DR - vk - Android compile fix Change 3038644 on 2016/07/05 by Uriel.Doyon Added LerpRange that allows to lerp between two rotators without taking the sortest path. Change 3038820 on 2016/07/05 by Uriel.Doyon Selecting streaming accuracy view modes will not automatically generate missing visualization data. Change 3039332 on 2016/07/06 by John.Billon -Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem. #Jira UE-31710 Change 3039454 on 2016/07/06 by Simon.Tovey Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times. Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined. Plus a few other edits to remove Curves/DataObjects that I missed in last CL. Change 3039517 on 2016/07/06 by Gil.Gribb Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering) Change 3039587 on 2016/07/06 by Rolando.Caloca DR - vk logging, submit counter Change 3039603 on 2016/07/06 by Rolando.Caloca DR - Allow more samplers on GL4 #jira UE-32628 #jira UE-32744 Change 3039661 on 2016/07/06 by Daniel.Wright Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0' Skylight occlusion tint now applies to specular Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor Change 3039960 on 2016/07/06 by Daniel.Wright Forward renderer initial implementation * Point and spot lights are culled to a frustum space grid, base pass loops over culled lights. * Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass. * New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize * A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth. * Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping. * GBuffer render targets are still allocated * Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly * Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path * Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures Change 3040050 on 2016/07/06 by Daniel.Wright Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps Change 3040160 on 2016/07/06 by Daniel.Wright Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space Change 3040163 on 2016/07/06 by Rolando.Caloca DR - vk - More logging Change 3040257 on 2016/07/06 by Daniel.Wright Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early Change 3040316 on 2016/07/06 by Daniel.Wright PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee Change 3040361 on 2016/07/06 by Daniel.Wright Fixed TexCreate_UAV being used on translucency volume textures in SM4 Change 3040402 on 2016/07/06 by Rolando.Caloca DR - vk - Make host mem accesses coherent Change 3040486 on 2016/07/06 by Daniel.Wright CIS fixes Change 3041028 on 2016/07/07 by Gil.Gribb Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering) Change 3041235 on 2016/07/07 by Simon.Tovey Compile fix for FName conflict on UProperty (hopefully). Change 3041666 on 2016/07/07 by Daniel.Wright Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume Change 3041731 on 2016/07/07 by Olaf.Piesche Adding Niagara to dynamically loaded module list; should fix UE-32915 Change 3042181 on 2016/07/07 by Daniel.Wright CIS fix [CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
RepeatSize *= LevelScale;
OutScale *= InvLevelScale;
FilterWidth *= LevelScale;
}
if(!bTurbulence)
{
// bring -1..1 to 0..1 range
Out = Out * 0.5f + 0.5f;
}
// Out is in 0..1 range
return lerp(OutputMin, OutputMax, Out);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3109545 on 2016/09/01 by Zabir.Hoque Merging DX12 RHIs stage 1. #Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame Change 3109580 on 2016/09/01 by Zabir.Hoque Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history. Change 3109632 on 2016/09/01 by Zabir.Hoque Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13. Change 3109690 on 2016/09/01 by Zabir.Hoque Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering. Change 3109716 on 2016/09/01 by Zabir.Hoque Fix build warnings after merge. Change 3109733 on 2016/09/01 by Zabir.Hoque More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI Change 3109773 on 2016/09/01 by Zabir.Hoque Fixing code analysis warnings. Change 3109870 on 2016/09/01 by Rolando.Caloca DR - Simple clear mode Change 3110066 on 2016/09/01 by Zabir.Hoque Remove C++11 feature so VS2013 can compile for Fortnite. Change 3110335 on 2016/09/01 by Brian.Karis Fixed double lighting of clear coat, cloth, and eyes #review-3108222 @Ben.Woodhouse Change 3110411 on 2016/09/01 by Rolando.Caloca DR - vk - Fix bogus assert - Fix pipeline barrier with levelCount=0 Change 3110573 on 2016/09/01 by Zabir.Hoque Exclude D3D12 merged RHI from Mac Builds. Change 3110681 on 2016/09/01 by Rolando.Caloca DR - vk - Swapchain fix for drivers returning infinite swapchain images Change 3110936 on 2016/09/01 by Rolando.Caloca DR - vk - Fix crash when dumping unused heaps - Show file/line if enabled Change 3111034 on 2016/09/01 by Rolando.Caloca DR - vk - Fix exclude rect clear Change 3111139 on 2016/09/01 by Rolando.Caloca DR - Automatically enable capturing mode if running under RenderDoc Change 3111170 on 2016/09/01 by Rolando.Caloca DR - vk - Store max info per descriptor set pool Change 3111234 on 2016/09/01 by Zabir.Hoque XB1 compiler warnings. Change 3111763 on 2016/09/02 by Rolando.Caloca DR - Fix typo in shader PR #2759 #jira UE-35496 Change 3111846 on 2016/09/02 by Rolando.Caloca DR - vk - Update to SDK 1.0.24.0 (including glslang) Change 3111916 on 2016/09/02 by Ben.Woodhouse Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform) Also clarify some variable naming Change 3112048 on 2016/09/02 by Rolando.Caloca DR - vk - Compile fix for build machines Change 3112315 on 2016/09/02 by Rolando.Caloca DR - vk - Added peak usage to mem dump Change 3112791 on 2016/09/02 by Daniel.Wright FD3D12PipelineStateCache debug fix Change 3113483 on 2016/09/05 by Ben.Woodhouse Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding) Change 3113488 on 2016/09/05 by Ben.Woodhouse GPu profiler : fix for render thread performance issues, enable GPU profiler by default Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules Tested on XB1,PS4,PC dx11 Change 3114286 on 2016/09/06 by Chris.Bunner Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375. Change 3114883 on 2016/09/06 by Rolando.Caloca DR - vk - Delete resources on the RHI thread - Set blend factor to 1 - Added num mips & num layers to RT views - Added missing destructors - Fix for crash on rhi thread Change 3116308 on 2016/09/07 by Rolando.Caloca DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled) - Fixes for 3d texture RTs Change 3117409 on 2016/09/08 by Gil.Gribb Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering) Change 3117445 on 2016/09/08 by Gil.Gribb Fix merge fallout Change 3117555 on 2016/09/08 by Rolando.Caloca DR - Fix merge issue Change 3117687 on 2016/09/08 by Marc.Olano Create new Vector Noise material node, and *3DDeriv numerical derivative material functions Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell. 3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method) Change 3117696 on 2016/09/08 by Rolando.Caloca DR - Replicate 4.13.1 fix from 3117678 UE4.13 - Better error reporting when SCW fails/crashes jira UE-17227 Change 3117720 on 2016/09/08 by Rolando.Caloca DR - vk - Fix for static analysis Change 3117786 on 2016/09/08 by Rolando.Caloca DR - vk - Use new alignment Change 3118145 on 2016/09/08 by Marcus.Wassmer Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang. Change 3118329 on 2016/09/08 by Brian.Karis Fix screen size calculations for LOD Change 3118351 on 2016/09/08 by Brian.Karis Quadric mesh simplifier! In and working for the first time. ScreenSize is now correctly calculated from MaxDeviation Pixel Error now a reduction setting in LOD group. Binary Heap is fixed and functional. Still needs to play better with 3rd party reduction. Change 3118457 on 2016/09/08 by Rolando.Caloca DR - vk - Fix cube & 3d texture transitions & copies Change 3118540 on 2016/09/08 by Benjamin.Hyder Re-Submitting Noise assets to get engine version Change 3119438 on 2016/09/09 by Rolando.Caloca DR - vk - Added barrier & cache flushes when reading back GPU memory - Added cubemap & 3d texture barriers - Added cubemap & 3d texture copy image Change 3119518 on 2016/09/09 by Brian.Karis Fixed compile error Change 3119580 on 2016/09/09 by Marc.Olano Documentation for Vector noise Change 3119710 on 2016/09/09 by Rolando.Caloca DR - vk - Fix read stencil mask & front/back Change 3119865 on 2016/09/09 by Rolando.Caloca DR - vk - RHIReadSurfaceFloatData - Fix redundant write transitions - Simplify copy and transition code Change 3120059 on 2016/09/09 by Rolando.Caloca DR - vk - Static analysis warnings Change 3120413 on 2016/09/09 by Mark.Satterthwaite Fix AVFMedia plugin failing when a movie has captions. #jira UE-35828 Change 3120936 on 2016/09/12 by Ben.Woodhouse Add slate rendering to the GPU stats Change 3121204 on 2016/09/12 by Rolando.Caloca DR - vk - Fix geometry shaders position - Revert translucent workaround Change 3121467 on 2016/09/12 by Rolando.Caloca DR - Fix integration issue (lost some shader defines) Change 3121862 on 2016/09/12 by Zabir.Hoque Fixing Code Analysis warnings. #jira: UE-35860 Change 3122139 on 2016/09/12 by Ben.Woodhouse Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again) #jira UE-35886 Change 3122278 on 2016/09/12 by Zabir.Hoque 2nd Attempt at Code Analysis warnings [CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
// Material node for noise functions returning a vector value
// @param LevelScale usually 2 but higher values allow efficient use of few levels
// @return in user defined range (OutputMin..OutputMax)
MaterialFloat4 MaterialExpressionVectorNoise(MaterialFloat3 Position, int Quality, int Function, bool bTiling, float TileSize)
{
float4 result = float4(0,0,0,1);
float3x4 Jacobian = JacobianSimplex_ALU(Position, bTiling, TileSize); // compiled out if not used
// verified, HLSL compiled out the switch if Function is a constant
switch (Function)
{
case 0: // Cellnoise
result.xyz = float3(Rand3DPCG16(int3(floor(NoiseTileWrap(Position, bTiling, TileSize))))) / 0xffff;
break;
case 1: // Color noise
result.xyz = float3(Jacobian[0].w, Jacobian[1].w, Jacobian[2].w);
break;
case 2: // Gradient
result = Jacobian[0];
break;
case 3: // Curl
result.xyz = float3(Jacobian[2][1] - Jacobian[1][2], Jacobian[0][2] - Jacobian[2][0], Jacobian[1][0] - Jacobian[0][1]);
break;
default: // Voronoi
result = VoronoiNoise3D_ALU(Position, Quality, bTiling, TileSize, false);
break;
}
return result;
}
/*
* Clips a ray to an AABB. Does not handle rays parallel to any of the planes.
*
* @param RayOrigin - The origin of the ray in world space.
* @param RayEnd - The end of the ray in world space.
* @param BoxMin - The minimum extrema of the box.
* @param BoxMax - The maximum extrema of the box.
* @return - Returns the closest intersection along the ray in x, and furthest in y.
* If the ray did not intersect the box, then the furthest intersection <= the closest intersection.
* The intersections will always be in the range [0,1], which corresponds to [RayOrigin, RayEnd] in worldspace.
* To find the world space position of either intersection, simply plug it back into the ray equation:
* WorldPos = RayOrigin + (RayEnd - RayOrigin) * Intersection;
*/
float2 LineBoxIntersect(float3 RayOrigin, float3 RayEnd, float3 BoxMin, float3 BoxMax)
{
float3 InvRayDir = 1.0f / (RayEnd - RayOrigin);
//find the ray intersection with each of the 3 planes defined by the minimum extrema.
float3 FirstPlaneIntersections = (BoxMin - RayOrigin) * InvRayDir;
//find the ray intersection with each of the 3 planes defined by the maximum extrema.
float3 SecondPlaneIntersections = (BoxMax - RayOrigin) * InvRayDir;
//get the closest of these intersections along the ray
float3 ClosestPlaneIntersections = min(FirstPlaneIntersections, SecondPlaneIntersections);
//get the furthest of these intersections along the ray
float3 FurthestPlaneIntersections = max(FirstPlaneIntersections, SecondPlaneIntersections);
float2 BoxIntersections;
//find the furthest near intersection
BoxIntersections.x = max(ClosestPlaneIntersections.x, max(ClosestPlaneIntersections.y, ClosestPlaneIntersections.z));
//find the closest far intersection
BoxIntersections.y = min(FurthestPlaneIntersections.x, min(FurthestPlaneIntersections.y, FurthestPlaneIntersections.z));
//clamp the intersections to be between RayOrigin and RayEnd on the ray
return saturate(BoxIntersections);
}
/** Computes distance from an AABB to a point in space. */
MaterialFloat ComputeDistanceFromBoxToPoint(MaterialFloat3 Mins, MaterialFloat3 Maxs, MaterialFloat3 InPoint)
{
MaterialFloat3 DistancesToMin = InPoint < Mins ? abs(InPoint - Mins) : 0;
MaterialFloat3 DistancesToMax = InPoint > Maxs ? abs(InPoint - Maxs) : 0;
//@todo - this is actually incorrect, it gives manhattan distance
MaterialFloat Distance = dot(DistancesToMin, 1);
Distance += dot(DistancesToMax, 1);
return Distance;
}
/** Computes squared distance from a point in space to an AABB. */
MaterialFloat ComputeSquaredDistanceFromBoxToPoint(MaterialFloat3 BoxCenter, MaterialFloat3 BoxExtent, MaterialFloat3 InPoint)
{
MaterialFloat3 AxisDistances = max(abs(InPoint - BoxCenter) - BoxExtent, 0);
return dot(AxisDistances, AxisDistances);
}
/** Computes distance from point inside an AABB to the AABB's surface. */
float ComputeDistanceFromBoxToPointInside(float3 BoxCenter, float3 BoxExtent, float3 InPoint)
{
float3 DistancesToMin = max(InPoint - BoxCenter + BoxExtent, 0);
float3 DistancesToMax = max(BoxCenter + BoxExtent - InPoint, 0);
float3 ClosestDistances = min(DistancesToMin, DistancesToMax);
return min(ClosestDistances.x, min(ClosestDistances.y, ClosestDistances.z));
}
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream Capsule shadows * Capsule shadows excel at extremely soft area shadows caused by a large light source angle, but don't support accurate self-shadowing * Artists can setup a physics asset containing Spheres and Sphyls (capsules) for a skeletal mesh that will be used to represent the mesh's occlusion * These shapes can then be used for direct shadowing (bCastCapsuleDirectShadow) on a skeletal mesh component, whose softness depends on the light source angle / radius * The shapes can also be used to create an indirect shadow (bCastCapsuleIndirectShadow), whose direction and softness is derived from the precomputed sky occlusion (stationary sky light) or primary indirect lighting (static sky light) * Capsule shadowing is computed at half res and uses tiled deferred culling for efficiency - only implemented for PC SM5 + PS4 so far * Shadowing of movable skylights is not yet supported Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data Basepass drawlist are now merged within a single drawlist. Lighting policy parameters are now accessed through a uniform buffer. Changed the global resource initialization so that InitRHI now comes before InitDynamicRHI #codereview nick.penwarden Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams Remove unused RHI methods: RHIIsDrawingViewport RHIGpuTimeBegin RHIGpuTimeEnd Made default/empty versions of these calls and removed stubs from RHIs that don't use them: RHISuspendRendering RHIResumeRendering RHIIsRenderingSuspended Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream Lighting channels - each component and light can choose from 3 channels * Primitives output their channel mask to stencil during the base pass, the masks are copied to a texture after the base pass, deferred lighting passes compare the primitive mask against the light's mask * Dynamic shadow casting also respects the channels * Only works on opaque materials, direct lighting, dynamic lighting * Not implemented for tiled deferred atm * This will replace CastsShadowsFromCinematicObjectsOnly in the future #rb Martin.Mittring Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New First pass at separate Async Compute Context #codereview Lee.Clark,Daniel.Wright #rb Gil.Gribb Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering Removed a lot of complexity of the skeletal mesh motionblur code (better for multithreading, simpler, faster) but going from one large buffer to per mesh buffers. Upload of bones only needed once. * GPUSkinCache didn't even work before (in this branch) * tested BasePass velocity * tested split screen * tested editor pause * matinee camera cut (no need, invalidates velocity) * tested CPU Skin? (never has motionblur) * tested CreateSceneProxy (recreation is prevented in CreteSceneProxy unless bone count changes) * test ES2 -featureleveles2 #rb: Rolando.Caloca Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data Embree integration into Lightmass Can be enabled through Lightmass.ini [DevOptions.StaticLighting]bUseEmbree. Also [DevOptions.StaticLighting]bVerifyEmbree will compare ray casting results. Only usable on Win64 with this submit. #review daniel.wright Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering added SSAO CS version, can be enabled with r.AmbientOcclusion.Compute 1 Not optimized yet #rb:Olaf.Piesche Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream Lightmass solver quality improvements * IndirectLightingScale is no longer applied to photons, avoids splotchy artifacts when using small scales * New 'Lightmass Portal' actor / component which tells the solver where to look for significant lighting. When lighting with a Static Skylight only, in a mostly indoor environment, setting up these portals is the only way to get high quality. * Skylight bounce lighting is now much more accurate and leverages adaptive sampling * Fixed a bug that effectively disabled adaptive sampling on high IndirectLightingQualities * Shadow penumbras are also improved by IndirectLightingQuality * Texel debugging is now a cvar 'r.TexelDebugging', instead of requiring a full recompile Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data Quad Complexity ViewMode (PCD3D_SM5 only). Shader Complexity with Quad Overhead ViewMode (PCD3D_SM5 only). Require ShaderComplexity ViewMode & Show.Visualize.QuadOverhead #review brian.karis Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering improved SSAO quality (less high frequency noise) to avoid TemporalAA smearing Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S DevRendering - Enable removing unused outputs on PS4 shader pipelines, disable by default removing unused on D3D (toggable with r.D3DRemoveUnusedInterpolators) #codereview Marcus.Wassmer Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev Submitting pull request from user Pierdek. Early out of particle collision module update if there are no active particles. #github #1614 Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering UE4 - Fixed the experimental r.RHICmdBalanceParallelLists 2 mode and renabled it for orion. Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering UE4 - Added a path so that texture streaming can avoid flushing the RHI thread. Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream Added new PrimitiveComponent setting bSingleSampleShadowFromStationaryLights * When enabled, shadowing of a movable component from a stationary directional light will come from the Volume Lighting Samples precomputed by Lightmass * This provides essentially free on/off shadow receiving on dynamic objects, with a fade over time between states * Lighting has to be rebuilt once for this to work #rb Rolando.Caloca Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering UE4 - Dynamically set stream source to avoid creating a separate drawing policy for each static mesh with vertex colors. #rb Daniel.Wright Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data Enabled Embree by default #review daniel.wright ========================== ALL CHANGELISTS ========================== Change 2720123 on 2015/10/07 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - 'integrate' Tem' Change 2721682 on 2015/10/08 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Eliminated a fatal error ' Change 2721815 on 2015/10/08 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - Fix crash exiti' Change 2724755 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix Tier' Change 2724781 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix offse' Change 2728317 on 2015/10/14 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - hlslcc - Fix fo' Change 2729170 on 2015/10/14 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Force Lightmass volume sample g' Change 2732131 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed resource transition issue' Change 2732218 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code cleanup ' Change 2733533 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Clear stencil to 0 after decals' Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Capsule shadows * Capsule shado' Change 2733546 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Light shaft targets are only al' Change 2733602 on 2015/10/19 by Uriel.Doyon@uriel.doyon_office_data 'Decals not writing to Normal ca' Change 2733627 on 2015/10/19 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix for transition ensure. ' Change 2735292 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for dark lightmap precision' Change 2735298 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for speedtree LOD transitio' Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data 'Basepass drawlist are now merge' Change 2737214 on 2015/10/21 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Expanded a warning when importi' Change 2738581 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Updated comment on stencil usag' Change 2738583 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Changed bound but not set scene' Change 2738584 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed skylight occlusion maps b' Change 2738589 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmap streaming fixes * Chan' Change 2738593 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fix from licensee for race cond' Change 2738982 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Activating CanTickOnAnyThread f' Change 2739032 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Fixing compiler barf with Clang' Change 2741517 on 2015/10/26 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRindering - D3D12 - Integrat' Change 2743790 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed texel debugging on static' Change 2743958 on 2015/10/27 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comments ' Change 2744153 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Unity compile fix ' Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams 'Remove unused RHI methods: RHI' Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lighting channels - each compon' Change 2746242 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix crashes on init by swapping' Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'First pass at separate Async Co' Change 2746296 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Buffer label frees so we don't ' Change 2746297 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'updated comment ' Change 2746343 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment ' Change 2746347 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment ' Change 2746811 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Draw event for compute commandl' Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Removed a lot of complexity of ' Change 2747127 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Improved game console printout ' Change 2747702 on 2015/10/30 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Bumped Lightmass StaticMesh imp' Change 2747954 on 2015/10/30 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix SubmitDone not called TRC e' Change 2747979 on 2015/10/30 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'polish console autocomplete tex' Change 2750719 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Add Embree 2.7.0 for Win64 and ' Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Embree integration into Lightma' Change 2750872 on 2015/11/02 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R' Change 2751934 on 2015/11/03 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Disambiguate template function ' Change 2752190 on 2015/11/03 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed assert relating to ' Change 2752333 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Shader pipeline ' Change 2752655 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - Fix Materials pa' Change 2752710 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment ' Change 2752711 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added better comment/help text ' Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added SSAO CS version, can be e' Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmass solver quality improv' Change 2752869 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Add shader pipel' Change 2752882 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - hlslcc - Metal -' Change 2752899 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'small SSAO GPU optimization mov' Change 2752934 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor GPU optimization for SSAO' Change 2753109 on 2015/11/03 by Uriel.Doyon@uriel.doyon_office_data 'Fixed final build ' Change 2753669 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed SM4 compiling ' Change 2754002 on 2015/11/04 by Nick.Penwarden@nickp_streams 'test change ' Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data 'Quad Complexity ViewMode (PCD3D' Change 2754115 on 2015/11/04 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed end of frame update' Change 2754297 on 2015/11/04 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'PS4 compile fixes #codereview U' Change 2754405 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor SSAO ALU optimizations fi' Change 2754512 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'adjusted clamp for cvar ' Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'improved SSAO quality (less hig' Change 2755572 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - PS4 warning fix ' Change 2755667 on 2015/11/05 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed UE-22742, leak in t' Change 2755722 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Remove unused co' Change 2755814 on 2015/11/05 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R' Change 2755935 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Rebuild static m' Change 2756003 on 2015/11/05 by Uriel.Doyon@uriel.doyon_office_data 'Reduce the number of precompute' Change 2756145 on 2015/11/05 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Temp fix for GPU crash #rb none' Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Enable removing ' Change 2756435 on 2015/11/05 by Olaf.Piesche@Olaf.Piesche_roaming 'Disabling a check, to fix OR-85' Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev 'Submitting pull request from us' Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed the experimental r.' Change 2757341 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Changed the RHI thread di' Change 2757342 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed lazy uniform buffer' Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Added a path so that text' Change 2757500 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Add FrameSync to externalprofil' Change 2757650 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'GBuffer should only be consider' Change 2757665 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'UE-22816 Instruction count is n' Change 2757834 on 2015/11/06 by Michael.Trepka@Michael.Trepka_a4202_Dev-Rendering 'Embree integration into Lightma' Change 2757930 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix UT ensure #rb Peter.Knepley' Change 2757931 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix Ocean ensure #rb josh.ander' Change 2757946 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Removed invalid Lightmass asser' Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Added new PrimitiveComponent se' Change 2758049 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'OR-8600 CRASH: AllocationLeveli' Change 2758059 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'r.DumpTransitionsForResource #r' Change 2758082 on 2015/11/06 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix resource tra' Change 2758879 on 2015/11/09 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix PSSL names f' Change 2758911 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed accidental force di' Change 2758968 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled single frame buffer us' Change 2758991 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix togglerhithread crash #rb G' Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Dynamically set stream so' Change 2759063 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed UE-22368 CLONE - GitHub 1' Change 2759073 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code quality improvements' Change 2759501 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix particle ensure. ' Change 2759522 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix decals using CustomStencil.' Change 2759610 on 2015/11/09 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed line light source shadows' Change 2759634 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Refined GBufferA resolving when' Change 2759657 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Fixed ResourceTransition with r' Change 2759693 on 2015/11/09 by Rolando.Caloca@Rolando.Caloca_T4688_S 'DevRendering - Fixed global sha' Change 2759771 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Fixed editor hit proxy renderin' Change 2760188 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled some more deferred dec' Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data 'Enabled Embree by default #revi' [CL 2761339 by Nick Penwarden in Main branch]
2015-11-10 17:11:09 -05:00
bool RayHitSphere(float3 RayOrigin, float3 UnitRayDirection, float3 SphereCenter, float SphereRadius)
{
float3 ClosestPointOnRay = max(0, dot(SphereCenter - RayOrigin, UnitRayDirection)) * UnitRayDirection;
float3 CenterToRay = RayOrigin + ClosestPointOnRay - SphereCenter;
return dot(CenterToRay, CenterToRay) <= Square(SphereRadius);
}
bool RaySegmentHitSphere(float3 RayOrigin, float3 UnitRayDirection, float RayLength, float3 SphereCenter, float SphereRadius)
{
float DistanceAlongRay = dot(SphereCenter - RayOrigin, UnitRayDirection);
float3 ClosestPointOnRay = DistanceAlongRay * UnitRayDirection;
float3 CenterToRay = RayOrigin + ClosestPointOnRay - SphereCenter;
return dot(CenterToRay, CenterToRay) <= Square(SphereRadius) && DistanceAlongRay > -SphereRadius && DistanceAlongRay - SphereRadius < RayLength;
}
/** Transforms a vector from tangent space to world space */
MaterialFloat3 TransformTangentVectorToWorld(MaterialFloat3x3 TangentToWorld, MaterialFloat3 InTangentVector)
{
// Transform directly to world space
// The vector transform is optimized for this case, only one vector-matrix multiply is needed
return mul(InTangentVector, TangentToWorld);
}
/** Transforms a vector from world space to tangent space */
MaterialFloat3 TransformWorldVectorToTangent(MaterialFloat3x3 TangentToWorld, MaterialFloat3 InWorldVector)
{
Copying //UE4/Dev-Rendering to Dev-Main (Source //UE4/Dev-Rendering@2932636) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2917472 on 2016/03/21 by Rolando.Caloca DR - Fix SCW directcompile arguments, add -pipeline Change 2919580 on 2016/03/23 by Rolando.Caloca DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't) Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug) #jira OR-15380 #tests Run game with sparrow, test with slomo to check for gfx glitches Change 2919660 on 2016/03/23 by Rolando.Caloca DR - Latest vk changes (from dev mobile's 2916881 to 2919157) Change 2919902 on 2016/03/23 by Rolando.Caloca DR - Fix skeletal meshes decrementing stats twice #codereview Marcus.Wassmer #jira UE-28478 Change 2920020 on 2016/03/23 by David.Hill #Jira UE-28503 EyeAdapation when used in material shader may not be initialized. #rb olaf.piesche Change 2920071 on 2016/03/23 by Rolando.Caloca DR - Remove old vk define - Started moving around direct calls to queue submit Change 2920252 on 2016/03/23 by Rolando.Caloca DR - Changes vk structs to classes Change 2920314 on 2016/03/23 by Olaf.Piesche Add -windowed to standalone game PIE command line to avoid PIE launching in full screen #jira UE-27870 #codereview michael.trepka Change 2920745 on 2016/03/24 by Uriel.Doyon Texture streaming build now takes into account the material texcoord scales applied to the texture sampling. Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently). TexCoord analysis debug view shaders is now working with SM4 ane SM5. StaticMeshComponents hold persistent data coming from the texture streaming build. #tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps #codereview marcus.wassmer Change 2921335 on 2016/03/24 by Uriel.Doyon Added missing static keyword for locally defined console variable. #codereview rolando.caloca Change 2921416 on 2016/03/24 by Uriel.Doyon Revert enabling debugview shaders on non PC platforms (until properly tested and debugged) Change 2921446 on 2016/03/24 by Daniel.Wright Planar reflection mesh Change 2921530 on 2016/03/24 by Daniel.Wright Manual revert of Ronin planar reflections #codereview Ryan.Vance Change 2921608 on 2016/03/24 by Uriel.Doyon Updated texture streamer to take into account the new HLOD texture group. Change 2921677 on 2016/03/24 by Daniel.Wright Distance Field Specular Occlusion * Prototype - disabled by default Change 2921681 on 2016/03/24 by Daniel.Wright UnmappedTexelsPercentage is now 100 based Change 2921682 on 2016/03/24 by Daniel.Wright Planar reflections * New actor and component * The scene is rendered to texture with a mirrored camera and a clip plane each frame * The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades * Translucent materials apply the nearest reflection plane in the base pass * Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4 * Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer * Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage Change 2921734 on 2016/03/24 by Uriel.Doyon Fixed tessellated cube having wrong UVs #jira UE-28379 Change 2922063 on 2016/03/24 by Daniel.Wright Removed planar reflection debug code Change 2922428 on 2016/03/25 by Chris.Bunner Delete FShaderPipeline objects when clearing TMaterialShaderMaps. #rb Rolando.Caloca #jira UE-28621 Change 2922803 on 2016/03/25 by Rolando.Caloca DR - New cmd buffer management (disabled) - Move cmd buffer out of pending state and into context - Do not hardcode # cmd buffers - Move back buffer image mgmt into swapchain - Fixed some image layout transition bugs Change 2923056 on 2016/03/25 by Rolando.Caloca DR - Initial fix for canvas locking inside a render pass [CL 2932649 by Gil Gribb in Main branch]
2016-04-04 18:44:59 -04:00
// Transform from world to tangent space with the transpose of TangentToWorld (achieved by swapping vector / matrix multiply order)
// Note that the transpose is only equal to the inverse for orthonormal matrices - aka only uniform scaling
return mul(TangentToWorld, InWorldVector);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2943963 on 2016/04/14 by Daniel.Wright Shader compile errors are unsuppressed Change 2943978 on 2016/04/14 by Gil.Gribb UE4 - First pass at async loading improvements....mostly disabled. Change 2944021 on 2016/04/14 by Martin.Mittring fixed HLSL compiler warning Change 2944031 on 2016/04/14 by Martin.Mittring fixed ensures, wrapped some members behind get accessor functions Change 2944086 on 2016/04/14 by Martin.Mittring cleanup: removed not needed code Change 2944177 on 2016/04/14 by Daniel.Wright Clamp on FarShadowCascadeCount, prevents crashing from huge values Change 2944182 on 2016/04/14 by Martin.Mittring removed not needed code Change 2944250 on 2016/04/14 by Rolando.Caloca DR - vk - Minor fixes Change 2944286 on 2016/04/14 by Daniel.Wright Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions Added bShowPreviewPlane to planar reflection actors The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes Change 2944288 on 2016/04/14 by Daniel.Wright Fixed refraction with a world space normal Change 2944291 on 2016/04/14 by Daniel.Wright Panner nodes have an optional speed input Change 2944346 on 2016/04/14 by Rolando.Caloca DR - Fix Vulkan shader platform on Android - Added more info on checks() Change 2945007 on 2016/04/15 by Gil.Gribb Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering) Change 2945348 on 2016/04/15 by Daniel.Wright Fixed compile error Change 2945358 on 2016/04/15 by Olaf.Piesche #jira UE-29241 Sequential particle selection code was all sorts of weird. Rewrote and simplified. Change 2945941 on 2016/04/15 by Martin.Mittring added r.DisplayInternals to debug determinism for screen shot comparison Change 2945999 on 2016/04/15 by Martin.Mittring improved r.DisplayInternal output Change 2946023 on 2016/04/15 by Olaf.Piesche Adding missing call to Super::PostEditChangeProperty; UDN 286717 Change 2947155 on 2016/04/18 by Martin.Mittring started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up #test:PC Change 2947207 on 2016/04/18 by Martin.Mittring fixed engine compiling in shipping/test #code_review:Uriel.Doyan Change 2947212 on 2016/04/18 by Uriel.Doyon Lightmap density viewmode now shows the wanted resolution when the lighting isn't build. #jira UE-29317 Change 2947374 on 2016/04/18 by Uriel.Doyon Fixed support for resolution scale for the PostProcessVisualizeComplexity #jira UE-29473 Change 2947903 on 2016/04/19 by Gil.Gribb Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering) Change 2948019 on 2016/04/19 by Rolando.Caloca DR - Allow vk format as a target format for win Change 2948162 on 2016/04/19 by Simon.Tovey Fix for crash with Collision visualization. Change 2948419 on 2016/04/19 by Martin.Mittring fixed sort priority of translucent rendering (caused by recent checkin) Change 2948433 on 2016/04/19 by Martin.Mittring fixed memory handling of FRendererViewExtension Change 2948631 on 2016/04/19 by Martin.Mittring fixed compile error on Mac Change 2948832 on 2016/04/19 by Martin.Mittring fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues) Change 2949013 on 2016/04/19 by Martin.Mittring refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping this is useful for MeshDecals #test:PC, parallel on and off Change 2949620 on 2016/04/20 by Martin.Mittring fixed compiler warning Change 2949639 on 2016/04/20 by Uriel.Doyon Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader Change 2949721 on 2016/04/20 by Chris.Bunner Avoid creating additional inline code fragment casting matching uniform types. #jira UE-29089 Change 2949722 on 2016/04/20 by Chris.Bunner Prevent nullptr crash and added additional logging. #jira UE-28387 Change 2949913 on 2016/04/20 by Martin.Mittring marked ccommand as cheat Change 2950064 on 2016/04/20 by Martin.Mittring added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background Change 2950065 on 2016/04/20 by Martin.Mittring nicer debug printout Change 2950201 on 2016/04/20 by Martin.Mittring fixed UE-29752 Console commands input with " = " should display an error message Change 2950531 on 2016/04/20 by Martin.Mittring fixed comment Change 2951737 on 2016/04/21 by HaarmPieter.Duiker Adds support forHDR displays using Dolby PQ output Change 2951869 on 2016/04/21 by Martin.Mittring polish r.DisplayInternal Change 2951950 on 2016/04/21 by HaarmPieter.Duiker Reordered variable definition to address build warning Change 2951996 on 2016/04/21 by Martin.Mittring fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation", changed directory order to run locally it currently requires "r.ScreenshotDelegate=0" #code_review:Ben.Salem, Michael.Noland Change 2952146 on 2016/04/21 by Olaf.Piesche make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures Change 2952230 on 2016/04/21 by Martin.Mittring * Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec . * changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber #code_review:Daniel.Wright Change 2953173 on 2016/04/22 by Olaf.Piesche Adding UI for easilly browsing and switching in a folder full of stats dumps Change 2953213 on 2016/04/22 by Olaf.Piesche Renaming a stat to be more descriptive Change 2953393 on 2016/04/22 by Zabir.Hoque Get DX12 running again: - Port Shader Resource Table change - Line up VS outputs and ps inputs - Fix incorrectly defining a static global in a .h Change 2953453 on 2016/04/22 by Martin.Mittring polished r.DisplayInternal Change 2954618 on 2016/04/25 by Zabir.Hoque 2 Fixes: - GLSL does not understand "unsigned int", converted to "uint" - Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction. Change 2955369 on 2016/04/25 by Rolando.Caloca DR - hlslcc - Fix some memory leaks in the frontend Change 2955403 on 2016/04/25 by Uriel.Doyon Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux. Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4 #jira UE-28840 Change 2955419 on 2016/04/25 by Rolando.Caloca DR - hlslcc - Reenabled support for static global variables being not const Change 2955432 on 2016/04/25 by Zabir.Hoque Fix build break from not undef'ing LOCTEXT_NAMESPACE Change 2955459 on 2016/04/25 by Zabir.Hoque TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque. Change 2956292 on 2016/04/26 by Zabir.Hoque Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output). #CodeReview: Jack.Porter, Allan.Bentham Change 2956662 on 2016/04/26 by Chris.Bunner Temporary fix for new Tonemapper issues. #jira UE-29935 Change 2957614 on 2016/04/27 by Marcus.Wassmer Fix PS4 shader compiler errors. Change 2958468 on 2016/04/27 by Rolando.Caloca DR - Fix hlslcc validation issue - Show error on SCW if shader format not found when running with -directcompile #jira UE-29982 Change 2959105 on 2016/04/28 by Rolando.Caloca DR - Rebuilt hlslcc for Mac Change 2959891 on 2016/04/28 by Daniel.Wright Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields Change 2959895 on 2016/04/28 by Daniel.Wright Work around build machine string matching heuristics that will cause a cook to fail Change 2959902 on 2016/04/28 by Daniel.Wright Added LowerHemisphereSolidColor to sky lights Change 2959930 on 2016/04/28 by Daniel.Wright Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles Change 2959933 on 2016/04/28 by Daniel.Wright Substring matching for console command suggestions * Only implemented in the editor, game uses UConsole which needs an entirely different implementation * Not sorting starting matches first, although that is desired Change 2959942 on 2016/04/28 by Daniel.Wright Gracefully handle when input string doesn't match search results Change 2960743 on 2016/04/29 by Gil.Gribb UE4 - UAT - Add map name to editortest command line. Change 2960940 on 2016/04/29 by Chris.Bunner Allow custom material nodes to be used with tessellation outputs. #jira UE-29586 Change 2960955 on 2016/04/29 by Gil.Gribb UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled). Change 2960961 on 2016/04/29 by Chris.Bunner Potential material translator Lerp node pre-computations/optimizations. #jira OR-20138 Change 2961087 on 2016/04/29 by Gil.Gribb Fixed compile error in preflight relating to load time test rig Change 2962565 on 2016/05/02 by Gil.Gribb Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering) Change 2965058 on 2016/05/03 by Chris.Bunner Shader version bump. #lockdown Gil.Gribb #jira UE-30206 Change 2966554 on 2016/05/04 by Chris.Bunner Bumping shader version again, unintentionally polluted DDC previously. #lockdown Gil.Gribb #jira UE-30329 Change 2967183 on 2016/05/05 by Gil.Gribb UE4 - Fixed a bad hash on landscape grass components. Simple, safe. #lockdown nick.penwarden [CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -04:00
float3 TransformWorldVectorToView(float3 InTangentVector)
{
// Transform from world to view space
return mul(InTangentVector, (float3x3)ResolvedView.TranslatedWorldToView);
}
/** Computes the distance from the center to the edge of an AABB with the given extents in the given direction. */
MaterialFloat GetBoxPushout(MaterialFloat3 Normal,MaterialFloat3 Extent)
{
return dot(abs(Normal * Extent), MaterialFloat3(1.0f, 1.0f, 1.0f));
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3006483 on 2016/06/08 by Simon.Tovey Fix for UE-31653 Instance params from the Spawn, Required and TypeData modules were not being autopopulated. Change 3006514 on 2016/06/08 by Zabir.Hoque MIGRATING FIX @ Request Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction. #CodeReview: Marcus.Wassmer, Daniel.Wright Change 3006605 on 2016/06/08 by Rolando.Caloca DR - vk - Remove a bunch of unused code, clean up some todos Change 3006969 on 2016/06/08 by HaarmPieter.Duiker Add #ifdefs around inverse tonemapping to avoid performance hit in normal use Change 3007240 on 2016/06/09 by Chris.Bunner Made a pass at fixing global shader compile warnings and errors. Change 3007242 on 2016/06/09 by Chris.Bunner Don't force unlit mode when re-loading a map. #jira UE-31247 Change 3007243 on 2016/06/09 by Chris.Bunner Cache InvalidLightmapSettings material for instanced meshes. #jira UE-31182 Change 3007258 on 2016/06/09 by Chris.Bunner Fixed refractive depth bias material parameter. Change 3007466 on 2016/06/09 by Rolando.Caloca DR - Use vulkan debug marker extension directly from header Change 3007504 on 2016/06/09 by Martin.Mittring added refresh button to ImageVerifier Change 3007528 on 2016/06/09 by Martin.Mittring ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end make render more deterministic Change 3007551 on 2016/06/09 by Chris.Bunner Reverted constant type change in previous commit. Change 3007559 on 2016/06/09 by Martin.Mittring updated ImageValidator Change 3007584 on 2016/06/09 by Rolando.Caloca DR - Fix case when not running under RD Change 3007668 on 2016/06/09 by Rolando.Caloca DR - vk - Split layers/extensions by required/optional Change 3007820 on 2016/06/09 by Rolando.Caloca DR - Android compile fix Change 3007926 on 2016/06/09 by Martin.Mittring fixed UI scaling in ImageVerifyer Change 3007931 on 2016/06/09 by John.Billon -Fixed cutouts not working for certain sized texture/subUV size combinations. -Also fixed issue with subUV module not being postloaded consistently on startup. #Jira UE-31583 Change 3008023 on 2016/06/09 by Martin.Mittring refactor noise code in shaders Change 3008127 on 2016/06/09 by Zabir.Hoque Merging back hot fixes: 1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS. 2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself. Change 3008129 on 2016/06/09 by Daniel.Wright Disabled r.ProfileGPU.PrintAssetSummary by default due to spam Change 3008169 on 2016/06/09 by Rolando.Caloca DR - Fix mobile rendering not freeing resource when using RHI thread Change 3008429 on 2016/06/09 by Uriel.Doyon Enabled texture streaming new metrics. Added progress bar while texture streaming is being built. Added debug shader validation to prevent crashes when there are uniform expression set mismatches. Added texture streaming build to "Build All" Change 3008436 on 2016/06/09 by Uriel.Doyon Fixed shipping build Change 3008833 on 2016/06/10 by Rolando.Caloca DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications Submitted by Allar PR #1864 #jira UE-24545 Change 3008842 on 2016/06/10 by Rolando.Caloca DR - Remove vertex densities view mode Change 3008857 on 2016/06/10 by John.Billon Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching. Change 3008870 on 2016/06/10 by Rolando.Caloca DR - Rebuild hlslcc libs (missing from last merge) Change 3008925 on 2016/06/10 by John.Billon Fixed r.ScreenPercentage.Editor #Jira UE-31549 Change 3009028 on 2016/06/10 by Daniel.Wright Shadow depth refactor * Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame * This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading * The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed * A large amount of duplicated code to handle each shadow type has been combined * Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency * 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures Change 3009032 on 2016/06/10 by Daniel.Wright Fixed crash with simple forward shading in the material editor Change 3009178 on 2016/06/10 by Rolando.Caloca DR - Add support for multi callbacks on HlslParser, added a write to string callback Change 3009268 on 2016/06/10 by Daniel.Wright Warning fixes Change 3009416 on 2016/06/10 by Martin.Mittring moved decal rendering code in common spot for upcoming MeshDecal rendering Change 3009433 on 2016/06/10 by John.Billon Adding ensures for translucency lighting volume render target acesses. #Jira UE-31578 Change 3009449 on 2016/06/10 by Daniel.Wright Fixed whole scene point light shadow depths getting rendered redundantly Change 3009675 on 2016/06/10 by Martin.Mittring fixed Clang compiling Change 3009815 on 2016/06/10 by Martin.Mittring renamed IsUsedWithDeferredDecal to IsDeferredDecal to be more correct Change 3009946 on 2016/06/10 by Martin.Mittring minor optimization Change 3010270 on 2016/06/11 by HaarmPieter.Duiker Update gamut transformations used when dumping EXRs to account for bug UE-29935 Change 3011423 on 2016/06/13 by Martin.Mittring fixed default of bOutputsVelocityInBasePass #code_review:Rolando.Caloca #test:PC Change 3011448 on 2016/06/13 by Martin.Mittring minor engine code cleanup #code_review:Olaf.Piesche #test:PC Change 3011991 on 2016/06/13 by Daniel.Wright Fixed downsampled translucency crash in VR Change 3011993 on 2016/06/13 by Daniel.Wright Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely' Mobility tooltips now reflect whether a primitive component or light component is being inspected Change 3012096 on 2016/06/13 by Daniel.Wright Missing file from cl 3011993 Change 3012546 on 2016/06/14 by John.Billon Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled #Jira OR-23282 Change 3012706 on 2016/06/14 by John.Billon Renamed r.ContactShadows.Enable to r.ContactShadows Change 3012992 on 2016/06/14 by Rolando.Caloca DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled - Added support for CustomPresent Change 3013030 on 2016/06/14 by Rolando.Caloca DR - vk - Fix dev issue Change 3013423 on 2016/06/14 by Martin.Mittring removed code redundancy for easier upcoming changes #test:PC Change 3013451 on 2016/06/14 by Martin.Mittring removed no longer needed debug cvar #test:PC Change 3013643 on 2016/06/14 by Zabir.Hoque Fix API only being inlined in the cpp and not avaialble in the .h Change 3013696 on 2016/06/14 by Olaf.Piesche Adding missing quality level spawn rate scaling on GPU emitters Change 3013736 on 2016/06/14 by Daniel.Wright Cached shadowmaps for whole scene point and spot light shadows * Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights) * Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving * Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached * Cached shadowmaps are copied each frame and then movable primitive depths composited * Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap) * 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness) * 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights) Change 3014103 on 2016/06/15 by Daniel.Wright Compile fix Change 3014507 on 2016/06/15 by Simon.Tovey Resurrected Niagara playground and moved to Samples/NotForLicencees Change 3014931 on 2016/06/15 by Martin.Mittring moved r.RenderInternals code into renderer to be able to access more low level data #test:PC, paragon Change 3014933 on 2016/06/15 by Martin.Mittring nicer text Change 3014956 on 2016/06/15 by Daniel.Wright Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD) Change 3014985 on 2016/06/15 by Uriel.Doyon Enabled Texture Build shaders on Mac Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping. Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets #jira UE-30566 #jira UE-31098 Change 3014995 on 2016/06/15 by Rolando.Caloca DR - vk - Removed RHI thread wait on acquire image - Move Descriptor pool into context Change 3015002 on 2016/06/15 by Rolando.Caloca DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine Change 3015041 on 2016/06/15 by Martin.Mittring fixed ImageValidator crashing when using files that exist only in ref or test folder Change 3015309 on 2016/06/15 by Rolando.Caloca DR - vk - Enable fence re-use on SDKs >= 1.0.16.0 Change 3015356 on 2016/06/15 by Rolando.Caloca DR - vk - Prep for staging buffer refactor Change 3015430 on 2016/06/15 by Martin.Mittring minor optimization for subsurfacescatteringprofile Change 3016097 on 2016/06/16 by Simon.Tovey Enabling Niagara by default in the Niagara playground Change 3016098 on 2016/06/16 by Simon.Tovey Some misc fixup to get niagara working again Change 3016183 on 2016/06/16 by Rolando.Caloca DR - vk - Recreate buffer view for volatile buffers Change 3016225 on 2016/06/16 by Marcus.Wassmer Duplicate reflection fixes from 4.12 hotfixes. Change 3016289 on 2016/06/16 by Chris.Bunner Always gather MP_Normal definitions as they can be shared by other material properties. #jira UE-31792 Change 3016294 on 2016/06/16 by Daniel.Wright Fix for ensure accessing CVarCacheWPOPrimitives in game Change 3016305 on 2016/06/16 by Daniel.Wright Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been Change 3016330 on 2016/06/16 by Daniel.Wright Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light Stats for shadowmap memory used under 'stat shadowrendering' Change 3016506 on 2016/06/16 by Daniel.Wright Fixed crash building map in SunTemple due to null access Change 3016703 on 2016/06/16 by Uriel.Doyon Fixed warning due to floating point imprecision when building texture streaming Change 3016718 on 2016/06/16 by Daniel.Wright Volume lighting samples use adaptive sampling final gather * Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting) Change 3016871 on 2016/06/16 by Max.Chen Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation. Copy from Dev-Sequencer #jira UE-32093 Change 3017189 on 2016/06/16 by Zabir.Hoque Fix GBuffer format selection type-o. #CodeReview: Marcus.Wassmer Change 3017241 on 2016/06/16 by Martin.Mittring optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing #code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden Change 3017856 on 2016/06/17 by Rolando.Caloca DR - Missing GL enum Change 3017910 on 2016/06/17 by Ben.Woodhouse - Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates - Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24) #RB:Keli.Hloedversson,Martin.Mittring Change 3018126 on 2016/06/17 by Ben.Woodhouse Fix build warning on Mac #RB:David.Hill Change 3018167 on 2016/06/17 by Chris.Bunner Handle case when float4 is passed to TransformPosition material node. #jira UE-24980 Change 3018246 on 2016/06/17 by Benjamin.Hyder Submitting Preliminary ShadowRefactor TestMap Change 3018330 on 2016/06/17 by Benjamin.Hyder labeled ShadowRefactor map Change 3018377 on 2016/06/17 by Chris.Bunner Removed additional node creation when initializing a RotateAboutAxis node. #jira UE-8034 Change 3018433 on 2016/06/17 by Rolando.Caloca DR - Fix some clang warnings on Vulkan Change 3018664 on 2016/06/17 by Martin.Mittring unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812) #test:PC #code_review:Marcus.Wassmer,Brian.Karis Change 3019023 on 2016/06/19 by Benjamin.Hyder Re-Labeled ShadowRefactor map Change 3019024 on 2016/06/19 by Benjamin.Hyder Correcting Translucent Volume (Non-Directional) settings Change 3019026 on 2016/06/19 by Benjamin.Hyder Correcting Lighting ShadowRefactor map Change 3019414 on 2016/06/20 by Allan.Bentham Refactor mobile shadows Change 3019494 on 2016/06/20 by Gil.Gribb Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering) Change 3019504 on 2016/06/20 by John.Billon -Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk. -Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints. -Created a small common interface for blueprints and the editor itself to use for exporting. #Jira UE-31429 Change 3019561 on 2016/06/20 by Gil.Gribb UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager. Change 3019616 on 2016/06/20 by Rolando.Caloca DR - Replicate change in DevRendering to fix splotches on characters with morph targets Change: 3019599 O - Fix flickering on heroes with morph targets Change 3019627 on 2016/06/20 by Rolando.Caloca DR - Doh! Compile fix Change 3019674 on 2016/06/20 by Simon.Tovey Ripped out the quick hacky VM debugger I wrote a while back. Over complicated the VM and didn't do enough work to justify it. Will revisit debugging and profiling of VM scripts in future. Change 3019691 on 2016/06/20 by Ben.Woodhouse Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed. This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs). #RB:Martin.Mittring, Daniel.Wright Change 3019741 on 2016/06/20 by John.Billon Fixed compile error on mac. Change 3019984 on 2016/06/20 by Martin.Mittring minor optimization Change 3020172 on 2016/06/20 by Zachary.Wilson Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none Change 3020195 on 2016/06/20 by Zachary.Wilson Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none Change 3020196 on 2016/06/20 by Rolando.Caloca DR - Appease static analysis Change 3020231 on 2016/06/20 by Zachary.Wilson Making basic shapes consistent distance field resolution scale. #rb: none Change 3020468 on 2016/06/20 by David.Hill CameraWS UE-29146 Change 3020502 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee Camera for RenderOutputValidation Change 3020508 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee for RenderOutputValidation Change 3020514 on 2016/06/20 by Benjamin.Hyder Setting Autoplay for AutomationMatinee (sequence) Change 3020561 on 2016/06/20 by Daniel.Wright Removed outdated comment on uniform expression assert Change 3021268 on 2016/06/21 by Daniel.Wright Scaled sphere intersection for indirect capsule shadows * Fixes the discontinuity when capsule axis points close to the light direction * GPU cost is effectively the same (more expensive to compute, but tighter culling) Change 3021325 on 2016/06/21 by Daniel.Wright Split ShadowRendering.cpp into ShadowDepthRendering.cpp Change 3021355 on 2016/06/21 by Daniel.Wright Fixed RTDF shadows (broken by shadowmap caching) Change 3021444 on 2016/06/21 by Daniel.Wright Fixed crash due to Depth drawing policy not using the default material shader map properly Change 3021543 on 2016/06/21 by Daniel.Wright Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns Change 3021749 on 2016/06/21 by Daniel.Wright Moved RenderBasePass and dependencies into BasePassRendering.cpp Moved RenderPrePass and dependencies into DepthRendering.cpp Change 3021766 on 2016/06/21 by Benjamin.Hyder Adding 150dynamiclights level to Dev-Folder Change 3021971 on 2016/06/21 by Daniel.Wright Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation * TLM_SurfacePerPixelLighting now behaves like TLM_Surface Change 3022760 on 2016/06/22 by Chris.Bunner Merge fixup. Change 3022911 on 2016/06/22 by Rolando.Caloca DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders Change 3023037 on 2016/06/22 by Rolando.Caloca DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed Change 3023139 on 2016/06/22 by Daniel.Wright Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled Change 3023231 on 2016/06/22 by Daniel.Wright Only allowing opaque per-object shadows or CSM in the mobile renderer Change 3023415 on 2016/06/22 by Daniel.Wright Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target Change 3024888 on 2016/06/23 by Daniel.Wright Fixed preshadows being rendered redundantly with multiple lights Change 3025119 on 2016/06/23 by Martin.Mittring added MeshDecal content to RenderTest Change 3025122 on 2016/06/23 by Martin.Mittring enabled DBuffer for RenderTest Change 3025153 on 2016/06/23 by Marc.Olano Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10. Needed to use world space without shader offsets, not absolute world space. Change 3025180 on 2016/06/23 by Marc.Olano Use translated world space for particle centers. Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables. Change 3025265 on 2016/06/23 by David.Hill Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer #jira UE-26165 Change 3025269 on 2016/06/23 by Ryan.Brucks Adding new Testmap for Pixel Depth Offset velocities with Temporal AA Change 3025345 on 2016/06/23 by Benjamin.Hyder Submitting MeshDecal Content Change 3025444 on 2016/06/23 by Benjamin.Hyder updating content for MeshDecal Change 3025491 on 2016/06/23 by Benjamin.Hyder Updating DecalMesh Textures Change 3025802 on 2016/06/23 by Martin.Mittring added to readme Change 3026475 on 2016/06/24 by Rolando.Caloca DR - Show current state of r.RHIThread.Enable when not using param Change 3026479 on 2016/06/24 by Rolando.Caloca DR - Upgrade glslang to 1.0.17.0 Change 3026480 on 2016/06/24 by Rolando.Caloca DR - Vulkan headers to 1.0.17.0 Change 3026481 on 2016/06/24 by Rolando.Caloca DR - Vulkan wrapper for extra logging Change 3026491 on 2016/06/24 by Rolando.Caloca DR - Missed file Change 3026574 on 2016/06/24 by Rolando.Caloca DR - vk - Enabled fence reuse on 1.0.17.0 - Added more logging info Change 3026656 on 2016/06/24 by Frank.Fella Niagara - Prevent sequencer uobjects from being garbage collected. Change 3026657 on 2016/06/24 by Benjamin.Hyder Updating Rendertestmap to latest Change 3026723 on 2016/06/24 by Rolando.Caloca DR - Fix for ES3.1 RHIs Change 3026784 on 2016/06/24 by Martin.Mittring New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on) Change 3026866 on 2016/06/24 by Olaf.Piesche #jira OR-18363 #jira UE-27780 fix distortion in particle macro uvs [CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
/** Generates arbitrary but valid perpendicular unit vectors to ZAxis. ZAxis should be unit length. */
void GenerateCoordinateSystem(float3 ZAxis, out float3 XAxis, out float3 YAxis)
{
if (abs(ZAxis.x) > abs(ZAxis.y))
{
float InverseLength = 1.0f / sqrt(dot(ZAxis.xz, ZAxis.xz));
XAxis = float3(-ZAxis.z * InverseLength, 0.0f, ZAxis.x * InverseLength);
}
else
{
float InverseLength = 1.0f / sqrt(dot(ZAxis.yz, ZAxis.yz));
XAxis = float3(0.0f, ZAxis.z * InverseLength, -ZAxis.y * InverseLength);
}
YAxis = cross(ZAxis, XAxis);
}
// Define passthrough implementations of EvaluateAttributeAtSample for non-D3D11 platforms.
#if !SM5_PROFILE
float EvaluateAttributeAtSample(float Attribute,uint SampleIndex) { return Attribute; }
float2 EvaluateAttributeAtSample(float2 Attribute,uint SampleIndex) { return Attribute; }
float3 EvaluateAttributeAtSample(float3 Attribute,uint SampleIndex) { return Attribute; }
float4 EvaluateAttributeAtSample(float4 Attribute,uint SampleIndex) { return Attribute; }
#endif
/** Output of the screen vertex shader. */
struct FScreenVertexOutput
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#if METAL_PROFILE || COMPILER_GLSL_ES3_1
//@todo-rco: FIXME!
noperspective float2 UV : TEXCOORD0;
#else
noperspective MaterialFloat2 UV : TEXCOORD0;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
#endif
float4 Position : SV_POSITION;
};
// for velocity rendering, motionblur and temporal AA
// velocity needs to support -2..2 screen space range for x and y
// texture is 16bit 0..1 range per channel
float2 EncodeVelocityToTexture(float2 In)
{
// 0.499f is a value smaller than 0.5f to avoid using the full range to use the clear color (0,0) as special value
// 0.5f to allow for a range of -2..2 instead of -1..1 for really fast motions for temporal AA
return In * (0.499f * 0.5f) + 32767.0f / 65535.0f;
}
// see EncodeVelocityToTexture()
float2 DecodeVelocityFromTexture(float2 In)
{
const float InvDiv = 1.0f / (0.499f * 0.5f);
// reference
// return (In - 32767.0f / 65535.0f ) / (0.499f * 0.5f);
// MAD layout to help compiler
return In * InvDiv - 32767.0f / 65535.0f * InvDiv;
}
// Used for the Global Illumination in the GIReplace material expression
bool GetGIReplaceState()
{
#if REFLECTIVE_SHADOW_MAP
return true;
#else
return false;
#endif
}
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4
struct FWriteToSliceGeometryOutput
{
FScreenVertexOutput Vertex;
uint LayerIndex : SV_RenderTargetArrayIndex;
};
#endif
// Helper macro to globally ignore requests for non-offset world positions in materials when lower than shader model 4. We do this
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3228013) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3156770 on 2016/10/10 by Allan.Bentham Fix VULKAN_ENABLE_API_DUMP build on android. Change 3157838 on 2016/10/11 by Allan.Bentham Fix Vulkan API tracing on android. Change 3170713 on 2016/10/21 by Steve.Cano Adding the "Optional Mobile Features BP Library" plugin to explose Blueprint functions for Sound Volume, Battery level, system temperature (only available on android), and Headphones being plugged in #jira UE-30896 #android #ios #ue4 Change 3171064 on 2016/10/21 by Steve.Cano Plugins to provide a common interface and Android implemenation for providing access to GPS / Location data from Blueprints #ue4 #android #jira UE-35917 Change 3171065 on 2016/10/21 by Steve.Cano IOS implementation of LocationServices plugin to provide access to location data in Blueprints #ue4 #ios #jira UE-35917 Change 3181802 on 2016/11/01 by Steve.Cano Fix an issue introduced in CL 3170713 - Adding new config section to RequiredSections list so that we can generate projects successfully. #jira UE-30896 #ios Change 3181807 on 2016/11/01 by Steve.Cano Make sure to clear out references to our eglSurface when we destroy it, else we will try to set our context with an invalid surface. #jira UE-35004 #android #ue4 Change 3184827 on 2016/11/03 by Allan.Bentham Do not HDR32 encode for views without view family. TranslucentAlphaOnly blend mode now works with encoding. #jira UE-37951 Change 3186684 on 2016/11/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3188693 on 2016/11/07 by Chris.Babcock Corrections to memory stats for Android #jira WEX-3760 #ue4 #android Change 3191538 on 2016/11/09 by Allan.Bentham Mobile tonemapper can use CVarTonemapperOverride Change 3192575 on 2016/11/09 by Chris.Babcock Support placing UE4Game files in ExternalFilesDir for automatic cleanup on uninstall for distribution packages #jira UEPLAT-1422 #ue4 #android Change 3196231 on 2016/11/13 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3196538 on 2016/11/14 by Jack.Porter Fix issue where lighting would not build for the first editor session of projects defaulting to MobileHDR=false as HardwareTargetingModule didn't set cvars #jira UE-38507 Change 3198068 on 2016/11/15 by Dmitriy.Dyomin Fixed android console command sender to work with ADB version 1.0.36 #jira UE-35171 Change 3200230 on 2016/11/16 by Jack.Porter Remove mosaic resolution limitation on ES3 devices #jira WEX-3119 Change 3201251 on 2016/11/16 by Chris.Babcock Fix Android compile error Change 3203542 on 2016/11/18 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3205598 on 2016/11/21 by Dmitriy.Dyomin Fixed: Missing selection outline in editor ES2 preview #jira UE-6458 Change 3205622 on 2016/11/21 by Dmitriy.Dyomin Fix ES2 build error from CL# 3205598 Change 3207232 on 2016/11/22 by Dmitriy.Dyomin ES2 GLSL generated shader simplifications Change 3208608 on 2016/11/23 by Dmitriy.Dyomin Fixed: Landscape Grasstype warning causes log spam when landscape is streamed in or out #jira UE-38694 Change 3209135 on 2016/11/23 by Alicia.Cano Packaging for iOS fails due to several invalid object type errors #jira UE-38431 #ios Change 3209822 on 2016/11/24 by Jack.Porter IWYU changes for LocationServicesBPLibrary Change 3209824 on 2016/11/24 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3210264 on 2016/11/25 by Jack.Porter Fix unicode compile issue on Korean windows Change 3210268 on 2016/11/25 by Jack.Porter IWYU and unicode fixes to Dev-Mobile Change 3211800 on 2016/11/28 by Allan.Bentham Create and set PrimitiveSceneProxy->PrimitiveSceneInfo before SetTransform render thread command is enqueued. Avoids race condition with FPrimitiveSceneInfo's constructor which can occur on out-of-order CPUs. Change 3212621 on 2016/11/28 by Jack.Porter More IWYU fixes. Change 3213080 on 2016/11/29 by Allan.Bentham enable UseSingleSampleShadowFromStationaryLights on mobile. PR #2990: Fixes single sample shadows for mobile. (Contributed by kallehamalainen) Change 3213164 on 2016/11/29 by Jack.Porter Win32 IWYU fix Change 3213932 on 2016/11/29 by Chris.Babcock Fix handling of ETC2 filtering by Google Play Store (if only ETC2, require ES3.0+ but don't use texture filtering in manifest) #jira UE-39120 #ue4 #android Change 3214563 on 2016/11/29 by Dmitriy.Dyomin Disable dynamic buffer discarding on Adreno330 (was casuing 10ms stalls on slate buffers update) Change 3214571 on 2016/11/29 by Dmitriy.Dyomin Custom stencil on Mobile #jira UEMOB-183 Change 3214641 on 2016/11/30 by Dmitriy.Dyomin Disable distance culling when rendering image for world composition #jira UE-37754 Change 3214656 on 2016/11/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3218479 on 2016/12/01 by Jack.Porter Fix for Vulkan build error when using AutoSDK Change 3218596 on 2016/12/02 by Dmitriy.Dyomin Fixed: Android split screen multiplayer does not function or render correctly #jira UE-35204 Change 3218874 on 2016/12/02 by Allan.Bentham Fix CSM shadow bug when ES3.1 + mobileHDR == false. Fix inverted culling when rendering shadow depths with mobilehdr == false #jira UE-39111 Change 3220911 on 2016/12/04 by Jack.Porter Fixed landscape duplicated GUID detection and crash when one of the landscapes is in a hidden streaming level Change 3220935 on 2016/12/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3222831 on 2016/12/05 by Dmitriy.Dyomin Added support for MGD and Andreno profilers #jira UEMOB-184 Change 3222843 on 2016/12/05 by Jack.Porter Fixed bug caused by CL 3196538 causing r.MobileHDR to toggle and crash when opening render settings #jira UE-38507 Change 3222934 on 2016/12/06 by Jack.Porter Android graphics debugger text changes Change 3223042 on 2016/12/06 by Dmitriy.Dyomin Fixed: missing GPU particles in LDR mode on device #jira UE-39363 Change 3223043 on 2016/12/06 by Jack.Porter Fixed logspam warnings from TcpMessaging launching on Android #jira UE-37895 Change 3223046 on 2016/12/06 by Allan.Bentham Move ES3.1 preview mode out of experimental. Add per device quality level preview to ES3.1 preview sub menu when project settings allow. #jira UEMOB-178 Change 3223113 on 2016/12/06 by Allan.Bentham changed MOBILE_EMULATION define for METAL_PROFILE on mac. fixes issues with editor primitive rendering with ES3.1 feature level preview. added -featureleveles2/31 commandline support to metalrhi. Change 3223117 on 2016/12/06 by Allan.Bentham Initialise FPrimitiveSceneInfo::CachedReflectionCaptureProxies Change 3223131 on 2016/12/06 by Allan.Bentham Fix translucency rendering when mobilehdr == false. (Disable mod shadows when mobilehdr == false.) #jira UE-38343 Change 3223162 on 2016/12/06 by Jack.Porter Disallow Absolute World Position with "excluding shader offset" on ES2 #jra UE-25555 Change 3223204 on 2016/12/06 by Jack.Porter Fix for unable to save levels when landscape components with tessellation moved to another level #jira UE-39372 Change 3223677 on 2016/12/06 by Chris.Babcock Fix tabs Change 3224139 on 2016/12/06 by Chris.Babcock Support modification of build.xml and add post import additions to GameActivity #jira UE-31372 #PR #2440 #ue4 #android Change 3224152 on 2016/12/06 by Chris.Babcock Add support for MadCatz C.T.R.L.R Android controller models #ue4 #android Change 3224162 on 2016/12/06 by Chris.Babcock Driver bug fix and using separate context for MediaPlayer14 (contributed by BrianHarris) #jira UE-35825 #PR #2787 #ue4 #android Change 3224581 on 2016/12/07 by Dmitriy.Dyomin Fixed black screen regression on iOS OpenGL Also now reporting shader compiler errors in iOS Change 3224589 on 2016/12/07 by Allan.Bentham Increase mobile renderer's maximum CSM cascade limit to 4 and introduce max shadow cascade cvar for mobile which defaults to 2 retaining existing behaviour. #jira UEMOB-187 Change 3224774 on 2016/12/07 by Jack.Porter Added flags for mobile shader permutation reduction Renamed mobile lighting policies to better describe them Set flags to remove policies not used by SunTemple - saves 22MB package size on Android #jira: UEMOB-179 Change 3224782 on 2016/12/07 by Allan.Bentham Add project option to set maximum supported CSM cascades to mobile renderer. #jira UEMOB-187 Change 3224943 on 2016/12/07 by Dmitriy.Dyomin Metal iOS will use sRGB textures #jira UEMOB-189 Change 3225098 on 2016/12/07 by Dmitriy.Dyomin fix for compile error from 3224943 Change 3225188 on 2016/12/07 by Chris.Babcock Fix #includes in deferred Android OpenGL #jira UE-39440 #ue4 #android Change 3226402 on 2016/12/07 by Dmitriy.Dyomin Fixed: wrong condition for r8 srgb on mac #jira UE-39471 Change 3226485 on 2016/12/08 by Dmitriy.Dyomin Fixed: Rendering Artifacts and invisible objects in Fortnite regression from nobile custom stencil changes #jira UE-39452, UE-39455 Change 3226637 on 2016/12/08 by Dmitriy.Dyomin Fixed: Odin Ensure Texture passed to ClearDepthStencil is not what is currently set as RenderTarget #jira UE-39482 Change 3226922 on 2016/12/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3227353 on 2016/12/08 by Chris.Babcock Remove CopyVisualizers batch call again Change 3228013 on 2016/12/08 By Chris.Babcock Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) [CL 3228374 by Jack Porter in Main branch]
2016-12-08 22:53:00 -05:00
// because we are using an extra interpolator for this second world position, and in < ES31 there may not be enough
#define USE_WORLD_POSITION_EXCLUDING_SHADER_OFFSETS (NEEDS_WORLD_POSITION_EXCLUDING_SHADER_OFFSETS && FEATURE_LEVEL >= FEATURE_LEVEL_ES3_1)
/** Used for calculating vertex positions and UVs when drawing with DrawRectangle */
void DrawRectangle( in float4 InPosition, in float2 InTexCoord, out float4 OutPosition, out float2 OutTexCoord)
{
OutPosition = InPosition;
OutPosition.xy = -1.0f + 2.0f * (DrawRectangleParameters.PosScaleBias.zw + (InPosition.xy * DrawRectangleParameters.PosScaleBias.xy)) * DrawRectangleParameters.InvTargetSizeAndTextureSize.xy;
OutPosition.xy *= float2( 1, -1 );
OutTexCoord.xy = (DrawRectangleParameters.UVScaleBias.zw + (InTexCoord.xy * DrawRectangleParameters.UVScaleBias.xy)) * DrawRectangleParameters.InvTargetSizeAndTextureSize.zw;
}
/** Used for calculating vertex positions when drawing with DrawRectangle */
void DrawRectangle( in float4 InPosition, out float4 OutPosition)
{
OutPosition = InPosition;
OutPosition.xy = -1.0f + 2.0f * (DrawRectangleParameters.PosScaleBias.zw + (InPosition.xy * DrawRectangleParameters.PosScaleBias.xy)) * DrawRectangleParameters.InvTargetSizeAndTextureSize.xy;
OutPosition.xy *= float2( 1, -1 );
}
//Since some platforms don't remove Nans in saturate calls,
//SafeSaturate function will remove nan/inf.
//Can be expensive, only call when there's a good reason to expect Nans.
//D3D saturate actually turns Nans -> 1 since it does the min(x, 1) first, and D3D nan rules specify the non-nand operand wins in such a case.
//See: http://msdn.microsoft.com/en-us/library/windows/desktop/jj218760(v=vs.85).aspx
#define SafeSaturate_Def(type)\
type SafeSaturate(type In) \
{\
return saturate(In);\
}
SafeSaturate_Def(float)
SafeSaturate_Def(float2)
SafeSaturate_Def(float3)
SafeSaturate_Def(float4)
// Experimental way to allow adjusting the OpacityMask for shadow map rendering of masked materials.
// Can be accessed with a Custom material node. If this turns out to be very useful we can expose as MaterialFunction
// and potentially expose other queries as well (e.g. SkeletalMesh, HitProxy, ).
// @return 0:no, 1:yes
float IsShadowDepthShader()
{
#ifdef SHADOW_DEPTH_SHADER
return 1;
#else
return 0;
#endif
}
#define TERRAIN_ZSCALE (1.0f/128.0f)
// Decodes a value which was packed into two 8 bit channels
float DecodePackedTwoChannelValue(float2 PackedHeight)
{
return PackedHeight.x * 255.0 * 256.0 + PackedHeight.y * 255.0;
}
float DecodeHeightValue(float InValue)
{
return (InValue - 32768.0) * TERRAIN_ZSCALE;
}
float DecodePackedHeight(float2 PackedHeight)
{
return DecodeHeightValue(DecodePackedTwoChannelValue(PackedHeight));
}
uint ReverseBits32( uint bits )
{
#if SM5_PROFILE && !METAL_SM5_PROFILE
return reversebits( bits );
#else
bits = ( bits << 16) | ( bits >> 16);
bits = ( (bits & 0x00ff00ff) << 8 ) | ( (bits & 0xff00ff00) >> 8 );
bits = ( (bits & 0x0f0f0f0f) << 4 ) | ( (bits & 0xf0f0f0f0) >> 4 );
bits = ( (bits & 0x33333333) << 2 ) | ( (bits & 0xcccccccc) >> 2 );
bits = ( (bits & 0x55555555) << 1 ) | ( (bits & 0xaaaaaaaa) >> 1 );
return bits;
#endif
}
SamplerState GetBilinearWrappedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap);
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModeBilinear, sce::Gnm::kFilterModeBilinear);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModeLinear);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModePoint);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.Bilinear;
#endif
}
SamplerState GetBilinearClampedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModeBilinear, sce::Gnm::kFilterModeBilinear);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModePoint);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModeLinear);
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.BilinearClamped;
#endif
}
SamplerState GetPointWrappedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModePoint, sce::Gnm::kFilterModePoint);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModePoint);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModePoint);
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.Point;
#endif
}
SamplerState GetPointClampedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModePoint, sce::Gnm::kFilterModePoint);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModePoint);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModePoint);
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.PointClamped;
#endif
}
SamplerState GetTrilinearWrappedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModeBilinear, sce::Gnm::kFilterModeBilinear);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModeLinear);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModeLinear);
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap, sce::Gnm::kWrapModeWrap);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.Trilinear;
#endif
}
SamplerState GetTrilinearClampedSampler()
{
#if PS4_PROFILE
sce::Gnm::Sampler BuiltinSampler = GetDefaultBuiltinSampler();
BuiltinSampler.setXyFilterMode(sce::Gnm::kFilterModeBilinear, sce::Gnm::kFilterModeBilinear);
BuiltinSampler.setMipFilterMode(sce::Gnm::kMipFilterModeLinear);
BuiltinSampler.setZFilterMode(sce::Gnm::kZFilterModeLinear);
BuiltinSampler.setWrapMode(sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel, sce::Gnm::kWrapModeClampLastTexel);
return SamplerState(BuiltinSampler);
#else
return BuiltinSamplers.TrilinearClamped;
#endif
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
// see PixelShaderOutputCommon
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
struct FPixelShaderIn
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
{
// read only
float4 SvPosition;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
Copying //UE4/Odin-Staging to //UE4/Dev-Main (Source: //Odin/Main @ 3226588) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3226413 on 2016/12/07 by Jeff.Farris Fixed potential crash in USkeletalMeshComponent::InitArticulated(). Change 3226257 on 2016/12/07 by Mike.Beach Mirroring CL 3219381 from Dev-Blueprints Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3226147 on 2016/12/07 by Aaron.McLeran Implementing UE-39421 fix into odin Change 3225906 on 2016/12/07 by Jeff.Farris Merge-copied 3216144 from Dev-Framework to Odin (Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.) Change 3225097 on 2016/12/07 by Zak.Middleton #odin-ue4 - Fix GameEngine.cpp compile error (FMessageDialog not declared). Change 3225050 on 2016/12/07 by Jeff.Farris Added forward declaration to IOculusRiftPlugin.h to fix compile error in Test builds. Change 3224757 on 2016/12/07 by Ben.Marsh Merge CL 3224750 from //UE4/Main: Removing -forcelogflush parameter from UAT invocations of the editor to improve cook times. Change 3224451 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. Copy from Dev-Sequencer #jira UE-39419 Change 3223856 on 2016/12/06 by Guillaume.Abadie Fixes merge collision of Base Pass's selective outputs and MSAA alpha to coverage Change 3223673 on 2016/12/06 by Zak.Middleton #odin-ue4 - Fixed crash when opening data table assets and working with some types of nodes in the graph editor. Merged fixes from Dev-Editor: CL 3156326, 3172078, 3187276, 3210983. Change 3223381 on 2016/12/06 by Nick.Whiting Merging using UE4_MAIN_to_ODIN @ CL 3221533 Change 3223325 on 2016/12/06 by Alex.Delesky Plugin wizard definition for creating Odin game mods. Currently this just creates an empty Content Only plugin. This also enables the mod creation window to be shown on editor startup (can be toggled off) or invoked via a toolbar button. Change 3221825 on 2016/12/05 by Nick.Whiting Updating VCToolChain.cs file, which was skipped in last integration Change 3221793 on 2016/12/05 by Zak.Middleton #odin - Back out changelist 3218159. Going to move to trace by profile in the future instead. Change 3219668 on 2016/12/02 by Alex.Delesky Partially duplicating CL 3185126 into Odin: -Fixes an issue where adding a new plugin could unnecesarily added to the additional plugin directory, which can cause build failures. Change 3219558 on 2016/12/02 by Zak.Middleton #odin - Fix adapative pixel density crash (again). INI settings are dumb and locally saved INIs ignore the change to the base I pushed yesterday, so pushing a code fix instead. Wrapped in "DO NOT MERGE" since this crash is fixed in Dev-VR. Change 3218953 on 2016/12/02 by Alex.Delesky Back out changelist 3216159 - Reintroducing Plugin Wizard Definition for defining New Plugin Wizard functionality Change 3218822 on 2016/12/02 by Matthew.Griffin Remove modding from folder paths Add logging for delete task Delete more temp files from Copy and DDC process Change 3218410 on 2016/12/01 by Zak.Middleton #ue4-odin - Fix crash when unloading levels or exiting the editor when objects placed in levels had a MID set in construction scripts. CLs from Dev-Editor: 3203739, 3205814 Change 3218277 on 2016/12/01 by Zak.Middleton #ue4-odin - Fixed crash when opening data table assets. Merged small fixes from Dev-Editor: CL 3156326, 3172078, 3187276. #jira ODIN-2096 Change 3218178 on 2016/12/01 by Jeff.Farris Fix for bad merge in InheritableComponentHandler (discovered via shadow var warning) Change 3218159 on 2016/12/01 by Zak.Middleton #ue4-odin - Wrap blueprint trace functions using trace channels to a generic helper that uses any collision channel. Before we decide whether to expose object channel or general collision channel functions to blueprints, this allows games to at least build off the general functions. Change 3216502 on 2016/11/30 by Nick.Whiting Missed files from merge Change 3216490 on 2016/11/30 by Nick.Whiting Merge Main -> Odin, up to CL 3202946 Change 3216159 on 2016/11/30 by Zak.Middleton #odin - Back out changelist 3216005 Change 3216005 on 2016/11/30 by Alex.Delesky Adding the IPluginWizardDefinition interface, which is used to determine the functionality of the new plugin wizard along with what kind of plugins can actually be created. This can be used to change the behavior of the plugin wizard to create new game mods. Change 3215329 on 2016/11/30 by Jeff.Farris Re-expose collision settings on EQSTestingPawn so users can make the test pawn agent dimensions match the pawn they are trying to simulate. Change 3213875 on 2016/11/29 by Jeff.Farris Turned off collision on EQSRenderingComponent for EQSTestingPawns. Fixes issue with bogus agent dimensions. Change 3213027 on 2016/11/29 by Matthew.Griffin Added Modding Build steps to copy everything needed for an installed editor build Added BuildCommand to run GenerateDistillFileSetsCommandlet and copy the resulting file list to another location Fix for APEX .pdb paths Change 3206638 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class Change 3206175 on 2016/11/21 by Nick.Atamas #umg exposed support for explicit wrap width in WrapBox. Change 3204658 on 2016/11/18 by Alan.Villani #odin Wiring up new intro cinematic to game flow. Change 3201200 on 2016/11/16 by Alan.Villani #odin Spectator/Leaderboards: Added console var vr.bAllowSpectatorTexture to enable/disable the display of the spectator texture. Also enabling spectator panel and leaderboards with this change. Change 3201064 on 2016/11/16 by Wyeth.Johnson Support new billboards Change 3199357 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Removing logging now that problem has been fixed. Change 3199302 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Skip reinit if not a successful init in ovr_ResetInitAndContext(). Also added logging to shutdown. Change 3198947 on 2016/11/15 by Alan.Villani #odin Spectator/Leaderboards: Reinstating CL 3197812 with fix to make InitWithWindowsPlatform() return warnings instead of errors. Change 3198803 on 2016/11/15 by Jeff.Farris Copied CL 3198691 frojm Dev-Sequencer (Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks.) Change 3198525 on 2016/11/15 by Alan.Villani #odin ODIN-1758. Spectator/Leaderboards: Back out changelist 3197812. This change was causing the automated packaged build to fail. Since the root cause hasn't been found, reverting the change. Change 3197909 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Fix for linking issue with Odin Monolithics build. Change 3197812 on 2016/11/14 by Alan.Villani #odin Spectator and leaderboard code support: Support for enhanced oculus leaderboard functionality. Player's score is uploaded on FinishLevel(). Added delegate function to allow Rift render code to render an additional passed in texture - this is used to display spectator information in the mirrored window. GetMissionRowName() can now return the row name for the intro mission. This is only code support. Blueprint support to follow. Change 3196940 on 2016/11/14 by Nick.Whiting Fix for include path Change 3196897 on 2016/11/14 by Nick.Whiting Integrating IKinema plugin. Note that there are some deprecation warnings that have not been fixed up because of the refactoring. We're going to avoid fixing that up for now, because it's a large refactor, and the plugin is only needed for this week. Change 3194897 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) -- Downgrade warning log spam when sweeping skeletal mesh components. Change 3194799 on 2016/11/11 by Nick.Atamas Added better normals for curved WidgetComponent. Change 3194697 on 2016/11/11 by Chris.Bunner Duplicated CL 3194665 from Dev-Rendering: Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194383 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - Avoid calling ComponentOverlapComponent() when handling overlap checks if either component is a SkeletalMeshComponent. That function returns false for those, however a normal global overlap check would return a valid result. Also elevated warnings (from log) when trying to use above function with SkeletalMeshComponents. Change 3194380 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - UPrimitiveComponent::GetCollisionEnabled() checks the owner Actor enable collision setting. Handles cases where the BodyInstance doesn't have physics state. Also merge CL 3136709 to fix overlap events spam. Change 3192616 on 2016/11/09 by Zak.Middleton #odin - Jump arcs only draw in editor if Navigation is shown, or when selected in editor. Change 3192310 on 2016/11/09 by Daniel.Wright [Copy] Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3191042 on 2016/11/08 by Nick.Atamas #slate/umg Added SetIsExapanded_Animated() method to SExpandableArea. Added anim length to ExpandableArea's widget style. Change 3190411 on 2016/11/08 by Guillaume.Abadie Adds some randomness in particul collisions. Change 3186455 on 2016/11/03 by Stanley.Hayes Fixed Tangents the mesh generation of Widget Component, now works with Bump Offset! -- The Impl for non-planar widgets is wrong but works as a temp fix Change 3186335 on 2016/11/03 by Alan.Villani #odin Oculus Input: Fix for haptic feedback not processing unless both touch controllers are active. Change 3184215 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3182542 on 2016/11/01 by Nick.Atamas Applied feedback after code review: - Fixed bug with incorrectly assigned LocalHitLocation - PerformTrace is now const - Clarified comments. Potentially fixed jira ODIN-1590, pending verification. Change 3181845 on 2016/11/01 by Nick.Atamas Details panel filters now show a distinct visual state (yellow highlight) when a filter is active. https://jira.it.epicgames.net/browse/UE-11088 Change 3179037 on 2016/10/28 by Zak.Middleton #ue4 - (Odin) - Avoid crash in PropertyChangeListener when WeakObjectPtr goes null. Prevent passing null objects in array to delegates that don't null check the elements. Repro steps still unclear, adding ensure() to catch it for more info. Change 3177127 on 2016/10/27 by Alan.Villani #odin Menu Shell: Put in cvar to allow disabling of haptics. Change 3174582 on 2016/10/26 by Zak.Middleton #ue4 - Changed Actor::GetForwardVector, GetUpVector, and GetRightVector to just wrap to the FQuat functions. These use inline constants rather than a memory fetch to the static FVector::ForwardVector etc, so the multiplies are better optimized in-place by the compiler (ie with constant folding). Change 3174401 on 2016/10/25 by Maciej.Mroz In nativized code Nullptr is always casted to UObject type. #jira ODIN-1560 Change 3173310 on 2016/10/25 by Guillaume.Abadie Fix a bug in the forward shading particule collision hack using ddx/ddy to compute the normal and implement an accurate way of compute the normal requiering two addtional scene depth buffer fetches for neighboorhing pixels and use it as default. Change 3172997 on 2016/10/24 by Nick.Atamas Cylindrical Widget - First Pass Support. Change 3172707 on 2016/10/24 by Nick.Whiting Integrating fix for haptic effects with sound waves crashing when no sound wave is loaded. Change 3172167 on 2016/10/24 by Jeff.Farris Merged 3120587 from Dev-Sequencer to Odin (Fbx Export: Fix double transforms on an exported mesh.) Change 3170221 on 2016/10/21 by Zak.Middleton #ue4 - Fix projectiles and characters not moving at all when frame delta time is very low (time dilation is very low, framerate is very high, or a combination of both). Change 3170036 on 2016/10/20 by Zak.Middleton #ue4 - Make Ragdoll collision profile ignore Visibility channel (to match CharacterMesh collision profile). Change 3169728 on 2016/10/20 by Zak.Middleton #ue4 - Fix comment. Change 3169727 on 2016/10/20 by Zak.Middleton #ue4 - Fix spacing/indentation. Change 3169277 on 2016/10/20 by Zak.Middleton #ue4 - Lower default simulations per second in PredictProjectilePath. Now that it is more accurate (after CL 3124174), this will still maintain quality with better performance. Change 3169272 on 2016/10/20 by Zak.Middleton #ue4 - Change some array Reset() calls back to Empty(), since blueprints typically keep these arrays around forever and we don't want them to stay large. Change 3168157 on 2016/10/19 by Jeff.Farris Merging 3168079 from Dev-Framework to Odin (Fix timing issue that causes snapshotpose to t-pose.) Change 3167894 on 2016/10/19 by Chris.Bunner Updated tooltip comment. Change 3167569 on 2016/10/19 by Jeff.Farris #engine Fixed issue with cine camera component where blueprint-accessible FOV data could be incorrect in some circumstances Change 3166950 on 2016/10/18 by Zak.Middleton #ue4 - Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656. Change 3166807 on 2016/10/18 by Zak.Middleton #ue4 - Make all GameplayStatics functions take const WorldContextObjects, so they are more usable from C++. Change 3166540 on 2016/10/18 by Jeff.Farris Merging 3164818 from Dev-Framework to Odin (Added a pose snapshot feature that allows users to convert an existing skeletal mesh pose into a node inside the anim blueprint. This is useful for things like getup from ragdoll.) Change 3166323 on 2016/10/18 by Jeff.Farris #engine Fixed issue where Navlink smartlinks wouldn't respect the Direction property proprely. Change 3163415 on 2016/10/14 by Chris.Bunner Allow surface actor particles to inherit UV coordinates through the dynamic parameter struct. Change 3162716 on 2016/10/13 by Jeff.Farris #engine Made UPathFollowingComponent::HasReachedCurrentTarget() virtual Change 3161602 on 2016/10/13 by Jeff.Farris #engine removed a comment I left in Change 3161037 on 2016/10/12 by Alan.Villani #odin Loading Screens: Modified AsyncLoadingSplash to use platform specific max layer number. Change 3160690 on 2016/10/12 by Jeff.Farris #engine Added PathFollowingComponent::bIsDecelerating to know when AI is in its "decelerate at the end of the path" state Change 3160686 on 2016/10/12 by Jeff.Farris #engine Fixed comment on NavMovementComponent::bUseAccelerationForPaths Change 3160200 on 2016/10/12 by Zak.Middleton #odin - Added Odin versions of Sphere, Capsule, Box trace functions taking any trace channel. Change 3156847 on 2016/10/10 by Maciej.Mroz #jira ODIN-1345 In nativized code, value of output array parameter is reset before the funtion, that will fill the parameter, is called. The same mechanism is already used by bytecode comiler. Change 3155495 on 2016/10/07 by Zak.Middleton #ue4 - RootComponent fixup in AActor::PostLoadSubojects should handle constructors that also try to fix up the old root component on their own. Additionally we should attach the old root component to the new one, otherwise it has no parent. Change 3154962 on 2016/10/07 by Chris.Bunner Duplicating CL 3148934, 3148994 from Dev-Rendering - Added pre-skinned local position material graph node, vertex shader only. Change 3154255 on 2016/10/06 by Zak.Middleton #ue4 - Add AIController to the delegate for move completion for blueprint "AI Move To Location or Actor" nodes, so you can know which AI finishes the move. Change 3154217 on 2016/10/06 by Mike.Beach Backing out changelist 3146883, as it was causing properties to clear on load (in Gun_Shotgun/BP_RightHand). Change 3154199 on 2016/10/06 by Zak.Middleton #ue4 - Inline a few simple functions in UKismetSystemLibrary for performance in nativized builds. Change 3153427 on 2016/10/06 by Jeff.Farris Updated Oculus AppID to the full game ID Change 3148205 on 2016/10/02 by Zak.Middleton #ue4 - Perf: Add simple path for UPrimitiveComponent::UpdatePhysicsVolume() when there are no physics volumes placed in a level. Avoid checking overlapping components for any volumes at all. Change 3148089 on 2016/10/01 by Phillip.Kavan Merging in CLs 3148022 and 3148033 from //UE4/Dev-Blueprints/... Note: These were dependent on the following additional CLs, which have also been merged in: => 3081010,3116021,3123581,3131318,3132348,3133072,3133817,3137800,3137851 Change 3148054 on 2016/10/01 by Nick.Whiting Adding much smaller footprint entitlement check Change 3147910 on 2016/10/01 by Nick.Whiting Back out changelist 3147807 Change 3147909 on 2016/10/01 by Nick.Whiting Back out changelist 3147787 Change 3147810 on 2016/09/30 by Zak.Middleton #odin - Fix "Delay" nodes in macros not working correctly. This made simultaneous instances of our "UndilatedDelay" and "0-1 Lerp" macros incorrect. (Mirror CL 3119502 from Dev-Blueprints) Change 3147807 on 2016/09/30 by Nick.Whiting Blueprint cyclic dependency fixes, submitted on behalf of DanO. Change 3147787 on 2016/09/30 by Nick.Whiting Adding Oculus Entitlement check for Odin Change 3147732 on 2016/09/30 by Daniel.Wright From Guillaume: Skip ClearStencilFromBasePass by using a single bit of stencil as a sandbox bit. This requires all passes that use stencil to setup a proper read / write mask, as other stencil bits will be non-zero. Saves .14ms Change 3147285 on 2016/09/30 by Dan.Oconnor Back out changelist 3147258 Introduced "Detaching from existing linker" crash Change 3147258 on 2016/09/30 by Dan.Oconnor Making sure we defer objects that have unserialized archetypes Change 3146985 on 2016/09/30 by Daniel.Wright Skip Prepass ResolveSceneDepthTexture if there's no way decals or shadows will use it, since there's another resolve after the base pass. Saves .1ms in the planar reflection pass. Change 3146883 on 2016/09/30 by Dan.Oconnor Fix for component data getting lost on load. Two primary causes: 1. Loading component, then loading its template and reinitializing it from parent 2. Discarding inheritable component handler on load because it 'matched' the unloaded super (or it was unloaded and matched a loaded super, or both of them weren't yet loaded and they matched) Change 3145504 on 2016/09/29 by Daniel.Wright Capsule indirect shadows are now affected by DynamicShadows showflag Change 3145416 on 2016/09/29 by Wyeth.Johnson optimized vector to radial value to use atan2fast. Small polish to weapon available indicators, slightly smaller, radial res in, get brighter right before pickup to match the glow transition Change 3144359 on 2016/09/28 by Zak.Middleton #ue4 - Add IsPointInBox() and IsPointInBoxWithTransform() to KismetMathLibrary. Change 3144302 on 2016/09/28 by Daniel.Wright New SceneCapture functions for managing the ShowOnly list: RemoveShowOnlyComponent, RemoveShowOnlyActorComponents, ClearShowOnlyComponents Change 3144210 on 2016/09/28 by Daniel.Wright Manual copy - Shadow stencil optimisation from Ben Woodhouse with cvar (enabled by default). Saves .2ms in Odin. Change 3144208 on 2016/09/28 by Daniel.Wright Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970 Change 3143778 on 2016/09/28 by Ryan.Vance Disabling motion blur scale behavior. We want the motion blur scale to be consistent regardless of time dilation. Cleaning up the velocity bias change made yesterday for odin, need to ensure it doesn't make it back to main as it will break TAA. Change 3143728 on 2016/09/28 by Jeff.Farris Made AIController::MoveTo virtual Change 3142740 on 2016/09/27 by Nick.Whiting Fix for dynamic object velocity rendering not working. MSAA was breaking it, needed to add a bias in the VelocityShader in order to pass depth tests Change 3142665 on 2016/09/27 by Ryan.Vance Fixing incorrect uniform/buffer references for passes that aren't drawn with ISR when ISR is turned when using forward. Change 3142488 on 2016/09/27 by Zak.Middleton #ue4 - Expose Character::MovementModeChangedDelegate to blueprints. Fix category on OnReachedJumpApex event. Change 3142360 on 2016/09/27 by Frank.Fella Sequencer - Don't crash when a bool track or visibility track has a null runtime object. Change 3142204 on 2016/09/27 by Zak.Middleton #odin - Nav jump links update their nav data in realtime as the start and end points are moved. Still need to color the predicted path based on the nav data. Change 3141695 on 2016/09/27 by Guillaume.Abadie Fixes depth buffer collision on GPU particle in the forward render by computing the world normal using a cross(ddx(), ddy()) of the world position. #review-3141656 @ben.woodhouse Change 3141013 on 2016/09/27 by Zak.Middleton #ue4 - NavLinkProxy properly calls SetNavigationRelevancy() when created in the editor. Fixes the need to uncheck/recheck bSmartLinkIsRelevant. Change 3140878 on 2016/09/26 by Zak.Middleton #ue4 - Add MarkRenderStateDirty() to UNavLinkCustomComponent::SetLinkData(), so visualizers update asap after link data changes. Change 3140863 on 2016/09/26 by Nick.Whiting Adding in vr.MonoCapture, which disables the right eye for capturing in order to give a performance boost Change 3140790 on 2016/09/26 by Zak.Middleton #ue4 - Make LineBatchComponent's FLineBatcherSceneProxy::GetViewRelevance() respect show flags (such as hidden in game). Change 3140175 on 2016/09/26 by Dan.Oconnor Mirror of 3140143 #jira UE-36395 Change 3139622 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Change 3139257 on 2016/09/24 by Jeff.Farris Added GetGrabbedComponent() to UPhysicsHandleComponent. Change 3139050 on 2016/09/23 by Nick.Whiting Support for trailer capturing, as well as gamepad controls for adjustment Change 3138644 on 2016/09/23 by Zak.Middleton #ue4 - Added FPredictProjectilePathPointData::Reset(). Presize path points array in UGameplayStatics::PredictProjectilePath(). Change 3138521 on 2016/09/23 by Ryan.Vance #jira UE-36114 We need to bind the right eye's forward lighting state when ISR is enabled and branch depending on which eye instance we're drawing. Added a copy of FForwardGlobalLightData, NumCulledLightsGrid CulledLightDataGrid, and ForwardLocalLightBuffer for the right eye and set them when drawing with ISR Moved ForwardLightingResources from FViewInfo up to FSceneView for access Removed USE_CULLED_LOCAL_LIGHTS as it wasn't being used and complicated the shader refactor TODO: This can be greatly simplified by generating the FForwardGlobalLightData uniform assignment shader code similar to how I'm handling the view uniforms. To clean up the branching for the grid buffers we should write both eyes into a single buffer and just use an offset. Change 3138178 on 2016/09/23 by Zak.Middleton #ue4 - Add FVector::DistXY() and Dist2D() (as an alias). Add FVector::Distance() as an alias for Dist(), and FVector::DistSquared2D() as an alias for DistSquaredXY(). Fixed comment in FVector2D::Distance() saying it was the squared distance. - This is more in line with the Size2D(), SizeSquared2D(), GetSafeNormal2D() naming, but maintains backwards compat for a large amount of code. Change 3138162 on 2016/09/23 by Lukasz.Furman fixed navmesh crash on attempt to regenerate an empty tile layer Change 3137578 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Ensured, that CreateExport (and fully construction) is called for loaded DynamicClass. Change 3136774 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. #jira ODIN-1013 Change 3136491 on 2016/09/22 by Jeff.Farris Removed an unnnecessary ensure in ApplyPhysicalAnimationProfileBelow. Change 3136412 on 2016/09/22 by Zak.Middleton #ue4 - Inlined more functions in KismetMathLibrary that used error reporting (eg divide by zero errors). Moved the actual error reporting to the cpp so the inline overhead and compilation overhead is negligible. Change 3136288 on 2016/09/22 by Zak.Middleton #ue4 - Inline KismetMathLibrary functions where appropriate. Improves performance in nativized builds where the calls were not inlined even for the most simple functions (like "Not Bool", "Add Ints"). Change 3136162 on 2016/09/22 by Ben.Marsh Merge CL 3136158 to fix issues generating project files with Visual Studio Express. Change 3135403 on 2016/09/22 by Jeff.Farris GameplayStatics::ApplyPointDamage and ApplyDamage now return the actual damage that was applied Change 3135052 on 2016/09/21 by Zak.Middleton #ue4 - Add new GameplayStatics::PredictProjectilePath functions with added functionality. - Option to trace for collision by trace channel, object type, or both. - Added versions that take input and output struct parameters. - Output now includes location, velocity, and time for each point on the path. Change 3134757 on 2016/09/21 by Guillaume.Abadie Removes all resolve operations from distortion pass and support MSAA for the forward shader. #review-3134758 @daniel.wright Change 3134635 on 2016/09/21 by Jeff.Farris Merged from Dev-Physics-Upgrade to Odin. This is the upgrade to PhysX 3.4. Change 3134101 on 2016/09/21 by David.Hill Post process CombineLUT shouldn't be per eye. Also disable weighted-average post process passes for bloom when filter size is set to zero. #review-3134102 @chris.bunner Change 3133191 on 2016/09/20 by Guillaume.Abadie Normalizes material's Opacity Mask according to Opacity Mask Clip Value. Change 3133082 on 2016/09/20 by Brian.Karis Static light source shapes in reflection captures will fade out when outside influence instead of going black. Change 3132936 on 2016/09/20 by Jeff.Farris Fixed some engine issues with setting mass overrides. Change 3132821 on 2016/09/20 by Guillaume.Abadie Adds support for MSAA on masked material using shader implemented alpha to coverage. #review-3130154 @daniel.wright Change 3132522 on 2016/09/20 by Zak.Middleton #ue4 - Cache conversion of WalkableSlopeAngle to the cosine value in FWalkableSlopeOverride struct, when used in the override modes. Avoids computing this conversion (potentially multiple times per frame) for every character movement move and floor test. Change 3130457 on 2016/09/19 by Daniel.Wright Reuse ESceneColorFormatType::HighEndWithAlpha if the format allows it - prevents two scene color textures being allocated with planar reflections with r.SceneColorFormat=4 Change 3129467 on 2016/09/16 by Zak.Middleton #ue4 - Improve Accuracy of final point in UGameplayStatics::PredictProjectilePath() to respect MaxSimTime. Previously the sim could have exceeded the max time if (MaxSimTime / SimFrequency) had a fractional part. Change 3129327 on 2016/09/16 by Daniel.Wright Added r.NormalCurvatureToRoughnessExponent for tweaking NormalCurvatureToRoughness is now applied to clearcoat roughness Change 3129324 on 2016/09/16 by Daniel.Wright Added r.TemporalAACurrentFrameWeight for debugging Change 3128812 on 2016/09/16 by Daniel.Wright Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3. Change 3128811 on 2016/09/16 by Daniel.Wright Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path. Change 3126195 on 2016/09/15 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Manually merged cl#3124667 from Dev-Blueprints Change 3126108 on 2016/09/14 by Nick.Whiting Added GetLaunchOption blueprint node to check if command line arguments are set Added -demo path for Odin, which disables pause, and changes opening flow Change 3125819 on 2016/09/14 by Zak.Middleton #ue4 - Add option for accurate bounds for LineBatchComponent, on by default. Corrects attempts to focus on actors using them causing the view to zoom out to HALF_WORLD_MAX. Turned this off for world debug line visualizers, to avoid affecting perf for those (and they often have lines/points all over anyway). Change 3125686 on 2016/09/14 by Zabir.Hoque Slimed down when and where we resolve RT particularly for forward rendering. Change 3124174 on 2016/09/13 by Zak.Middleton #ue4 - Improved accuracy and performance of PredictProjectilePath(). Switched to semi-implicit Euler integration. Fixed not being able to pass in const WorldContextObjects (only an issue when used from code, BP didn't care). Change 3124121 on 2016/09/13 by Zak.Middleton #odin - Integrate CL 3122728 from Dev-Editor: UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. Change 3124116 on 2016/09/13 by Zak.Middleton #odin - Back out revision 3 from //Odin/Main/Engine/Source/Runtime/UMG/Private/Components/WidgetInteractionComponent.cpp Change 3123485 on 2016/09/13 by Stanley.Hayes Added optional trace channels to WidgetInterationComponent Change 3123301 on 2016/09/13 by Zak.Middleton #ue4 - Added ENGINE_API to some functions in ULineBatchComponent that were not exported: DrawLines, DrawLine, DrawPoint, DrawSolidBox, DrawMesh. Change 3122632 on 2016/09/13 by Maciej.Mroz Improved ReverseForEachLoop macro in StandardMacros Change 3122351 on 2016/09/12 by Nick.Whiting Adding 90fps tracking to the FPS summary chart creation Change 3122325 on 2016/09/12 by Wyeth.Johnson Needed a 5 minute breather. Updated Editor splash screen because reasons Change 3121869 on 2016/09/12 by Zak.Middleton #ue4 - (Merge to Odin) Fix UGameplayStatics::SpawnEmitterAttached() using wrong scale when SnapToTarget (Keep World Scale) option is used. Improve comments for SpawnEmitterAttached(). #jira UE-34482 (Integrate Framework->Odin) Change 3121407 on 2016/09/12 by Wyeth.Johnson Fixed shopfront for Oz, big bot WIP Change 3121253 on 2016/09/12 by Zak.Middleton #ue4 - Fix CharacterMovement braking when using acceleration for paths. - Fixed pathfinding using friction in GetPathFollowingBrakingDistance() and using wrong formula for stopping distance. Pathfinding adjusts analog input to achieve this deceleration, so friction is never applied and should not be included here. - Added virtual "GetMaxBrakingDeceleration()" function to CharacterMovementComponent. Returns deceleration value set for current movement mode (ie BrakingDecelerationWalking, BrakingDecelerationFlying, etc). Change 3121231 on 2016/09/12 by Wyeth.Johnson Fixed procedural Stuff, now to fix aliasing :) [CL 3226598 by Nick Whiting in Main branch]
2016-12-08 03:26:33 -05:00
// Pixel Shader InCoverage, only usable if PIXELSHADEROUTPUT_COVERAGE is 1
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
uint Coverage;
//
bool bIsFrontFace;
};
// see PixelShaderOutputCommon
struct FPixelShaderOut
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
// [0..7], only usable if PIXELSHADEROUTPUT_MRT0, PIXELSHADEROUTPUT_MRT1, ... is 1
float4 MRT[8];
Copying //UE4/Odin-Staging to //UE4/Dev-Main (Source: //Odin/Main @ 3226588) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3226413 on 2016/12/07 by Jeff.Farris Fixed potential crash in USkeletalMeshComponent::InitArticulated(). Change 3226257 on 2016/12/07 by Mike.Beach Mirroring CL 3219381 from Dev-Blueprints Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast). #jira UE-39272 Change 3226147 on 2016/12/07 by Aaron.McLeran Implementing UE-39421 fix into odin Change 3225906 on 2016/12/07 by Jeff.Farris Merge-copied 3216144 from Dev-Framework to Odin (Fix FConstraintInstance scaling issues in FSkeletalMeshComponent::InitArticulated.) Change 3225097 on 2016/12/07 by Zak.Middleton #odin-ue4 - Fix GameEngine.cpp compile error (FMessageDialog not declared). Change 3225050 on 2016/12/07 by Jeff.Farris Added forward declaration to IOculusRiftPlugin.h to fix compile error in Test builds. Change 3224757 on 2016/12/07 by Ben.Marsh Merge CL 3224750 from //UE4/Main: Removing -forcelogflush parameter from UAT invocations of the editor to improve cook times. Change 3224451 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. Copy from Dev-Sequencer #jira UE-39419 Change 3223856 on 2016/12/06 by Guillaume.Abadie Fixes merge collision of Base Pass's selective outputs and MSAA alpha to coverage Change 3223673 on 2016/12/06 by Zak.Middleton #odin-ue4 - Fixed crash when opening data table assets and working with some types of nodes in the graph editor. Merged fixes from Dev-Editor: CL 3156326, 3172078, 3187276, 3210983. Change 3223381 on 2016/12/06 by Nick.Whiting Merging using UE4_MAIN_to_ODIN @ CL 3221533 Change 3223325 on 2016/12/06 by Alex.Delesky Plugin wizard definition for creating Odin game mods. Currently this just creates an empty Content Only plugin. This also enables the mod creation window to be shown on editor startup (can be toggled off) or invoked via a toolbar button. Change 3221825 on 2016/12/05 by Nick.Whiting Updating VCToolChain.cs file, which was skipped in last integration Change 3221793 on 2016/12/05 by Zak.Middleton #odin - Back out changelist 3218159. Going to move to trace by profile in the future instead. Change 3219668 on 2016/12/02 by Alex.Delesky Partially duplicating CL 3185126 into Odin: -Fixes an issue where adding a new plugin could unnecesarily added to the additional plugin directory, which can cause build failures. Change 3219558 on 2016/12/02 by Zak.Middleton #odin - Fix adapative pixel density crash (again). INI settings are dumb and locally saved INIs ignore the change to the base I pushed yesterday, so pushing a code fix instead. Wrapped in "DO NOT MERGE" since this crash is fixed in Dev-VR. Change 3218953 on 2016/12/02 by Alex.Delesky Back out changelist 3216159 - Reintroducing Plugin Wizard Definition for defining New Plugin Wizard functionality Change 3218822 on 2016/12/02 by Matthew.Griffin Remove modding from folder paths Add logging for delete task Delete more temp files from Copy and DDC process Change 3218410 on 2016/12/01 by Zak.Middleton #ue4-odin - Fix crash when unloading levels or exiting the editor when objects placed in levels had a MID set in construction scripts. CLs from Dev-Editor: 3203739, 3205814 Change 3218277 on 2016/12/01 by Zak.Middleton #ue4-odin - Fixed crash when opening data table assets. Merged small fixes from Dev-Editor: CL 3156326, 3172078, 3187276. #jira ODIN-2096 Change 3218178 on 2016/12/01 by Jeff.Farris Fix for bad merge in InheritableComponentHandler (discovered via shadow var warning) Change 3218159 on 2016/12/01 by Zak.Middleton #ue4-odin - Wrap blueprint trace functions using trace channels to a generic helper that uses any collision channel. Before we decide whether to expose object channel or general collision channel functions to blueprints, this allows games to at least build off the general functions. Change 3216502 on 2016/11/30 by Nick.Whiting Missed files from merge Change 3216490 on 2016/11/30 by Nick.Whiting Merge Main -> Odin, up to CL 3202946 Change 3216159 on 2016/11/30 by Zak.Middleton #odin - Back out changelist 3216005 Change 3216005 on 2016/11/30 by Alex.Delesky Adding the IPluginWizardDefinition interface, which is used to determine the functionality of the new plugin wizard along with what kind of plugins can actually be created. This can be used to change the behavior of the plugin wizard to create new game mods. Change 3215329 on 2016/11/30 by Jeff.Farris Re-expose collision settings on EQSTestingPawn so users can make the test pawn agent dimensions match the pawn they are trying to simulate. Change 3213875 on 2016/11/29 by Jeff.Farris Turned off collision on EQSRenderingComponent for EQSTestingPawns. Fixes issue with bogus agent dimensions. Change 3213027 on 2016/11/29 by Matthew.Griffin Added Modding Build steps to copy everything needed for an installed editor build Added BuildCommand to run GenerateDistillFileSetsCommandlet and copy the resulting file list to another location Fix for APEX .pdb paths Change 3206638 on 2016/11/21 by Dan.Oconnor Fix for compile error, digging out authorative class from trash class Change 3206175 on 2016/11/21 by Nick.Atamas #umg exposed support for explicit wrap width in WrapBox. Change 3204658 on 2016/11/18 by Alan.Villani #odin Wiring up new intro cinematic to game flow. Change 3201200 on 2016/11/16 by Alan.Villani #odin Spectator/Leaderboards: Added console var vr.bAllowSpectatorTexture to enable/disable the display of the spectator texture. Also enabling spectator panel and leaderboards with this change. Change 3201064 on 2016/11/16 by Wyeth.Johnson Support new billboards Change 3199357 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Removing logging now that problem has been fixed. Change 3199302 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Skip reinit if not a successful init in ovr_ResetInitAndContext(). Also added logging to shutdown. Change 3198947 on 2016/11/15 by Alan.Villani #odin Spectator/Leaderboards: Reinstating CL 3197812 with fix to make InitWithWindowsPlatform() return warnings instead of errors. Change 3198803 on 2016/11/15 by Jeff.Farris Copied CL 3198691 frojm Dev-Sequencer (Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks.) Change 3198525 on 2016/11/15 by Alan.Villani #odin ODIN-1758. Spectator/Leaderboards: Back out changelist 3197812. This change was causing the automated packaged build to fail. Since the root cause hasn't been found, reverting the change. Change 3197909 on 2016/11/15 by Alan.Villani #odin OnlineSubsystemOculus: Fix for linking issue with Odin Monolithics build. Change 3197812 on 2016/11/14 by Alan.Villani #odin Spectator and leaderboard code support: Support for enhanced oculus leaderboard functionality. Player's score is uploaded on FinishLevel(). Added delegate function to allow Rift render code to render an additional passed in texture - this is used to display spectator information in the mirrored window. GetMissionRowName() can now return the row name for the intro mission. This is only code support. Blueprint support to follow. Change 3196940 on 2016/11/14 by Nick.Whiting Fix for include path Change 3196897 on 2016/11/14 by Nick.Whiting Integrating IKinema plugin. Note that there are some deprecation warnings that have not been fixed up because of the refactoring. We're going to avoid fixing that up for now, because it's a large refactor, and the plugin is only needed for this week. Change 3194897 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) -- Downgrade warning log spam when sweeping skeletal mesh components. Change 3194799 on 2016/11/11 by Nick.Atamas Added better normals for curved WidgetComponent. Change 3194697 on 2016/11/11 by Chris.Bunner Duplicated CL 3194665 from Dev-Rendering: Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194383 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - Avoid calling ComponentOverlapComponent() when handling overlap checks if either component is a SkeletalMeshComponent. That function returns false for those, however a normal global overlap check would return a valid result. Also elevated warnings (from log) when trying to use above function with SkeletalMeshComponents. Change 3194380 on 2016/11/11 by Zak.Middleton #ue4 - (Odin) - UPrimitiveComponent::GetCollisionEnabled() checks the owner Actor enable collision setting. Handles cases where the BodyInstance doesn't have physics state. Also merge CL 3136709 to fix overlap events spam. Change 3192616 on 2016/11/09 by Zak.Middleton #odin - Jump arcs only draw in editor if Navigation is shown, or when selected in editor. Change 3192310 on 2016/11/09 by Daniel.Wright [Copy] Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3191042 on 2016/11/08 by Nick.Atamas #slate/umg Added SetIsExapanded_Animated() method to SExpandableArea. Added anim length to ExpandableArea's widget style. Change 3190411 on 2016/11/08 by Guillaume.Abadie Adds some randomness in particul collisions. Change 3186455 on 2016/11/03 by Stanley.Hayes Fixed Tangents the mesh generation of Widget Component, now works with Bump Offset! -- The Impl for non-planar widgets is wrong but works as a temp fix Change 3186335 on 2016/11/03 by Alan.Villani #odin Oculus Input: Fix for haptic feedback not processing unless both touch controllers are active. Change 3184215 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3182542 on 2016/11/01 by Nick.Atamas Applied feedback after code review: - Fixed bug with incorrectly assigned LocalHitLocation - PerformTrace is now const - Clarified comments. Potentially fixed jira ODIN-1590, pending verification. Change 3181845 on 2016/11/01 by Nick.Atamas Details panel filters now show a distinct visual state (yellow highlight) when a filter is active. https://jira.it.epicgames.net/browse/UE-11088 Change 3179037 on 2016/10/28 by Zak.Middleton #ue4 - (Odin) - Avoid crash in PropertyChangeListener when WeakObjectPtr goes null. Prevent passing null objects in array to delegates that don't null check the elements. Repro steps still unclear, adding ensure() to catch it for more info. Change 3177127 on 2016/10/27 by Alan.Villani #odin Menu Shell: Put in cvar to allow disabling of haptics. Change 3174582 on 2016/10/26 by Zak.Middleton #ue4 - Changed Actor::GetForwardVector, GetUpVector, and GetRightVector to just wrap to the FQuat functions. These use inline constants rather than a memory fetch to the static FVector::ForwardVector etc, so the multiplies are better optimized in-place by the compiler (ie with constant folding). Change 3174401 on 2016/10/25 by Maciej.Mroz In nativized code Nullptr is always casted to UObject type. #jira ODIN-1560 Change 3173310 on 2016/10/25 by Guillaume.Abadie Fix a bug in the forward shading particule collision hack using ddx/ddy to compute the normal and implement an accurate way of compute the normal requiering two addtional scene depth buffer fetches for neighboorhing pixels and use it as default. Change 3172997 on 2016/10/24 by Nick.Atamas Cylindrical Widget - First Pass Support. Change 3172707 on 2016/10/24 by Nick.Whiting Integrating fix for haptic effects with sound waves crashing when no sound wave is loaded. Change 3172167 on 2016/10/24 by Jeff.Farris Merged 3120587 from Dev-Sequencer to Odin (Fbx Export: Fix double transforms on an exported mesh.) Change 3170221 on 2016/10/21 by Zak.Middleton #ue4 - Fix projectiles and characters not moving at all when frame delta time is very low (time dilation is very low, framerate is very high, or a combination of both). Change 3170036 on 2016/10/20 by Zak.Middleton #ue4 - Make Ragdoll collision profile ignore Visibility channel (to match CharacterMesh collision profile). Change 3169728 on 2016/10/20 by Zak.Middleton #ue4 - Fix comment. Change 3169727 on 2016/10/20 by Zak.Middleton #ue4 - Fix spacing/indentation. Change 3169277 on 2016/10/20 by Zak.Middleton #ue4 - Lower default simulations per second in PredictProjectilePath. Now that it is more accurate (after CL 3124174), this will still maintain quality with better performance. Change 3169272 on 2016/10/20 by Zak.Middleton #ue4 - Change some array Reset() calls back to Empty(), since blueprints typically keep these arrays around forever and we don't want them to stay large. Change 3168157 on 2016/10/19 by Jeff.Farris Merging 3168079 from Dev-Framework to Odin (Fix timing issue that causes snapshotpose to t-pose.) Change 3167894 on 2016/10/19 by Chris.Bunner Updated tooltip comment. Change 3167569 on 2016/10/19 by Jeff.Farris #engine Fixed issue with cine camera component where blueprint-accessible FOV data could be incorrect in some circumstances Change 3166950 on 2016/10/18 by Zak.Middleton #ue4 - Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656. Change 3166807 on 2016/10/18 by Zak.Middleton #ue4 - Make all GameplayStatics functions take const WorldContextObjects, so they are more usable from C++. Change 3166540 on 2016/10/18 by Jeff.Farris Merging 3164818 from Dev-Framework to Odin (Added a pose snapshot feature that allows users to convert an existing skeletal mesh pose into a node inside the anim blueprint. This is useful for things like getup from ragdoll.) Change 3166323 on 2016/10/18 by Jeff.Farris #engine Fixed issue where Navlink smartlinks wouldn't respect the Direction property proprely. Change 3163415 on 2016/10/14 by Chris.Bunner Allow surface actor particles to inherit UV coordinates through the dynamic parameter struct. Change 3162716 on 2016/10/13 by Jeff.Farris #engine Made UPathFollowingComponent::HasReachedCurrentTarget() virtual Change 3161602 on 2016/10/13 by Jeff.Farris #engine removed a comment I left in Change 3161037 on 2016/10/12 by Alan.Villani #odin Loading Screens: Modified AsyncLoadingSplash to use platform specific max layer number. Change 3160690 on 2016/10/12 by Jeff.Farris #engine Added PathFollowingComponent::bIsDecelerating to know when AI is in its "decelerate at the end of the path" state Change 3160686 on 2016/10/12 by Jeff.Farris #engine Fixed comment on NavMovementComponent::bUseAccelerationForPaths Change 3160200 on 2016/10/12 by Zak.Middleton #odin - Added Odin versions of Sphere, Capsule, Box trace functions taking any trace channel. Change 3156847 on 2016/10/10 by Maciej.Mroz #jira ODIN-1345 In nativized code, value of output array parameter is reset before the funtion, that will fill the parameter, is called. The same mechanism is already used by bytecode comiler. Change 3155495 on 2016/10/07 by Zak.Middleton #ue4 - RootComponent fixup in AActor::PostLoadSubojects should handle constructors that also try to fix up the old root component on their own. Additionally we should attach the old root component to the new one, otherwise it has no parent. Change 3154962 on 2016/10/07 by Chris.Bunner Duplicating CL 3148934, 3148994 from Dev-Rendering - Added pre-skinned local position material graph node, vertex shader only. Change 3154255 on 2016/10/06 by Zak.Middleton #ue4 - Add AIController to the delegate for move completion for blueprint "AI Move To Location or Actor" nodes, so you can know which AI finishes the move. Change 3154217 on 2016/10/06 by Mike.Beach Backing out changelist 3146883, as it was causing properties to clear on load (in Gun_Shotgun/BP_RightHand). Change 3154199 on 2016/10/06 by Zak.Middleton #ue4 - Inline a few simple functions in UKismetSystemLibrary for performance in nativized builds. Change 3153427 on 2016/10/06 by Jeff.Farris Updated Oculus AppID to the full game ID Change 3148205 on 2016/10/02 by Zak.Middleton #ue4 - Perf: Add simple path for UPrimitiveComponent::UpdatePhysicsVolume() when there are no physics volumes placed in a level. Avoid checking overlapping components for any volumes at all. Change 3148089 on 2016/10/01 by Phillip.Kavan Merging in CLs 3148022 and 3148033 from //UE4/Dev-Blueprints/... Note: These were dependent on the following additional CLs, which have also been merged in: => 3081010,3116021,3123581,3131318,3132348,3133072,3133817,3137800,3137851 Change 3148054 on 2016/10/01 by Nick.Whiting Adding much smaller footprint entitlement check Change 3147910 on 2016/10/01 by Nick.Whiting Back out changelist 3147807 Change 3147909 on 2016/10/01 by Nick.Whiting Back out changelist 3147787 Change 3147810 on 2016/09/30 by Zak.Middleton #odin - Fix "Delay" nodes in macros not working correctly. This made simultaneous instances of our "UndilatedDelay" and "0-1 Lerp" macros incorrect. (Mirror CL 3119502 from Dev-Blueprints) Change 3147807 on 2016/09/30 by Nick.Whiting Blueprint cyclic dependency fixes, submitted on behalf of DanO. Change 3147787 on 2016/09/30 by Nick.Whiting Adding Oculus Entitlement check for Odin Change 3147732 on 2016/09/30 by Daniel.Wright From Guillaume: Skip ClearStencilFromBasePass by using a single bit of stencil as a sandbox bit. This requires all passes that use stencil to setup a proper read / write mask, as other stencil bits will be non-zero. Saves .14ms Change 3147285 on 2016/09/30 by Dan.Oconnor Back out changelist 3147258 Introduced "Detaching from existing linker" crash Change 3147258 on 2016/09/30 by Dan.Oconnor Making sure we defer objects that have unserialized archetypes Change 3146985 on 2016/09/30 by Daniel.Wright Skip Prepass ResolveSceneDepthTexture if there's no way decals or shadows will use it, since there's another resolve after the base pass. Saves .1ms in the planar reflection pass. Change 3146883 on 2016/09/30 by Dan.Oconnor Fix for component data getting lost on load. Two primary causes: 1. Loading component, then loading its template and reinitializing it from parent 2. Discarding inheritable component handler on load because it 'matched' the unloaded super (or it was unloaded and matched a loaded super, or both of them weren't yet loaded and they matched) Change 3145504 on 2016/09/29 by Daniel.Wright Capsule indirect shadows are now affected by DynamicShadows showflag Change 3145416 on 2016/09/29 by Wyeth.Johnson optimized vector to radial value to use atan2fast. Small polish to weapon available indicators, slightly smaller, radial res in, get brighter right before pickup to match the glow transition Change 3144359 on 2016/09/28 by Zak.Middleton #ue4 - Add IsPointInBox() and IsPointInBoxWithTransform() to KismetMathLibrary. Change 3144302 on 2016/09/28 by Daniel.Wright New SceneCapture functions for managing the ShowOnly list: RemoveShowOnlyComponent, RemoveShowOnlyActorComponents, ClearShowOnlyComponents Change 3144210 on 2016/09/28 by Daniel.Wright Manual copy - Shadow stencil optimisation from Ben Woodhouse with cvar (enabled by default). Saves .2ms in Odin. Change 3144208 on 2016/09/28 by Daniel.Wright Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution. Planar reflection depth resolves .8ms -> .2ms on 970 Change 3143778 on 2016/09/28 by Ryan.Vance Disabling motion blur scale behavior. We want the motion blur scale to be consistent regardless of time dilation. Cleaning up the velocity bias change made yesterday for odin, need to ensure it doesn't make it back to main as it will break TAA. Change 3143728 on 2016/09/28 by Jeff.Farris Made AIController::MoveTo virtual Change 3142740 on 2016/09/27 by Nick.Whiting Fix for dynamic object velocity rendering not working. MSAA was breaking it, needed to add a bias in the VelocityShader in order to pass depth tests Change 3142665 on 2016/09/27 by Ryan.Vance Fixing incorrect uniform/buffer references for passes that aren't drawn with ISR when ISR is turned when using forward. Change 3142488 on 2016/09/27 by Zak.Middleton #ue4 - Expose Character::MovementModeChangedDelegate to blueprints. Fix category on OnReachedJumpApex event. Change 3142360 on 2016/09/27 by Frank.Fella Sequencer - Don't crash when a bool track or visibility track has a null runtime object. Change 3142204 on 2016/09/27 by Zak.Middleton #odin - Nav jump links update their nav data in realtime as the start and end points are moved. Still need to color the predicted path based on the nav data. Change 3141695 on 2016/09/27 by Guillaume.Abadie Fixes depth buffer collision on GPU particle in the forward render by computing the world normal using a cross(ddx(), ddy()) of the world position. #review-3141656 @ben.woodhouse Change 3141013 on 2016/09/27 by Zak.Middleton #ue4 - NavLinkProxy properly calls SetNavigationRelevancy() when created in the editor. Fixes the need to uncheck/recheck bSmartLinkIsRelevant. Change 3140878 on 2016/09/26 by Zak.Middleton #ue4 - Add MarkRenderStateDirty() to UNavLinkCustomComponent::SetLinkData(), so visualizers update asap after link data changes. Change 3140863 on 2016/09/26 by Nick.Whiting Adding in vr.MonoCapture, which disables the right eye for capturing in order to give a performance boost Change 3140790 on 2016/09/26 by Zak.Middleton #ue4 - Make LineBatchComponent's FLineBatcherSceneProxy::GetViewRelevance() respect show flags (such as hidden in game). Change 3140175 on 2016/09/26 by Dan.Oconnor Mirror of 3140143 #jira UE-36395 Change 3139622 on 2016/09/26 by Maciej.Mroz Fixed const local variables in Nativized code Change 3139257 on 2016/09/24 by Jeff.Farris Added GetGrabbedComponent() to UPhysicsHandleComponent. Change 3139050 on 2016/09/23 by Nick.Whiting Support for trailer capturing, as well as gamepad controls for adjustment Change 3138644 on 2016/09/23 by Zak.Middleton #ue4 - Added FPredictProjectilePathPointData::Reset(). Presize path points array in UGameplayStatics::PredictProjectilePath(). Change 3138521 on 2016/09/23 by Ryan.Vance #jira UE-36114 We need to bind the right eye's forward lighting state when ISR is enabled and branch depending on which eye instance we're drawing. Added a copy of FForwardGlobalLightData, NumCulledLightsGrid CulledLightDataGrid, and ForwardLocalLightBuffer for the right eye and set them when drawing with ISR Moved ForwardLightingResources from FViewInfo up to FSceneView for access Removed USE_CULLED_LOCAL_LIGHTS as it wasn't being used and complicated the shader refactor TODO: This can be greatly simplified by generating the FForwardGlobalLightData uniform assignment shader code similar to how I'm handling the view uniforms. To clean up the branching for the grid buffers we should write both eyes into a single buffer and just use an offset. Change 3138178 on 2016/09/23 by Zak.Middleton #ue4 - Add FVector::DistXY() and Dist2D() (as an alias). Add FVector::Distance() as an alias for Dist(), and FVector::DistSquared2D() as an alias for DistSquaredXY(). Fixed comment in FVector2D::Distance() saying it was the squared distance. - This is more in line with the Size2D(), SizeSquared2D(), GetSafeNormal2D() naming, but maintains backwards compat for a large amount of code. Change 3138162 on 2016/09/23 by Lukasz.Furman fixed navmesh crash on attempt to regenerate an empty tile layer Change 3137578 on 2016/09/23 by Maciej.Mroz #jira ODIN-1017 [Nativization] Crash while loading Hub_env level Ensured, that CreateExport (and fully construction) is called for loaded DynamicClass. Change 3136774 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. #jira ODIN-1013 Change 3136491 on 2016/09/22 by Jeff.Farris Removed an unnnecessary ensure in ApplyPhysicalAnimationProfileBelow. Change 3136412 on 2016/09/22 by Zak.Middleton #ue4 - Inlined more functions in KismetMathLibrary that used error reporting (eg divide by zero errors). Moved the actual error reporting to the cpp so the inline overhead and compilation overhead is negligible. Change 3136288 on 2016/09/22 by Zak.Middleton #ue4 - Inline KismetMathLibrary functions where appropriate. Improves performance in nativized builds where the calls were not inlined even for the most simple functions (like "Not Bool", "Add Ints"). Change 3136162 on 2016/09/22 by Ben.Marsh Merge CL 3136158 to fix issues generating project files with Visual Studio Express. Change 3135403 on 2016/09/22 by Jeff.Farris GameplayStatics::ApplyPointDamage and ApplyDamage now return the actual damage that was applied Change 3135052 on 2016/09/21 by Zak.Middleton #ue4 - Add new GameplayStatics::PredictProjectilePath functions with added functionality. - Option to trace for collision by trace channel, object type, or both. - Added versions that take input and output struct parameters. - Output now includes location, velocity, and time for each point on the path. Change 3134757 on 2016/09/21 by Guillaume.Abadie Removes all resolve operations from distortion pass and support MSAA for the forward shader. #review-3134758 @daniel.wright Change 3134635 on 2016/09/21 by Jeff.Farris Merged from Dev-Physics-Upgrade to Odin. This is the upgrade to PhysX 3.4. Change 3134101 on 2016/09/21 by David.Hill Post process CombineLUT shouldn't be per eye. Also disable weighted-average post process passes for bloom when filter size is set to zero. #review-3134102 @chris.bunner Change 3133191 on 2016/09/20 by Guillaume.Abadie Normalizes material's Opacity Mask according to Opacity Mask Clip Value. Change 3133082 on 2016/09/20 by Brian.Karis Static light source shapes in reflection captures will fade out when outside influence instead of going black. Change 3132936 on 2016/09/20 by Jeff.Farris Fixed some engine issues with setting mass overrides. Change 3132821 on 2016/09/20 by Guillaume.Abadie Adds support for MSAA on masked material using shader implemented alpha to coverage. #review-3130154 @daniel.wright Change 3132522 on 2016/09/20 by Zak.Middleton #ue4 - Cache conversion of WalkableSlopeAngle to the cosine value in FWalkableSlopeOverride struct, when used in the override modes. Avoids computing this conversion (potentially multiple times per frame) for every character movement move and floor test. Change 3130457 on 2016/09/19 by Daniel.Wright Reuse ESceneColorFormatType::HighEndWithAlpha if the format allows it - prevents two scene color textures being allocated with planar reflections with r.SceneColorFormat=4 Change 3129467 on 2016/09/16 by Zak.Middleton #ue4 - Improve Accuracy of final point in UGameplayStatics::PredictProjectilePath() to respect MaxSimTime. Previously the sim could have exceeded the max time if (MaxSimTime / SimFrequency) had a fractional part. Change 3129327 on 2016/09/16 by Daniel.Wright Added r.NormalCurvatureToRoughnessExponent for tweaking NormalCurvatureToRoughness is now applied to clearcoat roughness Change 3129324 on 2016/09/16 by Daniel.Wright Added r.TemporalAACurrentFrameWeight for debugging Change 3128812 on 2016/09/16 by Daniel.Wright Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views). Fixes planar reflections with r.SceneColorFormat=3. Change 3128811 on 2016/09/16 by Daniel.Wright Fixed planar reflections in forward shading. The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path. Change 3126195 on 2016/09/15 by Maciej.Mroz #jira UE-35262 Incompatible pins give generate warning, when error is necessary. Fixed incompatible pins validation. Manually merged cl#3124667 from Dev-Blueprints Change 3126108 on 2016/09/14 by Nick.Whiting Added GetLaunchOption blueprint node to check if command line arguments are set Added -demo path for Odin, which disables pause, and changes opening flow Change 3125819 on 2016/09/14 by Zak.Middleton #ue4 - Add option for accurate bounds for LineBatchComponent, on by default. Corrects attempts to focus on actors using them causing the view to zoom out to HALF_WORLD_MAX. Turned this off for world debug line visualizers, to avoid affecting perf for those (and they often have lines/points all over anyway). Change 3125686 on 2016/09/14 by Zabir.Hoque Slimed down when and where we resolve RT particularly for forward rendering. Change 3124174 on 2016/09/13 by Zak.Middleton #ue4 - Improved accuracy and performance of PredictProjectilePath(). Switched to semi-implicit Euler integration. Fixed not being able to pass in const WorldContextObjects (only an issue when used from code, BP didn't care). Change 3124121 on 2016/09/13 by Zak.Middleton #odin - Integrate CL 3122728 from Dev-Editor: UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. Change 3124116 on 2016/09/13 by Zak.Middleton #odin - Back out revision 3 from //Odin/Main/Engine/Source/Runtime/UMG/Private/Components/WidgetInteractionComponent.cpp Change 3123485 on 2016/09/13 by Stanley.Hayes Added optional trace channels to WidgetInterationComponent Change 3123301 on 2016/09/13 by Zak.Middleton #ue4 - Added ENGINE_API to some functions in ULineBatchComponent that were not exported: DrawLines, DrawLine, DrawPoint, DrawSolidBox, DrawMesh. Change 3122632 on 2016/09/13 by Maciej.Mroz Improved ReverseForEachLoop macro in StandardMacros Change 3122351 on 2016/09/12 by Nick.Whiting Adding 90fps tracking to the FPS summary chart creation Change 3122325 on 2016/09/12 by Wyeth.Johnson Needed a 5 minute breather. Updated Editor splash screen because reasons Change 3121869 on 2016/09/12 by Zak.Middleton #ue4 - (Merge to Odin) Fix UGameplayStatics::SpawnEmitterAttached() using wrong scale when SnapToTarget (Keep World Scale) option is used. Improve comments for SpawnEmitterAttached(). #jira UE-34482 (Integrate Framework->Odin) Change 3121407 on 2016/09/12 by Wyeth.Johnson Fixed shopfront for Oz, big bot WIP Change 3121253 on 2016/09/12 by Zak.Middleton #ue4 - Fix CharacterMovement braking when using acceleration for paths. - Fixed pathfinding using friction in GetPathFollowingBrakingDistance() and using wrong formula for stopping distance. Pathfinding adjusts analog input to achieve this deceleration, so friction is never applied and should not be included here. - Added virtual "GetMaxBrakingDeceleration()" function to CharacterMovementComponent. Returns deceleration value set for current movement mode (ie BrakingDecelerationWalking, BrakingDecelerationFlying, etc). Change 3121231 on 2016/09/12 by Wyeth.Johnson Fixed procedural Stuff, now to fix aliasing :) [CL 3226598 by Nick Whiting in Main branch]
2016-12-08 03:26:33 -05:00
// Pixel Shader OutCoverage, only usable if PIXELSHADEROUTPUT_COVERAGE is 1
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
uint Coverage;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3006421) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2998081 on 2016/06/02 by Rolando.Caloca DR - Update vulkan headers to 1.0.13.0 Change 2998087 on 2016/06/02 by Rolando.Caloca DR - Added r.DumpShaderDebugWorkerCommandLine to dump a batch file containing a command line for SCW's -directcompile mode Change 2998092 on 2016/06/02 by Rolando.Caloca DR - Updated ThirdParty/glslang to 1.0.13.0 Change 2998113 on 2016/06/02 by Martin.Mittring Added -Deterministic and -BuildName=... as command line option for Screenshot verification Change 2998115 on 2016/06/02 by Martin.Mittring optimied Tonemapper sharpen 25->17 instructions fixes: very bright HDR pixel appeared to not be antialiased no blonger blurs very bright pixels (we could bring that back if needed but counters the sharpen) moved one multipy into C++ Added debug visualization (HLSL define) Change 2998132 on 2016/06/02 by Rolando.Caloca DR - Remove auto from VulkanRHI wherever possible Change 2998148 on 2016/06/02 by Rolando.Caloca DR - Move FVulkanPendingState out of device and into cmd list for more RHI thread fixes Change 2998180 on 2016/06/02 by Rolando.Caloca DR - Temp fix for (bogus?) fence validation warning using VULKAN_REUSE_FENCES=0 - Check we are not asking for a VkFormat out of bounds (ie only works with core formats) Change 2998293 on 2016/06/02 by Rolando.Caloca DR - Add support for BC6H & BC7 in desktop Vulkan Change 2998419 on 2016/06/02 by Brian.Karis Optimized CountBits Change 2998480 on 2016/06/02 by Rolando.Caloca DR - Fix for RHI thread failing in an ensure on es31 (doesn't happen on bypass as the ensure is inside RHI cmd list) Change 2998486 on 2016/06/02 by Martin.Mittring fixed ES2 shader compile Change 2998527 on 2016/06/02 by Daniel.Wright Added cvar r.StencilForLODDither, which is compiled into shaders and forces a full prepass when enabled. This allows r.EarlyZPass to remain changeable at runtime (when not forced to a value by features that are enabled). Change 2998531 on 2016/06/02 by Daniel.Wright Fixed Pixel Normal Offset refraction mode with materials using world space normals Change 2998568 on 2016/06/02 by Rolando.Caloca DR - Fix typo Change 2998630 on 2016/06/02 by Rolando.Caloca DR - Relaxed glslang strictness to get Pos tCombineLUTs working - Reenabled Post CombineLUTs on Vulkan - Removed some extra glsl output from Vulkan backend - Fixed RHI thread uniform buffer assert Change 2998639 on 2016/06/02 by Brian.Karis Fix for crash when removing instances while lighting is building Change 2998640 on 2016/06/02 by Martin.Mittring added r.ResetViewState to allow for more deterministic rendering made SSR FrameRandom resetable by not using FrameNumber (Note: SSR on a view without state was flickering before, not it's stabele and doesn't flicker) Change 2998790 on 2016/06/02 by Martin.Mittring minor optimization to SSR Change 2999849 on 2016/06/03 by Martin.Mittring fixed issue with sort order Change 3000340 on 2016/06/03 by Rolando.Caloca DR - Integrate change from 3000177 Workaround for random crash shutting down D3D11/NV driver jira UE-18906 Change 3000422 on 2016/06/03 by Rolando.Caloca DR - Mirror change in Odin Change 3000571 on 2016/06/03 by Rolando.Caloca DR - Vulkan SM4 prep Change 3001652 on 2016/06/06 by Gil.Gribb Merging //UE4/Dev-Main@3001532 to Dev-Rendering (//UE4/Dev-Rendering) Change 3001935 on 2016/06/06 by Gil.Gribb UE4 - Fixed botched merge Change 3002390 on 2016/06/06 by Gil.Gribb UE4 - Added code to prevent flooding of rendering thread with heartbeats. Change 3002442 on 2016/06/06 by Martin.Mittring Moved ImageInvalidator out of NotForLicensees - V1.0 works well enough Change 3002460 on 2016/06/06 by Martin.Mittring fixed missing file in ImageValidator added .exe to extras Change 3002514 on 2016/06/06 by Martin.Mittring added OpenSubDiv 3.0.2, not yet used Change 3002536 on 2016/06/06 by Martin.Mittring fixed help text on cvar Change 3002647 on 2016/06/06 by Martin.Mittring adding r.ResetViewState to RenderOutputValidation added r.Streaming.FramesForFullUpdate to r.DisplayInternals #code_review:Benjamin.Hyder Change 3002945 on 2016/06/06 by Rolando.Caloca DR - Fix hlslcc issue with access to matrix elements: This would fail: M._m30 += f; - Fixed IRDump for matrix swizzled - Fix hlslcc_exe not linking Change 3002979 on 2016/06/06 by John.Billon DDS unsupported format error #Jira UE-24529 Change 3002983 on 2016/06/06 by Martin.Mittring split FPixelShaderInOut in in and out Change 3003011 on 2016/06/06 by Martin.Mittring updated OpenSubDiv to 3.0.2 Fixed SubDivisonRendring by using OpenSubDiv Change 3003264 on 2016/06/06 by Daniel.Wright Fixed bUseSingleSampleShadowFromStationaryLights on particles Change 3003296 on 2016/06/06 by Daniel.Wright Renamed files Forward* to Mobile* Change 3003350 on 2016/06/06 by Daniel.Wright Improved "Repaired Painted Vertex Colors" log message. This is now done once on levels at load in the editor, instead of for every component (massive log spam). Total load time caused by the fixup is reported. Change 3003815 on 2016/06/07 by Chris.Bunner Updating to more recent D3DCompiler DLL, seeing up to 2x speed-up in testing. Removed compiler override cvar. #jira UE-28574 Change 3003827 on 2016/06/07 by Gil.Gribb UE4 - Increased stack sizes for thread pools. Change 3003971 on 2016/06/07 by Martin.Mittring fixed compiler warnings Change 3004028 on 2016/06/07 by Rolando.Caloca DR - Update glslang exe Change 3004555 on 2016/06/07 by Rolando.Caloca DR - vk - Fix validation warning Change 3004637 on 2016/06/07 by Martin.Mittring fixed compiler warning Change 3004841 on 2016/06/07 by Daniel.Wright Fix for shadowed variable Change 3005044 on 2016/06/07 by Daniel.Wright SubUV Animations can get opacity information from any channel of the source texture Change 3005057 on 2016/06/07 by Daniel.Wright Renamed ForwardShading* to Mobile* Change 3005135 on 2016/06/07 by Uriel.Doyon Moving wanted mip computation (according to budget) to async task. Update "stat streaming" to show visible mips and also loading progression. Fixed overly wanted mip issue cause be max range clamping. Optimized cost of the texture streamer on the gamethread. Character, Terrain and Forced Load are now loaded with priority in the AsyncIO Reduced streaming temp memory requirements on PS4. Async streaming task now runs in parallel to the incremental update. Fixed bug with bProcessEverything not working as expected in UpdateResourceStreaming. Fixed metrics with HiddenScale being applied in addition to overbudget limitation. Improved budget stability when using split load request (one for visible mips + one for hidden mips) Implemented a more agressive visibility test (used to be a seen in the last 5 sec, now closer to .5) Streaming stats are now within a single class named FTextureStreamingStats and updated in a single function. Cleanup of FStreamingTexture state update into a single function (UpdateDynamicData). Retention logic now drops texture based on the last render time (for non visible textures) to reduce looping effects. Change 3005207 on 2016/06/07 by Uriel.Doyon Fixed warning [CL 3006426 by Gil Gribb in Main branch]
2016-06-08 16:02:23 -04:00
// Pixel Shader OutDepth
float Depth;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
};