Commit Graph

156 Commits

Author SHA1 Message Date
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
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
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