shawn mcgrath
a267abfcb3
#jira UE-165557 UE-165386 #preflight 6362988b876630122aab7cda #rb rob.krajcarski EVVM per-instance function had incorrect offset when reading constant buffers with more than 4 instances
...
[CL 22951661 by shawn mcgrath in ue5-main branch]
2022-11-03 09:15:29 -04: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
b4fd901620
Couple of fixes for handling experimental and legacy byte code side by side
...
-introduces a new cvar (fx.NiagaraScript.StripByteCodeOnLoad) which can be used to strip out one of the byte codes, saving memory, -1 -> strips experimental, 1 -> strips legacy
-fixes identification of whether an Inputhandle
#jira none
#rb stu.mckenna
#preflight 62f677f9f3107c023c06e84e
[CL 21359671 by rob krajcarski in ue5-main branch]
2022-08-12 14:29:56 -04:00
Bryan sefcik
b4a6e947d8
Ran IWYU on Public headers under Engine/Source/Runtime/...
...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -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
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