rob krajcarski
2aa0c9da90
Guard against integer overflow with integer divide within VectorVM
...
#rb stu.mckenna
#preflight 63753bfe953c19d4351d4edb
[CL 23164295 by rob krajcarski in ue5-main branch]
2022-11-16 17:41:55 -05:00
rob krajcarski
41ef4d5701
Couple of fixes for NiagaraScript's DDC content to be non-deterministic
...
-Cleans up some of the data written into the payload (removing compile times & writing out zeroes for unneeded non-determinstic pointers)
-Incorporates the AssetPath of the script to the DDC key to prevent identical scripts from sharing the same DDC as we still have some data in the DDC value (node guis & emitter names, ..)
#rb stu.mckenna
#jira none
#preflight 63752bdd32484253058adae3
[CL 23161488 by rob krajcarski in ue5-main branch]
2022-11-16 15:42:00 -05:00
joe pribele
58e5ef0030
removing PRAGMA_DISABLE_OPTIMIZATION or upgrading to UE_DISABLE_OPTIMIZATION_SHIP preparing for deprication of PRAGMA_DISABLE_OPTIMIZATION
...
#preflight 6372d56b324842530500335a
[CL 23130066 by joe pribele in ue5-main branch]
2022-11-14 19:05:15 -05:00
shawn mcgrath
049afd6ada
Build health fix for previous submission. EVVM fix. #preflight 636921f24d3c1d9d925ce533 #rb none
...
[CL 23011308 by shawn mcgrath in ue5-main branch]
2022-11-07 10:50:21 -05:00
shawn mcgrath
18dd2c2b88
Separated EVVM transcendental instructions from UnrealMath* intrinsics #preflight none #rb none
...
[CL 23009218 by shawn mcgrath in ue5-main branch]
2022-11-07 06:34:32 -05:00
rob krajcarski
d69b4acfec
Mirror safety net for pow EVVM instruction that was used on legacy VM (ensure base is greater than epsilon, otherwise return 0
...
#jira UE-166287
#rb shawn.mcgrath
#preflight 6348c9edfd22d1fbde8ca6a2
[CL 22546750 by rob krajcarski in ue5-main branch]
2022-10-14 22:21:46 -04:00
rob krajcarski
b89881d4ba
Fix for acos instruction with EVVM
...
#jira UE-163408
#rb shawn.mcgrath
#preflight 6335bda0f76de2d4d55bfb3d
[CL 22263066 by rob krajcarski in ue5-main branch]
2022-09-30 00:44:04 -04:00
shawn mcgrath
2e964912c5
VectorVM Experimental VM bug fix with Niagara fountain emitter. #jira UE-163669 #rb stu.mckenna #preflight none
...
[CL 22086975 by shawn mcgrath in ue5-main branch]
2022-09-19 21:55:43 -04:00
bryan sefcik
07894f4a07
Removed redundant private include paths from build.cs files.
...
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631a717cec45fbf3d74d4ba7
[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
shawn mcgrath
10bbc3e8cc
VectorVM Fluid Sim fix #jira UE-162851 #rb Rob.Krajcarski #preflight none
...
[CL 21851931 by shawn mcgrath in ue5-main branch]
2022-09-07 11:41:11 -04:00
shawn mcgrath
04465d261c
VectorVM Optimizations
...
- new single, multi and AVX path
- internal pointer caching
- x64 instruction minimization
- new combined instructions
- optimized memory cache
- NEON math changes
#rb: rob.krajcarski
#preflight: 630e190b556fc14dce6c88c9
[CL 21704582 by shawn mcgrath in ue5-main branch]
2022-08-30 13:11:19 -04:00
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
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
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
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