rob krajcarski
4f6ee877d7
Fix out of bounds access in experimental VM optimizer when handling a stat op as well as fixes up the index of referenced input ops when instructions are being reordered
...
#jira UE-148682, UE-148691
#rb stu.mckenna
#preflight 62618ae16119a1a496ad3541
#ROBOMERGE-AUTHOR: rob.krajcarski
#ROBOMERGE-SOURCE: CL 19852605 via CL 19852632 via CL 19852671
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19854626 by rob krajcarski in ue5-main branch]
2022-04-21 15:48:18 -04:00
rob krajcarski
485ffd5ac5
Fix safe instructions for experimental VM to match the behavior of the legacy VM
...
#jira UE-148596
#rb stu.mckenna
#preflight none
#ROBOMERGE-AUTHOR: rob.krajcarski
#ROBOMERGE-SOURCE: CL 19749420 via CL 19749423 via CL 19749427
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)
[CL 19801804 by rob krajcarski in ue5-main branch]
2022-04-18 23:24:44 -04:00
Stu McKenna
f049a31e63
- Disable experimental VM due to cook errors
...
#rb trivial
#jira UE-148682
#rnx
#preflight 6255c20769015afc27b9b42f
[CL 19725948 by Stu McKenna in ue5-main branch]
2022-04-12 14:31:56 -04:00
shawn mcgrath
a5a3936e40
VectorVM: allow dead random instruction to be removed.
...
Turned new VM back on and bumped the Niagara_LatestScriptCompileVersion. #JIRA UE-147838 #preflight 624c47478e5ae00f0ab7e7f4 #rb rob.krajcarski
[CL 19627043 by shawn mcgrath in ue5-main branch]
2022-04-05 12:28:07 -04:00
Stu McKenna
116845c03b
- Disable experimental VVM until a cook issue can be addressed
...
#fyi shawn.mcgrath
#jira UE-147838
#rnx
#preflight 6247753e470aff98e984a36f
[CL 19596748 by Stu McKenna in ue5-main branch]
2022-04-01 18:16:20 -04:00
shawn mcgrath
4680318e4b
Niagara: enabled legacy VM. #preflight none #rb none
...
[CL 19555281 by shawn mcgrath in ue5-main branch]
2022-03-30 07:41:43 -04:00
shawn mcgrath
b03432bbb0
New VectorVM optimizer fixes. Fixes some invalid instruction removal bugs as well as incorrect SSA calculation on re-ordered instructions. Also fixed potential external function register alignment bugs. Turned new VectorVM back on by default and bumped the Niagara script compiled version. #preflight 62438337c51908059aa24096 #rb rob.krajcarski
...
[CL 19551771 by shawn mcgrath in ue5-main branch]
2022-03-29 20:09:16 -04:00
rob krajcarski
4a5c26ba64
Disable experimental niagara VM while memstomps are causing troubles with Lyra effects
...
#jira UE-146776
#rb none
#preflight 623cef984368f558e30cb94d
#fyi shawn.mcgrath
[CL 19504256 by rob krajcarski in ue5-main branch]
2022-03-24 18:42:24 -04:00
rob krajcarski
b281028c38
Additional support for new experimental VM
...
-moves optimization pass to the async compilation pipeline (including moving it to it's own file, out of NiagaraSystem)
-splits up the NIAGARA_VM_EXP preprocessor define into VECTORVM_SUPPORTS_LEGACY & VECTORVM_SUPPORTS_EXPERIMENTAL allowing support of one, the other or both (the default)
#rb shawn.mcgrath
#jira none
#preflight 623c85cd1302f69e9aa0b1d7
[CL 19496739 by rob krajcarski in ue5-main branch]
2022-03-24 11:52:03 -04:00
shawn mcgrath
72c3bceecd
Vector VM optimizer: temporarily removed redundant instructions that's causing an SSA allocation bug. Will investigate bug in more depth, but this temp fix solves the Lyra (and potentially other) bugs. #jira UE-146776 #rb rob.krajcarski #preflight none
...
[CL 19496492 by shawn mcgrath in ue5-main branch]
2022-03-24 11:42:31 -04:00
shawn mcgrath
1771d98a72
VectorVM neon compiler fix. VectorRegister4 vs VectorRegister4f #rb none #preflight none
...
[CL 19488202 by shawn mcgrath in ue5-main branch]
2022-03-23 18:58:16 -04:00
shawn mcgrath
98f32c6499
Fix VectorVM alignment bug on f2i/i2f instructions. #jira UE-146776 #rb rob.krajcarski #preflight none
...
[CL 19487475 by shawn mcgrath in ue5-main branch]
2022-03-23 18:22:13 -04:00
shawn mcgrath
769266d97d
VectorVM Optimizer bug fix calculating dummy registers. #jira UE-146588 #rb jeff.roberts #preflight 6239feafc73745c600a07f34
...
[CL 19471633 by shawn mcgrath in ue5-main branch]
2022-03-22 16:24:09 -04:00
shawn mcgrath
817835763e
New VectorVM bug fixes.
...
Fixed pointer alignment causing compiler to generate aligned instructions on unaligned data. Fixed optimization bug on empty scripts.
#jira UE-146424 UE-146342
#rb jeff.roberts
#preflight 62361e7948746817f1491ef8
[CL 19446753 by shawn mcgrath in ue5-main branch]
2022-03-19 23:27:04 -04:00
rob krajcarski
2289d9f8ca
Fix for empty scripts (i.e. scripts that only has a single 'done' instruction)
...
#rb stu.mckenna
#jira none
#preflight 62325396161b100559411a8b
[CL 19413379 by rob krajcarski in ue5-main branch]
2022-03-16 17:35:01 -04:00
rob krajcarski
9fc29320b1
Fixup some warnings generated from usage of VectorRegister2Int64 with new experimental VectorVM
...
#jira UE-146165
#preflight 623231286c05dd6bbc6e005a
#rb stu.mckenna
[CL 19410336 by rob krajcarski in ue5-main branch]
2022-03-16 15:26:36 -04:00
shawn mcgrath
3b09ee5388
New VectorVM half float bug fixes #rb none #preflight none
...
[CL 19405520 by shawn mcgrath in ue5-main branch]
2022-03-16 10:13:08 -04:00
shawn mcgrath
61cf03bac1
VectorVM bug fixes & half float support. Experimental VM on by default. #rb Rob.Krajcarski #preflight 6230b204421403c1553829fc
...
[CL 19388907 by shawn mcgrath in ue5-main branch]
2022-03-15 13:46:08 -04:00
aurel cordonnier
ac54844eff
Fix for "Include after first code block" include tool error
...
#fyi Shawn.McGrath
#preflight 622fb4d8511d438d6b6f1beb
#jira UE-143216
#rnx
[CL 19379414 by aurel cordonnier in ue5-main branch]
2022-03-14 17:53:12 -04:00
shawn mcgrath
2d080325b5
Niagara/VectorVM bug fixes. #rb none #preflight 622146d4a00412627d15dab5
...
[CL 19257352 by shawn mcgrath in ue5-main branch]
2022-03-03 18:52:26 -05:00
shawn mcgrath
3302307688
Added markup for PVS studio warning. #rb none #preflight none
...
[CL 19035109 by shawn mcgrath in ue5-main branch]
2022-02-17 10:32:48 -05:00
shawn mcgrath
cb83612158
- New Vector VM with optimizer and serialization.
...
- curve sampling DIs changed to 4-wide
- Off by default
#rb stu.mckenna #preflight 620bba0e4353dc61c7f60f39
[CL 18996550 by shawn mcgrath in ue5-main branch]
2022-02-15 11:01:00 -05:00
rob krajcarski
6d21460c89
Moved VM functions over to use their accurate vectorized version (still uses approximations but uses newton-raphson iteraions to improve the estimate at some cost). Brings individual op costs of rcp(), rsqrt() and, by association, sqrt() up by a factor of ~4 but nearly doubles the precision. Also updated a few of the core modules (FindQuatBetween/DirectionAndLength/DirectionAndLengthSafe) to better take advantage of the fast/precise intrinsics
...
#rb stu.mckenna
#preflight 61dddf9df33c0754172a88e6
#ROBOMERGE-OWNER: rob.krajcarski
#ROBOMERGE-AUTHOR: rob.krajcarski
#ROBOMERGE-SOURCE: CL 18578280 via CL 18578407 via CL 18578421 via CL 18578819 via CL 18578843 via CL 18578847
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)
[CL 18578854 by rob krajcarski in ue5-main branch]
2022-01-11 18:41:23 -05:00
michael galetzka
479f74fe22
Some code cleanup, mainly in Niagara data interfaces
...
#jira none
#rb stu.mckenna
#ROBOMERGE-AUTHOR: michael.galetzka
#ROBOMERGE-SOURCE: CL 18353646 in //UE5/Release-5.0/... via CL 18353672
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18353697 by michael galetzka in ue5-release-engine-test branch]
2021-12-02 12:09:13 -05:00
aurel cordonnier
a12d56ff31
Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
...
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00