You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#lockdown Nick.Penwarden #rb na Change 3604978 on 2017/08/23 by Andrew.Grant Fix for OR-42722 from 4.17 branch #!tests compiled #!rb max.chen Change 3604960 on 2017/08/23 by Andrew.Grant Proper fix for OR-43001, removed hack-around. #!tests compiled #!rb max.chen Change 3604881 on 2017/08/23 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Changed LostReservation message in tests to info from warning. #!tests compiled #!rb none #!ROBOMERGE-SOURCE: CL 3604871 in //Orion/Release-42.3/... via CL 3604878 via CL 3604880 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3604566 on 2017/08/23 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Gauntlet - return -1 for a test if there's a fatal error. Removed network errors failing tests (should be down to test to determine) Made SoakTest better able to detect failed drafts and incomplete matches #!tests ran multiple soaks and SoloAllHeroes #!rb none #!ROBOMERGE-SOURCE: CL 3604560 in //Orion/Release-42.3/... via CL 3604563 via CL 3604565 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3604181 on 2017/08/23 by David.Ratti Set ULandscapeHeightfieldCollisionComponent to be NetAddressable so that it can be replicated as a movement base without error. OR-42615 #!rb none #!tests pie Change 3603647 on 2017/08/22 by Laurent.Delayen AnimProxy: initialize Actor/Component transforms. #!rb none #!tests lane minion test map Change 3603343 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: don.eubanks Added several more stats to the Card Shop stat panel. + Basic Attack Damage + Max Move Speed + Armor Penetration / Percent + Ability Penetration / Percent Added utility function to AbilitySystemComponent to calculate an ability's value with additional Required/Ignore tags and Target tag container (functionality moved from AttributeView) #!rb matt.schembari #!tests Compile DebugGame Editor Win64 / Shipping Client PS4 / PIE #!ROBOMERGE-SOURCE: CL 3603172 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3603121 on 2017/08/22 by Laurent.Delayen Added FAnimationRuntime::LerpPosesPerBone #!rb none #!tests lane minions split body anims. Change 3603010 on 2017/08/22 by Laurent.Delayen Draw box around Actor being debugged by 'ShowDebug' command, to help identify what we're viewing. #!rb none #!tests lane minions Change 3602574 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fixed linux warning #!tests compiled #!rb none #!ROBOMERGE-SOURCE: CL 3602571 in //Orion/Release-42.3/... via CL 3602572 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602396 on 2017/08/22 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj -------------------------------------- Updated Gauntlet log parser for new callstack format Added offline and runtime Gauntlet tests to verify error generation and parsing #!tests ran lots of tests locally #!rb codereviewed #!ROBOMERGE-SOURCE: CL 3601948 in //Orion/Release-42.3/... via CL 3601950 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602373 on 2017/08/22 by Andrew.Grant Fixed compile error #!tests compiled #!rb none Change 3602321 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant LogAssertFailedMessage - Removed callstack dumping from LogAssertFailedMessage (now in StaticFailDebug) - Moved script dumping inside GIsCritial check StaticFailDebug - Now dumps the callstack if supported for non-ensures. This results in PS4 (and other platforms) now displaying a callstack on a Fatal log. - Removed log flush, was redundant - Removed LowLevelOutputDebugStringf. If a platform needs this it can be done later in its error device OutputMultiLineCallstack - Renamed to FDebug::LogFormattedMessageWithCallstack and exposed in headers (calling locations have been updated to remove their extern declarations) - No longer writes into the buffer to format it (!) - LogName is now the first param. If NAME_None it writes using LowLevelOutputDebugString - While writing out error information all callstack likes are prefixed with [Callstack] Added brief documentation about the order of ops for ensures/asserts/fatal logs #!tests ran lots of tests locally #!rb codereviewed #!ROBOMERGE-SOURCE: CL 3601943 in //Orion/Release-42.3/... via CL 3601944 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602316 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Changed various platform-specific implementations of ProgramCounterToHumanReadableString to return info in a canonical format of address module!func [file:line]. E.g. 0x00416A5F OrionClient.self!FEngineLoop::Tick() [D:\Epic\Orion\Release-Next\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3295] #!tests ran lots of tests locally #!rb codereviewd #!ROBOMERGE-SOURCE: CL 3601940 in //Orion/Release-42.3/... via CL 3601941 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602311 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Sony don't allow exception handling on PS4 so for sometime we've had an issue where crashes have no presence in logs* This change adds postmortem analysis to PS4DevkitUtil. If the OS terminates the process then it process the minidump and writes the cause and the callstack to stdout. As a bonus PS4DevkitUtil can now display cause & callstacks from minidumps via "PS4DevkitUtil postmortem -dump=path\to\crash.orbisdmp" (*if you're lucky the kit may have been setup correctly to submit dumps to crashreporter, it may have actually worked, and you may be able to find it). #!tests run many times on Orion tests #!rb CR #!ROBOMERGE-SOURCE: CL 3601929 in //Orion/Release-42.3/... via CL 3601930 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3599823 on 2017/08/21 by Jian.Ru Allow MaxCascades cvar be set to 0 (should perobject shadow be forced on?) #!jira UE-48468,OR-42749 #!rb Daniel.Wright #!tests editor Change 3598765 on 2017/08/19 by Andrew.Grant Disable regeneration of missing cubemap data in cooked build. Need some way of handling this, but currently this breaks PS4 anytime someone makes a map change and doesn't build lighting... #!review-3598766 @daniel.lamb #!tests ran PS4 successfully #!rb none Change 3597800 on 2017/08/18 by Laurent.Delayen Added FAnimationRuntime::LerpPoses. Blends two poses together, but first pose is also storing results. To save on copying poses when not necessary. Removed individual use of ZERO_ANIMWEIGHT_THRESH, instead use FAnimWeight functions. FAnimationRuntime weight functions use FAnimWeight for consistency. (IsFullWeight was different). #!rb none #!codereview martin.wilson, lina.halper #!tests minion test lane map Change 3597332 on 2017/08/18 by Laurent.Delayen SkelMeshComponent LOD update only refreshes transforms when rendered. If AnimGraph eval is done, make sure Graph has been updated at least once. Fixes: - Significance Manager setting MinLOD on non recently rendered minions, causing them to refresh bones. - Minions calling eval with graph not updated due to having bUseRefPoseOnInitAnim set. It means it's possible to refresh bones on a graph that has never been updated, causing a crash. #!rb martin.wilson, lina.halper #!codereview martin.wilson, lina.halper #!tests minions test lane map. placing skelmeshes in editor and making sure LOD update works as expected. Change 3597042 on 2017/08/18 by Daniel.Lamb Added onlinesubsystemmcp to the cooksettings blacklist. #!rb Trivial #!test none Change 3596575 on 2017/08/18 by Shaun.Kime Fixing nonunity build issues #!rb none #!tests compiled OrionGame with unity builds disabled Change 3595475 on 2017/08/17 by Andrew.Grant Fixed issue with PS4 asserts not being detected during test shutdown #!tests ran locally #!rb none Change 3595415 on 2017/08/17 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Added check for network failure to tests #!tests ran locally #!rb none #!ROBOMERGE-SOURCE: CL 3595412 in //Orion/Release-42.3/... via CL 3595414 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3594725 on 2017/08/17 by Ben.Salem Add "Worst offenders" table and runtime to FX perf reports. #!rb adric.worley #!tests Ran a few FX Perf tests and generated reports. Change 3594195 on 2017/08/17 by Shaun.Kime Integration from Dev-Niagara to Dev-General. Note that this may cause assets to need to be recooked. Please be prepared for longer than normal cook times once syncing past this changelist. #!rb none #!tests preflight'ed change, QA ran multiple soak tests Change 3594177 on 2017/08/17 by Andrew.Grant Fixed issue that was causing exceptions not to be recognized #!tests ran locally #!rb none Change 3594090 on 2017/08/17 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Fix for mesh desyncing during online play. https://jira.it.epicgames.net/browse/UE-45947 #!rb none #!tests none [CODEREVIEW] zak.middleton #!ROBOMERGE-SOURCE: CL 3590625 in //Orion/Release-42.3/... via CL 3590626 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3594022 on 2017/08/17 by Laurent.Delayen SkeletalMeshComponent::InitAnim - Do not call RefreshBoneTransforms without calling TickAnim first. AnimGraph could get in a bad state. - Do not call RefreshBoneTransforms if AnimInstance has not been initialized. - Do not call RefreshBoneTransforms if bUseRefPoseOnInitAnim is set. Which it could if bForceReinit was false. #!rb martin.wilson #!tests minion test lane map. Change 3593972 on 2017/08/17 by Chris.Bunner Duplicating instanced static mesh fixes from Dev-Editor - 3502581, 3570934, 3593597. #!rb None #!tests Editor, -game, PC #!jira UE-48521, OR-42612 Change 3590611 on 2017/08/16 by David.Ratti Spot edigrate CL 3584203 to fix show collision crash in mono 2 #!rb none #!tests compile Change 3590452 on 2017/08/16 by Laurent.Delayen Fix for mesh desyncing during online play. https://jira.it.epicgames.net/browse/UE-45947 #!rb none #!tests none #!codereview zak.middleton Change 3590378 on 2017/08/16 by Laurent.Delayen Integrated CL #!3585145 from Main. >> Fix for https://jira.it.epicgames.net/browse/OR-42337 and https://jira.it.epicgames.net/browse/OR-42338 Don't call UpdateMontageSyncGroup() when doing EMeshComponentUpdateFlag::OnlyTickMontagesWhenNotRendered. Fixed auto ranged iterator. #!rb none #!tests bot match with Twinblast << Change 3590263 on 2017/08/16 by Matt.Kuhlenschmidt Added the ability to remove vertex colors from static meshes from the content browser #!rb none #!tests none #!fyi jordan.walker Change 3590026 on 2017/08/16 by Jurre.deBaare HLOD: When mesh has auto LOD generation disabled it prevents user from dragging meshes to make a cluster #!fix changed the tooltip and error handling for cluster creation, if there is any valid mesh now it will show up as a warning #!jira OR-41584 #!rb none #!test have tested several 'error' meshes which would before prevent the user from creating a cluster, Change 3588580 on 2017/08/15 by Laurent.Delayen Fix for https://jira.it.epicgames.net/browse/OR-42755 #!rb none #!tests bot match Change 3588360 on 2017/08/15 by Charles.Anderson Phat - Fixed up the materials to turn off the Render Before DOF so that we can see what were doing in Phat again. Change 3587983 on 2017/08/15 by robomerge #!ROBOMERGE-AUTHOR: daniel.lamb Fixed up audio issue on the new dawn intro movie #!jira OR-42144 #!rb Max.Preussner #!test Paragon ps4 #!lockdown Andrew.Grant #!ROBOMERGE-SOURCE: CL 3581466 in //Orion/Release-42.1/... via CL 3581468 via CL 3581469 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3587746 on 2017/08/15 by Daniel.Lamb Build launcher now has option for custom test. Dumps generated buildcooktest commandline to log when using -interactive for reference. #!rb trivial #!test BuildCookTest with and without test options. Change 3587733 on 2017/08/15 by Daniel.Lamb Reenabled binned 2 stats in not shipping. #!rb Andrew.Grant #!test Paragon editor. Change 3587727 on 2017/08/15 by Daniel.Lamb Removed all the checks to help track down Texture GC issue. #!rb Trivial #!test Paragon editor Change 3584487 on 2017/08/14 by Laurent.Delayen https://jira.it.epicgames.net/browse/OR-42754 making sure this is not firing because of false positives. #!rb none #!tests compiles Change 3582074 on 2017/08/11 by Laurent.Delayen TimeStretchCurve system for AnimMontages. Allows adjusting playback time of montages in a non constant way. This optional curve allows the user to determine how animation frames are influenced by play back time scaling, instead of using a constant play rate scaling. For example, with an attack animation, the strike could have zero influence (no play rate), and the recovery time could have 100% influence (most play rated). This system is entirely optional and compatible with current Montage API. You still determine desired play back time via the Play Rate parameter. Based on desired playback time, if there is a curve named 'MontageTimeStretchCurve' then, it will use the curve to determine animation frames to play based on playback time and TimeStretchCurve. Otherwise, if no curve exists, it is done using the constant supplied PlayRate. #!rb martin.wilson #!codereview lina.halper, james.golding #!tests wukong primary attacks Change 3582063 on 2017/08/11 by Brian.Fasten Removing Monolith02_LowTest from automated builds until errors can be cleared #!codereview: daniel.lamb #!rb - none #!tests - none Change 3581229 on 2017/08/10 by Lina.Halper - Back out revision 21 from //Orion/Dev-General/Engine/Source/Runtime/SlateCore/Private/Rendering/DrawElements.cpp - Comment out issue that causes crash in the draw box #!jira: UE-48222 #!code review: Jurre.DeBaare, Nick.Darnell, Daniel.Lamb #!rb: Jurre.DeBaare #!tests: building HLOD as specified in the ticket, and anim blueprint graph Change 3577839 on 2017/08/08 by Daniel.Lamb Revert CL 3576931. To fix crash when generating HLOD in Monolith 2. #!rb Andrew.Grant #!test Rebuild HLOD paragon editor #!fyi Lina.Halper Change 3577684 on 2017/08/08 by Andrew.Grant Removed ensure and merged proper fix for crash from UE4/Main (3572777) #!tests #!rb none Change 3577562 on 2017/08/08 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Potential fix for https://jira.it.epicgames.net/browse/OR-42383 Clear NotifyQueue prior to ticking montages. Also dispatch events right away, since ticking ends here, and no rendering is happening. In the event TickPose() is called directly and Component does not get ticked. #!rb lina.halper [CODEREVIEW] lina.halper, martin.wilson #!tests bot match #!ROBOMERGE-SOURCE: CL 3577071 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3577358 on 2017/08/08 by Harrison.Moore Updating Colorchecker Change 3576931 on 2017/08/08 by Lina.Halper Fix for missing arrowhead of the transition on state machine graph #!rb: Nick.Darnell #!tests: editor Change 3576847 on 2017/08/08 by Jason.Bestimt #!ORION_DG - OR-42361 - Removing assert that was causing crash report client to break (during shipping builds of Paragon due to directories that didn't exist) #!RB: Guillaume.Abadie #!Tests:none Change 3576794 on 2017/08/08 by Laurent.Delayen Removed call to DebugCanvas->Flush_GameThread(); to fix 'showdebug' commands not rendering anymore. #!rb Matt.Kuhlenschmidt #!codereview Matt.Kuhlenschmidt #!tests Ghost in PIE, showdebug animation works. Change 3576302 on 2017/08/08 by Jurre.deBaare Fix for Materials get switched up while building HLODs in case the section order is different than the material order #!rb none #!tests Rebuild problematic clusters in Monolith2 #!fix materials remapping was done using the section index instead of material index in the hlod path (static mesh merge one was fine) Change 3575221 on 2017/08/07 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fix for PS4 shipping #!tests compiled PS4 shipping #!rb none #!ROBOMERGE-SOURCE: CL 3575112 in //Orion/Release-42.1/... via CL 3575114 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3575165 on 2017/08/07 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Runtime/PS4/PS4RHI/Private/GnmManager.cpp -------------------------------------- PS4 GPU time now shows correct values instead of vsync time. #!tests Ran on PS4 #!rb Luke.Thatcher #!ROBOMERGE-SOURCE: CL 3574821 in //Orion/Release-42.1/... via CL 3574823 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574408 on 2017/08/06 by Ben.Salem Switch nightly solo smoke/fx tests to have -unattended on their commandlines. #!rb none #!tests compiled. Change 3574308 on 2017/08/06 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Include session time, MVP, and hitches on new health report #!tests ran locally #!rb none #!ROBOMERGE-SOURCE: CL 3574305 in //Orion/Release-42/... via CL 3574306 via CL 3574307 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574217 on 2017/08/05 by Jeff.Williams Fixing UAT compile error #!review-3574218 @andrew.grant #!rb na #!tests na Change 3574139 on 2017/08/05 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant [NULL MERGE] Locked net version to 3571982 for future v42 patches #!tests #!rb none #!ROBOMERGE-SOURCE: CL 3574136 in //Orion/Release-42/... via CL 3574137 via CL 3574138 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574130 on 2017/08/05 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/SelfTest/Gauntlet.SelfTest.LogParserTest.cs -------------------------------------- Non-shipping Gauntlet changes - Log parser cleanup that provides better access to log channel info, errors, warnings, and ensures Updated BaselinePerf test to record number of units travelled. This should highlight tests where a bot gets blocked :( #!tests ran locally on PS4 #!rb none #!ROBOMERGE-SOURCE: CL 3574116 in //Orion/Release-42/... via CL 3574123 via CL 3574124 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3573197 on 2017/08/04 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj -------------------------------------- Merging //Orion/Release-42.1 to Dev-ContentUpdate (//Orion/Dev-ContentUpdate) #!tests #!rb none #!ROBOMERGE-SOURCE: CL 3573179 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3573079 on 2017/08/04 by Andrew.Grant Removed some code that was preventing Wacom from working #!tests #!rb none Change 3572790 on 2017/08/04 by Jurre.deBaare Moving over fixes from 4.17 stream related to HLOD: "UE-47360 Non Uniform baking of HLOD materials causes texture stretching UE-47031 Generating a HLOD cluster with multiple actors that contain lods will not bake correctly" #!rb none #!tests none Change 3572663 on 2017/08/04 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Gauntlet - copy elf files to temp dir and launch from there #!tests ran gauntlet #!rb none #!ROBOMERGE-SOURCE: CL 3572657 in //Orion/Release-42/... via CL 3572659 via CL 3572662 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3572622 on 2017/08/04 by Jurre.deBaare Moving over: "Guard against zero sized boxes being sent to the slate batcher. This was exposed by the clipping changes since zero sized elements would have been previously clipped. #!rb nick.darnell #!jira UE-46919" #!tests none Change 3572428 on 2017/08/04 by Benn.Gallagher Added per-axis inertia and parent dominance settings to physics assets #!rb Thomas.Sarkanen #!tests Shrapnel in editor and -game (seems to be the only character using old inertia scaler for rigid body node) Change 3572142 on 2017/08/04 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Disabling r.Cache.UpdatePrimsTaskEnabled for PS4 due to lock-ups #!tests none #!rb none #!ROBOMERGE-SOURCE: CL3572139in //Orion/Release-42/... via CL 3572140 via CL 3572141 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3572133 on 2017/08/04 by Andrew.Grant Merging //UE4/Main/Engine/Source/Runtime/SlateCore/Private/Input/HittestGrid.cpp to //Orion/Dev-General/Engine/Source/Runtime/SlateCore/Private/Input/HittestGrid.cpp #!tests #!rb none Change 3572065 on 2017/08/03 by Andrew.Grant Fixed bug in Gauntlet parsing of perf data for tests Added perf-parsing test to SelfTest #!tests ran self test #!rb none #!ROBOMERGE: 42.1 Change 3572033 on 2017/08/03 by Andrew.Grant Merging //UE4/Main @ 3571062 through Orion-Staging #!rb none #!tests Engine QA pass Change 3571262 on 2017/08/03 by Uriel.Doyon StaticMeshComponent and LandscapeComponent now register AO material mask and sky occlusion texture in the texture streamer. Changing the current lighting scenario now triggers an update of the texture streamer. Added an option to the "liststreamingtextures" named UNKOWNREF allowing to inspect texture without references in the texture streamer. #!rb none #!tests played monolith2 on PS4 and loaded the map in the editor. Change 3571247 on 2017/08/03 by robomerge #!ROBOMERGE-AUTHOR: daniel.lamb Integrate Dev-UI -> Release42 Reduced the sensitivity on the slow tick timer warning #!rb Trivial #!test Cooked paragon ps4 #!lockdown Andrew.Grant #!ROBOMERGE-SOURCE: CL 3571239 in //Orion/Release-42/... via CL 3571244 via CL 3571246 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3570431 on 2017/08/03 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Removed a change that was inadvertendly included in a larger fix and seems to be having problems on windows server. #!tests ran windows server locally #!rb none #!ROBOMERGE-SOURCE: CL 3570428 in //Orion/Release-42/... via CL 3570429 via CL 3570430 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3570343 on 2017/08/03 by Jurre.deBaare HLOD: opening a level with HLOD defaults to forcing HLOD on for all clusters #!fix forcing the HLODs to show up in the editor changes the MinDrawDistance of the static mesh component, this was getting saved and not restored during runtime (now does it in PostLoad) #!jira UE-47712 #!rb none #!tests PIE in Editor while having HLOD forced on Change 3570047 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fix for ensure leading to deadlock #!jira OR-42071 #!tests compiled, ran ShortSoloGame test #!rb none [QAREVIEW] - this fixes the PC locks in OR-42071 and probably the PS4 too, but please recheck both platforms to be sure. #!ROBOMERGE-SOURCE: CL 3570044 in //Orion/Release-42/... via CL 3570045 via CL 3570046 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569932 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Integration from UE4 - fixed a set of critical bugs that would cause rare crashes in the async IO subsystems. #!rb gil.gribb #!tests ran 10x solo games, ran LoadTest, all PS4 #!jira UE-47483 #!ROBOMERGE-SOURCE: CL 3569929 in //Orion/Release-42/... via CL 3569930 via CL 3569931 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569839 on 2017/08/02 by Daniel.Lamb Added the low quality monolith map to the build launcher and cook maps list. #!rb Trivial #!test Compile UAT Change3569441on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Re-enabled OnlyTickMontagesWhenNotRendered animation optimization, after fixing edge case where 'Evaluate' could be called on out of sync cached data. Only update cached data when the graph will be updated, to ensure we don't have mismatching update and evaluate data. #!rb none [CODEREVIEW] martin.wilson, lina.halper #!tests bot match w/ dedicated server. #!ROBOMERGE-SOURCE: CL 3569235 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569397 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: ben.salem Merging using Dev-Gen_->_Release-42.1 Support for skins in perf reporting, also report overall test run time. #!rb various #!tests ran with new shallow test maps. #!ROBOMERGE-SOURCE: CL 3568892 in //Orion/Release-42.1/... via CL 3568967 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3568639 on 2017/08/02 by Adric.Worley Add individual FTest enumeration to Orion perf tests Moved methods to run FTests to helper for reuse. Effects perf tests now show individual test cases for more granular runs. All perf tests now do map check and draft logic as setup. #!tests ran updated tests in client/server #!rb ben.salem Change 3568616 on 2017/08/02 by Ben.Salem Switch shallow fx tests to report to their own mailing list. #!rb bob.ferreira #!tests recompiled Change 3568607 on 2017/08/02 by Daniel.Lamb Added staticmeshcomponent to the memreportfull command. #!rb Trivial #!test Paragon Change 3568018 on 2017/08/01 by Ben.Salem Add skin and character name to test reports, and also test runtime. #!rb none #!tests ran steel shallow test Change 3567995 on 2017/08/01 by Bob.Ferreira [FXTests] Updating FXTests and ShallowFXTests to call OnComplete() when doing check point validation. [Gauntlet] Changed InnerTestResult to be protected so that inherited test nodes can modify it. #!rb Ben.Salem #!TESTS Ran local automationtool run on a cooked main build. Change 3567912 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: ori.cohen Added support for physical materials in immediate mode #!rb none #!tests none [CODEREVIEW] Benn.Gallagher #!ROBOMERGE-SOURCE: CL 3567865 in //Orion/Release-42/... via CL 3567901 via CL 3567904 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3567594 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Disabling animation optimization until I can fix an edge case. #!rb none #!tests arcade mode #!ROBOMERGE-SOURCE: CL 3567593 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3566953 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Animation Optimization: Added EMeshComponentUpdateFlag::OnlyTickMontagesWhenNotRendered to only update montages when not rendered, instead of doing a whole pose update. This means on dedicated servers we'll only update montages when needed, and not the AnimGraph, which we have no need for. This is also affects non rendered meshes on clients. #!rb martin.wilson [CODEREVIEW] lina.halper, martin.wilson #!tests ghost and wukong networked doing montage abilities. #!ROBOMERGE-SOURCE: CL 3566950 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3564610 on 2017/07/31 by Uriel.Doyon Integrated CL 3543210 : Fixed an issue when computing material scales where the default material ends up being used instead of the required material. Deprecated previous material data as it was causing some waste. Integrated CL 3526859 : Texture mip bias is now reset whenever the streaming budget increases #!rb none #!tests played monolith2 on PS4 Change 3564509 on 2017/07/31 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened). [CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson #!rb none #!tests Kwang AnimBP opens without a warning. #!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) [CL 3613306 by Andrew Grant in Main branch]
160 lines
5.5 KiB
C++
160 lines
5.5 KiB
C++
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "VectorVMBackend.h"
|
|
#include "ShaderFormatVectorVM.h"
|
|
#include "hlslcc.h"
|
|
#include "hlslcc_private.h"
|
|
#include "compiler.h"
|
|
|
|
PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS
|
|
#include "glsl_parser_extras.h"
|
|
PRAGMA_POP
|
|
|
|
#include "hash_table.h"
|
|
#include "ir_rvalue_visitor.h"
|
|
#include "PackUniformBuffers.h"
|
|
#include "IRDump.h"
|
|
#include "OptValueNumbering.h"
|
|
#include "ir_optimization.h"
|
|
#include "ir_expression_flattening.h"
|
|
#include "ir.h"
|
|
|
|
#include "VectorVM.h"
|
|
|
|
#if !PLATFORM_WINDOWS
|
|
#define _strdup strdup
|
|
#endif
|
|
|
|
DEFINE_LOG_CATEGORY(LogVVMBackend);
|
|
|
|
bool FVectorVMCodeBackend::GenerateMain(EHlslShaderFrequency Frequency, const char* EntryPoint, exec_list* Instructions, _mesa_glsl_parse_state* ParseState)
|
|
{
|
|
//vm_debug_dump(Instructions, ParseState);
|
|
|
|
ir_function_signature* MainSig = NULL;
|
|
int NumFunctions = 0;
|
|
|
|
foreach_iter(exec_list_iterator, iter, *Instructions)
|
|
{
|
|
ir_instruction *ir = (ir_instruction *)iter.get();
|
|
ir_function* Function = ir->as_function();
|
|
if (Function)
|
|
{
|
|
if (strcmp(Function->name, "SimulateMain") == 0)
|
|
{
|
|
foreach_iter(exec_list_iterator, sigiter, *Function)
|
|
{
|
|
ir_function_signature* Sig = (ir_function_signature *)sigiter.get();
|
|
Sig->is_main = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//vm_debug_dump(Instructions, ParseState);
|
|
return true;
|
|
}
|
|
|
|
char* FVectorVMCodeBackend::GenerateCode(exec_list* ir, _mesa_glsl_parse_state* state, EHlslShaderFrequency Frequency)
|
|
{
|
|
vm_debug_print("========VECTOR VM BACKEND: Generate Code==============\n");
|
|
vm_debug_dump(ir, state);
|
|
|
|
if (state->error) return nullptr;
|
|
|
|
//Inline all functions.
|
|
vm_debug_print("== Initial misc ==\n");
|
|
bool progress = false;
|
|
do
|
|
{
|
|
//progress = do_function_inlining(ir);//Full optimization pass earlier will have already done this.
|
|
progress = do_mat_op_to_vec(ir);
|
|
progress = do_vec_op_to_scalar(ir) || progress;
|
|
progress = do_vec_index_to_swizzle(ir) || progress;
|
|
progress = do_copy_propagation(ir) || progress;
|
|
progress = do_copy_propagation_elements(ir) || progress;
|
|
progress = do_swizzle_swizzle(ir) || progress;
|
|
} while (progress);
|
|
//validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
if (state->error) return nullptr;
|
|
|
|
vm_debug_print("== Branches to selects ==\n");
|
|
vm_flatten_branches_to_selects(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
|
|
vm_debug_print("== To Single Op ==\n");
|
|
vm_to_single_op(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
if (state->error) return nullptr;
|
|
|
|
vm_debug_print("== Scalarize ==\n");
|
|
vm_scalarize_ops(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
if (state->error) return nullptr;
|
|
|
|
//99% complete code to remove all matrices from the code and replace them with just swizzled vectors.
|
|
//For now visitors below here can handle matrices ok but we may hit some edge cases in future requiring their removal.
|
|
//vm_debug_print("== matrices to vectors ==\n");
|
|
//vm_matrices_to_vectors(ir, state);
|
|
//vm_debug_dump(ir, state);
|
|
//if (state->error) return nullptr;
|
|
|
|
vm_debug_print("== Merge Ops ==\n");
|
|
vm_merge_ops(ir, state);
|
|
// validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
if (state->error) return nullptr;
|
|
|
|
vm_debug_print("== Propagate non-expressions ==\n");
|
|
vm_propagate_non_expressions_visitor(ir, state);
|
|
//validate_ir_tree(ir, state);
|
|
vm_debug_dump(ir, state);
|
|
if (state->error) return nullptr;
|
|
|
|
vm_debug_print("== Cleanup ==\n");
|
|
// Final cleanup
|
|
progress = false;
|
|
do
|
|
{
|
|
progress = do_dead_code(ir, false);
|
|
progress = do_dead_code_local(ir) || progress;
|
|
progress = do_swizzle_swizzle(ir) || progress;
|
|
progress = do_noop_swizzle(ir) || progress;
|
|
progress = do_copy_propagation(ir) || progress;
|
|
progress = do_copy_propagation_elements(ir) || progress;
|
|
progress = do_constant_propagation(ir) || progress;
|
|
} while (progress);
|
|
vm_debug_dump(ir, state);
|
|
|
|
//validate_ir_tree(ir, state);
|
|
|
|
if (state->error) return nullptr;
|
|
|
|
vm_gen_bytecode(ir, state, CompilationOutput);
|
|
return nullptr;// Cheat and emit the bytecode into he CompilationOutput. The return here is treat as a string so the 0's it contains prove problematic.
|
|
}
|
|
|
|
void FVectorVMLanguageSpec::SetupLanguageIntrinsics(_mesa_glsl_parse_state* State, exec_list* ir)
|
|
{
|
|
// //TODO: Need to add a way of stopping these being stripped if they're not used in the code.
|
|
// //We fine if the func is unused entirely but we need to keep the scalar signatures for when we scalarize the call.
|
|
// //Maybe we can just keep the wrong sig but still replace the ret val and params?
|
|
// make_intrinsic_genType(ir, State, "mad", ir_invalid_opcode, IR_INTRINSIC_FLOAT, 3, 1, 4);
|
|
make_intrinsic_genType(ir, State, "rand", ir_invalid_opcode, IR_INTRINSIC_FLOAT, 1, 1, 4);
|
|
make_intrinsic_genType(ir, State, "rand", ir_invalid_opcode, IR_INTRINSIC_INT, 1, 1, 4);
|
|
make_intrinsic_genType(ir, State, "Modulo", ir_invalid_opcode, IR_INTRINSIC_FLOAT, 1, 1, 4);
|
|
|
|
// Dont need all these as we're only using the basic scalar function which we provide the signature for in the usf.
|
|
// make_intrinsic_genType(ir, State, "InputDataFloat", ir_invalid_opcode, IR_INTRINSIC_FLOAT, 2, 1, 1);
|
|
// make_intrinsic_genType(ir, State, "InputDataInt", ir_invalid_opcode, IR_INTRINSIC_INT, 2, 1, 1);
|
|
// make_intrinsic_genType(ir, State, "OutputDataFloat", ir_invalid_opcode, 0, 3, 1, 1);
|
|
// make_intrinsic_genType(ir, State, "OutputDataInt", ir_invalid_opcode, 0, 3, 1, 1);
|
|
// make_intrinsic_genType(ir, State, "AcquireIndex", ir_invalid_opcode, IR_INTRINSIC_INT, 2, 1, 1);
|
|
}
|