Commit Graph

30 Commits

Author SHA1 Message Date
dan elksnitis
a9037b25ed [shaders]
- add FShaderSource class which wraps source as populated by preprocessing and subsequently accessed by compilation and other debug features; this class automatically inserts zeroed padding such that 16-byte-wide SIMD string comparison operations do not require a non-SIMD tail to process any overhang.
- add typedefs for the string/view/character types and update preprocessing code to use these typedefs instead of the explicit types
- add explicit if constexprs in minifier code around char width to disable simd optimizations for char width != 2 (and subsequently skip the non-simd tail if char width == 2 since FShaderSource automatically adds the required padding)

#rb Jason.Nadro, Yuriy.ODonnell

[CL 30358137 by dan elksnitis in ue5-main branch]
2023-12-15 15:28:27 -05:00
dan elksnitis
6ed653a189 [shaders] further preprocessing cleanup
- move sequence of preprocessing steps out of ShaderPreprocessor module and into UE::ShaderCompilerCommon::ExecuteShaderPreprocessingSteps; the former is now explicitly just the low-level preprocessor lib
- add an implementation of PreprocessShader in FBaseShaderFormat so backends which have no custom code to execute as part of preprocessing can just automatically inherit this implementation, and fix up such backends to eliminate now-unnecessary overrides

#rb christopher.waters, Laura.Hermanns

[CL 30178136 by dan elksnitis in ue5-main branch]
2023-12-07 08:55:41 -05:00
dan elksnitis
c1f33c7a82 [shaders] debug usf/direct compile cleanup
- never append the environment defines as commented code to the source used for further preprocessing/compilation; instead only append it to the debug USF
- strip comments after loading the debug usf in direct compile mode as some backends expect comments to have already been removed and the extra ones we add to the debug dump cause them to barf
- change all #if 0s in the debug usf to block comments instead so the above can strip them (said backends also don't like preprocessor directives left in the file)

#rb Jason.Nadro, rob.krajcarski

[CL 30161438 by dan elksnitis in ue5-main branch]
2023-12-06 13:32:32 -05:00
dan elksnitis
cc7c2c54f4 [shaders] shader format preprocessing cleanup & refactoring
- move uniform buffer cleanup and dead stripping into ShaderPreprocessor module's PreprocessShader function
- add "required symbols" to compiler input struct to specify additional symbols to keep during minification aside from those specified by the entrypoint; modify API such that both an entry point string and additional symbols can be specified (to avoid each backend needing to manually parse the compound RT entry point string)
- make use of ModifyShaderCompilerInput in all backends to set additional defines and required symbols on input struct up front; only use the AdditionalDefines map in cases where it's actually necessary
- remove the various per-platform defines for enabling minifier, no longer required now that this has been rolled out for all backends
- fix SCW directcompile mode; this had rotted due to pieces of the FShaderCompilerEnvironment having been added that weren't explicitly serialized to either cmdline or in the shader source. this now serializes as a base64 string written inside the USF containing all portions of the environment required for compilation (using the same serialization function as is used to write/read the SCW input file)
- use a debug flag for indicating we're in "direct compile" mode and should load the debug USF off disk, rather than the poorly named "bSkipPreprocessedCache" (this name is both inaccurate and also confusing due to the addition of the preprocessed job cache)
- modify platform "force wave32" mechanism to use a pragma directive to set a compiler define, instead of doing string replacement in the preprocessed source
- add a view version of the RT entrypoint parsing to use in preprocessing, note that other paths still need to construct fstrings due to further manipulation so keeping the FString path around too
- clean up backends manually checking the "directcompile" cmdline arg

#rb christopher.waters, Yuriy.ODonnell
#rb Chris.Waters
#rb Laura.Hermanns

[CL 30023082 by dan elksnitis in ue5-main branch]
2023-11-30 15:56:34 -05:00
dan elksnitis
9064172949 [shaders] migration of VectorVM shader format to independent preprocessing API (along with some cleanup)
#rb Rob.Krajcarski
#rb Laura.Hermanns

[CL 27106719 by dan elksnitis in ue5-main branch]
2023-08-15 12:28:03 -04:00
dan elksnitis
5f85b46590 [shaders] remove unnecessary passing of hlslcc flags as an option to debug info output. this was just used to pass a switch on the SCW directcompile cmdline which SCW no longer does anything with. also cleaned up some additional unnecessary code related to these flags in backends that no longer use hlslcc at all.
#rb Laura.Hermanns

[CL 26685354 by dan elksnitis in ue5-main branch]
2023-07-28 15:58:01 -04:00
jason hoerner
7f22080814 Shader Compiler: Made FShaderCompilerDefinitions private, to reduce code publicly visible in ShaderCore.h. For now, it's just marked deprecated for 5.4, but will be hidden more generally in 5.5.
#rnx
#rb yuriy.odonnell dan.elksnitis jason.nadro

[CL 26534998 by jason hoerner in ue5-main branch]
2023-07-22 06:35:10 -04:00
kirill zorin
b6ee3a6c64 Fix UE_LOG callsites that have format string-related UB
#rb trivial
#preflight 647107780a6634dbb236a0a6

[CL 25651638 by kirill zorin in ue5-main branch]
2023-05-26 15:52:39 -04:00
dan elksnitis
34c034f2b2 [shaders] add a mutex acquired around all calls into hlslcc as a temporary fix for parallel in-process compilation. also some minor cleanup (include sorting, remove an unused/unimplemented function prototype)
#rb Jason.Nadro
#rb Yuriy.ODonnell
#rb Laura.Hermanns
#preflight 63e272b08374ef68dfd142ea

[CL 24049810 by dan elksnitis in ue5-main branch]
2023-02-07 11:04:07 -05:00
dan elksnitis
ecab3b4a9a [shaders] refactor usf/directcompile.txt dump into a utility in ShaderCompilerCommon to reduce code duplication in the shader backends
#rb Jason.Nadro
#rb Christopher.Waters
#preflight 635bf1e1df01edd149f5727e

[CL 22829548 by dan elksnitis in ue5-main branch]
2022-10-28 11:45:49 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
arciel rekman
e1db3cb334 Don't include commented out defines in the preprocessed code by default.
- Defines will still be there if we're dumping the shader code for debug.
- This makes the code less unique in general case and also avoids unnecessary works that no one sees.

#rb Lukas.Hermanns
[FYI] Lukas.Hermanns, Rolando.Caloca


#ROBOMERGE-SOURCE: CL 11311362 via CL 11311438
#ROBOMERGE-BOT: (v653-11302973)

[CL 11311455 by arciel rekman in Main branch]
2020-02-10 16:07:53 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
rolando caloca
955a14de37 UE4 - Fix invalid IR on hlslcc potentially causing a crash
#rb none
[FYI] Jonas.Meyer
#rnx
#jira UE-71397

#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 5399410 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5399503 by rolando caloca in Main branch]
2019-03-14 14:16:41 -04:00
Matt Collins
6b93e353eb Enabling Niagara VectorVM CVar.
#jira UE-69189
#rb none

[CL 4902577 by Matt Collins in Main branch]
2019-02-05 15:00:37 -05:00
Matt Collins
a0c6fc9fd2 Disabling the vectorvm fix in main. It will propagate up through dev-rendering.
#rb none

[CL 4879790 by Matt Collins in Main branch]
2019-02-02 15:40:51 -05:00
matt collins
022f230b84 Adds a cvar to allow niagara VM shader compilation to skip some of HLSLCC's backend optimization passes.
Depends on 4861258!

#jira UE-69189
#rb none
[FYI] morten.vassvik


#ROBOMERGE-SOURCE: CL 4861438 via CL 4865436

[CL 4873048 by matt collins in Main branch]
2019-02-01 18:49:12 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
shaun kime
c39e5304a8 #ROBOMERGE-AUTHOR: shaun.kime
Catching up 4.20 to Dev-Niagara as of CL 4111104
#rb none
#tests PC and PS4 auto-tests pass

Change 4075849 by Wyeth.Johnson

	Metadata on location and velocity modules, new DI

Change 4076028 by Frank.Fella

	Niagara - Fix an issue where the list of relevant scripts in the shared script view model could get out of sync when changing properties on an emitter such as interpolated spawning and gpu simulation.  This could result in an emitter recompiling forever if it started as GPU and was then switched to CPU and then a force compile was requested since it would include the GPU script when determing the compile status, but it would never compile it.

	#jira UE-59220

Change 4076925 by Frank.Fella

	Niagara - Adding and removing pins from an assignment node wasn't correctly invalidating the graph which I broke with my crash fix 4058428 since I thought the refresh call would do that.

	#jira UE-59249

Change 4076971 by Frank.Fella

	Niagara - Made few changes to stack issue handling while fixing an issue where the stack error wouldn't change when the compile error changed.
	+ Changed the unique identifier for stack issues to be automatically generated from a hash of the combined stack editor data key and the long description of the error.
	+ Changed the stack issue unique identifier from an FName to an FString to avoid poluting the name table with lots of generated hash strings.
	+ Encapsulated all of the stack issue data to validate the required inputs.

	#jira UE-59251

Change 4076974 by Frank.Fella

	Niagara - Minor change missed in last checkin.

Change 4076990 by Frank.Fella

	Niagara - Fix the assignment node so that it uses a "Begin Defaults" node instead of a regular input node when it's hooking up linked defaults.

	#jira UE-59224

Change 4077392 by jonathan.lindquist

	Changing pin order

Change 4077426 by Wyeth.Johnson

	transform position DI

Change 4077636 by Frank.Fella

	Niagara - Fix an issue where the stack function input collection wasn't generating errors correctly due to data being cached between refreshes which became stale.

	#jira UE-59269

Change 4078004 by jonathan.lindquist

	Submitting progress on a module

Change 4078009 by jonathan.lindquist

	changing a variable name in rotate around point

Change 4078043 by Frank.Fella

	Niagara - Fix the stack function input so that it cleans up properly when removing pins from assignment nodes, also fix undo for the remove operation.

	#jira UE-59271

Change 4078063 by Shaun.Kime

	Fixing debug particle data texture usage

	#tests n/a

Change 4079110 by jonathan.lindquist

	Submitting a cone mask function

Change 4079161 by jonathan.lindquist

	Adding a new cone mask module

Change 4079164 by jonathan.lindquist

	Adding a description to the cone mask function

Change 4079166 by jonathan.lindquist

	Submitting a new cone mask dynamic input

Change 4079988 by Yannick.Lange

	Set persistend guid for if node input pins on creating a new output pin.

Change 4080531 by jonathan.lindquist

	New cone based mask for curl noise contributions. Additional meta data descriptions for other inputs.

Change 4080541 by jonathan.lindquist

	Exposing the cone axis variable

Change 4080544 by jonathan.lindquist

	One more meta data tweak :D

Change 4081107 by Shaun.Kime

	Fixing underlying GPU collision system after Rendering refactored to use the FSceneTexturesUniformParameters instead of individual textures. Note that GPU collision only works with the primary back buffer. We will need more work to support split-screen or PIP.

	#tests Collsion test GPU now is functional, but we still get a few nondeterministic strays in different directions keeping me from turning it on at the moment

Change 4081111 by Shaun.Kime

	Updating the compile GUID because the previous change adjusted generated code

	#tests n/a

Change 4081231 by Shaun.Kime

	Allowing several descriptions to be multiline, accessible by Shift + Enter.

	#tests created descriptions for both module fields and modules themselves that were multi-line. confirmed UI was correct.

Change 4081552 by Jonathan.Lindquist

	Additional tooltips/documentation

Change 4081566 by Jonathan.Lindquist

	Changing split linear color's pin order

Change 4081646 by Shaun.Kime

	Added tooltips to the parameter map get and set nodes that should grealy improve understanding.

	#tests n/a

Change 4082769 by Yannick.Lange

	Pins and parameters unique name on creation

Change 4082792 by Yannick.Lange

	Fix: Adding a property pin to a Niagara Module Script map node creates a duplicate of that property in the Properties menu

	#jira UE-58823

Change 4082851 by jonathan.lindquist

	Ensuring that the latest version of this content is available for Simon

Change 4082875 by Yannick.Lange

	Parameter, source and dest pins of a parameter map node have a subcategories. Only pins with the parameter subcategory will be found by the graph.

	#jira UE-57692

Change 4083076 by Wyeth.Johnson

	Gnomon asset for example content

Change 4083783 by Frank.Fella

	Niagara - Fix issues with drag/drop
	+ Don't allow the user to drop a module if the usage flags of the target script aren't supported.
	+ Allow dragging to different scripts event if they are in different graphs, or different emitters.
	+ Transfer rapid iteration paramters correctly when moving modules between scripts.
	+ Fix undo for rapid iteration paramters when undoing a move.

	#jira UE-59340
	#jira UE-59401

Change 4083999 by Bradut.Palas

	Improved functionality of module dependencies: intercategory module dependencies now work, module order is fixed.

	#tests none
	#jira UE-58200

Change 4084002 by Shaun.Kime

	Validating modules reads and writes.
	You cannot read/write from particles namespace in system and emitter scripts
	You cannot write to user or NPC namespaces ever
	You cannot write to system/emitter namespaces in particle scripts

	#tests auto-tests pass

Change 4084419 by jonathan.lindquist

	Changing default texture assignments to work with the new project directory.

Change 4084595 by jonathan.lindquist

	Submitting a new material that will generate a 3d sphere on a sprite using world position offset and pixel depth offset.

Change 4084603 by Jonathan.Lindquist

	New thumbnail

Change 4084607 by jonathan.lindquist

	Submitting final variable settings for the skeletal mesh reproduction particle system

Change 4084649 by jonathan.lindquist

	Finalizing sampling mesh code after exploring multiple approaches.

Change 4084746 by Frank.Fella

	Niagara - When creating the render state in the niagara component, also send the dynamic data the same frame since the emitter might not actually tick the next frame.

	#jira UE-57696

	#tests engine tests.

Change 4085536 by Yannick.Lange

	Fix assert attempting to add a Niagara emitter parameter to a system before tracking an emitter.
	Also passes all graphs to the add button, to avoid any use of Graphs[0] in SNiagaraParameterMapView.

	#jira UE-58832

Change 4085757 by Yannick.Lange

	Prevent circular connections when trying to connect pins

	#jira UE-55541

Change 4086086 by Bradut.Palas

	Fixing static code analysis issues by moving the RefreshIssues call inside the FunctionCallNode nullcheck

	#tests none

Change 4086155 by jonathan.lindquist

	Updating meta data etc.

Change 4086965 by Olaf.Piesche

	Fixing uniform buffer alignment and padding to 16 bytes for all vector types; bumping vec2 and vec3 uniforms to vec4, and adding component mask to code chunk for accesses to uniform chunks according to their initial type
	OpenGL requires this since because adherence to the std140 memory layout is shaky at best when it comes to sub-16-byte vector types

Change 4086968 by Olaf.Piesche

	Making division by 0xFFFFFFFF explicitly unsigned, because OpenGL otherwise assumes it's a signed int, just dividing by -1

Change 4086975 by Frank.Fella

	Niagara - Renderer update fixes.
	+ Trigger data object changed when adding, removing, and changing the enabled state of renderers so that the simulation updates.
	+ Fix undo for changing the enabled state on renderers.

	#jira UE-57696
	#jira UE-59390

Change 4087008 by Frank.Fella

	Niagara - When refreshing the sequencer tracks in the emitter/system editor don't set sequencer the time to 0.  This fixes an issue where modifying data in the timeline and undo would reset the time to 0 when paused rather than resimulating.

	#jira UE-59463

Change 4087030 by Shaun.Kime

	Fixing when you can create certain pin types to prevent invalid types from appearing in the list.

	#tests autotests pass on PC

Change 4087271 by jonathan.lindquist

	Adding an option to clamp particles.velocity's magnitude.

Change 4087279 by Wyeth.Johnson

	Comments and dependencies

Change 4087333 by Wyeth.Johnson

	Bitmask useage flags on forces to adhere to standards, plus dependencies

Change 4087636 by Wyeth.Johnson

	Age related dependencies on update modules

Change 4087702 by Shaun.Kime

	Getting translation set up for Frank's rapid iteration parameter rework in support for default dynamic inputs

	#tests n/a

Change 4087992 by jonathan.lindquist

	Adding a limit force module

Change 4088872 by Yannick.Lange

	Fix renaming variables will not work if the user is only changing capitalization.
	#jira UE-59119

Change 4088891 by Yannick.Lange

	Fix adding a new attribute makes it hidden in the attribute spreadsheet. Now shows the added attribute when doing a new capture.
	#jira UE-57167

Change 4089072 by Yannick.Lange

	Reorder parameter list categories

Change 4089164 by jonathan.lindquist

	Adding a velocity clamp feature and an acceleration clamp

Change 4089953 by Bradut.Palas

	Disabled modules no longer display errors.
	Also, enabling/disabling modules is now registered with the Undo system
	Also fixed the GUID generation for all issues, now issues are properly differentiated from each other on refresh.

	#tests none

Change 4090194 by Shaun.Kime

	Fixing auto tests after acceleration force defaulted to world instead of local

	#tests all pass

Change 4090195 by Shaun.Kime

	Cleaning up UI for code view

	#tests n/a

Change 4090198 by jonathan.lindquist

	Setting the fallback vector to 0,0,0

Change 4090430 by jonathan.lindquist

	Removing a reciprocal operation from the node. Now we use a single divide. Also, I added another length calculation to provide the proper length of the input fallback vector. This is important for cases in which the user specifies that the fallback vector should be 0,0,0 or another unnormalized value. Previously, the fallback vector length always returned 1.

Change 4090512 by Shaun.Kime

	Fix for crash during Jonathan's deletion of the Set node in SolveForcesInVelocity.

	#tests n/a

Change 4090534 by jonathan.lindquist

	New acceleration limit

Change 4090676 by Olaf.Piesche

	GPU Spawning auto test

Change 4090770 by Shaun.Kime

	Curl noise bug test case

Change 4090796 by Olaf.Piesche

	Added missing abs for GPU sim

Change 4091368 by Bradut.Palas

	Also removing issues from disabled input collections and renderer items

	#tests none

Change 4091417 by Simon.Tovey

	Making emitter local space a constant embeded directly into emitter and particle scripts.
	Allows a lot of optimization and exposes the value to emitter scripts properly.

Change 4091727 by jonathan.lindquist

	Exposing delta time as an advanced input and organizing the graph

Change 4091788 by Bradut.Palas

	#jira UE-54678 fIxing issues with refresh of skeletal mesh details
	#tests none

Change 4092040 by Frank.Fella

	Niagara - Fix some issues with modify, transactions, and change ids which was causing assets to be dirty or modified on load, or were allowing internal operation to be undone.
	+ Move some transactions from public utility functions into private functions called by menu items in the UNiagaraNodeWithDynamicPins.
	+ Prevent a few modify calls in UNiagaraEmitter from marking the package dirty since they're sometimes called as a result of compiling and in the other cases earlier modifies would have already marked the package dirty.
	+ In the system view model, don't create transactions when adding an emitter if the system view model is in emitter asset mode since the user should be able to undo it.
	+ In the system toolkit when opening an emitter asset initialize, clean up, and propagate the rapid iteration parameters before copying the emitter to prevent the change ids from getting out of sync after the compile completes.
	+ In the system toolkit when trying to see if an emitter has changed using the change ids, use the last synced id from the copied emitter instead of the original emitter since duplicating the emitter can change the id, and there's not way to set it externally.

	#jira UE-59517
	#jira UE-59566

Change 4092700 by jonathan.lindquist

	Removed param groups. We're now using inline bools to enable or disable limits on velocity and acceleration

Change 4093032 by Shaun.Kime

	Fixing display of errors

	#tests now errors in compilation properly display

Change 4093172 by Shaun.Kime

	Curl noise cpu/gpu test map

	#tests added last known good

Change 4094156 by Damien.Pernuit

	Fixed crash in the editor when opening a Niagara Emitter/Script containing outdated script functions.
	Fixed incorrect type cast, FNiagaraFloat instead of FNiagaraInt32.

Change 4094515 by Tim.Gautier

	Enabled Niagara + Niagara Extras in QAGame

Change 4094674 by jonathan.lindquist

	submitting an example of variable defaults not working as intended

Change 4094712 by Damien.Pernuit

	Niagara - Houdini:

	Houdini Niagara Data Interface:
	- Removed the GetCSVFloatValueByString function as String aren't currently supported by Niagara.
	- Particles in the CSV file can now be updated over time (not just spawned)
	- Added GetParticlePositionAtTime, GetParticleValueAtTime, GetParticleVectorValueAtTime returning a linearly interpolated value for a given particle at a given time.
	- Added GetParticleIndexesAtTime for getting the previous/next row indexes and weight to access the values for a given particle at a given time and handle the interpolation of the values.
	- Added GetCSVVectorValue for accessing a Vector value at a given row/col.

	Houdini CSV Assets now looks for the following attributes in the CSV "Title" line:
	- pos for position.
	- id and # for particle ID.
	- alive and life for calculating a particles LifeTime.

Change 4094932 by Frank.Fella

	Niagara - Fix a few more issues where asset editors would open with their assets modified.
	+ Fix rapid iteration parameter preparation so that it doesn't modify the parameter store if it doesn't change after syncing with the graphs and propagating from dependencies.  This fixes the emitter editor allowing changes to be applied on open.
	+ Refactor the change notification for the script tool kit so that it uses the graph change and property change messages to determine if any changes have been made and can be applied.

	#jira UE-59517
	#tests auto tests

Change 4094978 by Damien.Pernuit

	Niagara - Houdini:

	Houdini Niagara Data Interface:
	- Since we can now update particles over time, renamed/modified most of the functions to make a clear distinction between row indexes (row) and particle ids (N)
	- Replaced GetNumberOfPointsInCSV by GetNumberOfRowsInCSV and GetNumberOfParticlesInCSV
	- Renamed GetParticleIndexesAtTime to GetRowIndexesForParticleAtTime and GetLastParticleIndexAtTime to GetLastRowIndexAtTime
	- Fixed some DI Functions that were using floats for input parameter instead of using integers.

Change 4095428 by Damien.Pernuit

	Niagara - Houdini:

	Houdini Niagara Data Interface:
	Fixed incorrect behavior of the GetLastRowIndexAtTime and GetParticleIndexesToSpawnAtTime functions due to supporting particle update over time.

	Houdini CSV Asset:
	Fixed missing UPropery for SpawnTimes and LifeValues array.

Change 4096355 by Damien.Pernuit

	Houdini Niagara:

	Fixed performance warning for UHoudiniCSV::GetParticleLifeAtTime()

Change 4096419 by Damien.Pernuit

	Niagara - Houdini:

	Houdini Niagara Data Interface:
	Added GetParticleLifeAtTime for accessing a given particle's life at a given time value.
	Fixed GetParticleVectorValueAtTime not bound properly.
	Fixed GetRowIndexesForParticleAtTime returning incorrect values when the time value was past the particle's last update.

Change 4096466 by Damien.Pernuit

	Niagara - Houdini:
	- Added GetNumberOfColumnsInCSV to the Houdini Data Interface
	- Added descriptions to the functions exposed by the DI

Change 4096528 by Damien.Pernuit

	Niagara - Houdini:

	Houdini CSV Asset:
	- As the DI expects the values to be sorted by time, if it's not the case, the CSV importer will sort them on import.
	- As the DI spawning functions relies on the particle IDs starting at zero and increment, the CSV importer will fix the particles IDs on import if it's not the case.

Change 4096838 by Yannick.Lange

	Fix focus search box on add parameter menu

	#jira UE-59502

Change 4097205 by Bradut.Palas

	Fixes for metadata details in script toolkit (now the apply and compile buttons refresh and sort the metadata collection). The metadata functionality is fixed. Delete, add and modify work just as before, but the sorting isn't applied because refreshing the whole collection is skipped for internal changes.
	#jira UE-58745
	#jira UE-59589

	#tests none

Change 4097593 by Shaun.Kime

	Now generating compiler debug info for VM shaders just like the rest of Materials using the r.DumpShaderDebugInfo

	#tests now properly generate data in a VM folder sibling to other generated debug shader data

Change 4097721 by Frank.Fella

	Niagara - Make the lifetime of stack entries well defined so that we can safely remove delegate bindings and clear out pointers.

Change 4097962 by Bradut.Palas

	Stack issues now update fix delegates on each refresh, even if the fix GUIDs don't change, to account for other possible changes in the graph. Had to introduce unique identifiers for fixes too, now the issue entry is using the same recycle mechanism for fixes that the base stack entry uses for issues.

	#tests none

Change 4098063 by Frank.Fella

	Niagara - Fix input initialization for drag/drop with a "Set Variables" node.

	#jira UE-57699

Change 4098192 by Damien.Pernuit

	Niagara - Houdini:

	Houdini CSV Asset:
	When importing the CSV file, the importer creates a list of the row indexes updating each particle.
	This greatly improves performance when accessing data in large files with a lot of particles updating over time.

Change 4098406 by Damien.Pernuit

	Niagara - Houdini:

	Houdini Niagara Data Interface:
	Added helper functions for accessing Color and Velocity values in the CSV file.

	Houdini CSV Asset:
	The importer now looks for the Color (Cd, color), Alpha (A, Alpha) and velocity (V) attributes.

Change 4099945 by Frank.Fella

	Niagara - Fix op description tool tip and keyword searches in the graph add menu, fix and standardize tool tip handling for script objects in menus, and add support for keyword searches for user defined scripts to match the built in ops.

	#jira UE-59402

Change 4100451 by Shaun.Kime

	Fixing wyeth's torus error, which was caused by us not properly initializing defaults. We now initialize defaults in three waves in spawn scripts. Wave 1 are any straight up constants at the top of the spawn function. Wave 2 is inlined in spawn just before the function that needs them is called. Wave 3 is at the bottom of spawn in a section called HandleMissingDefaultValues.
	Also updated the error and warning messages to be much clearer text.

	#jira UE-59723, UE-59762

	#tests auto-tests pass

Change 4100568 by Shaun.Kime

	Removing the old compile debug file generation and now unified with the existing shader compiler workflow for the future.
	If r.DumpShaderDebugInfo=1, make sure that we generate the assembly, ush, and params files in the Saved\ShaderDebugInfo\VM\<SYSTEM_NAME>\<EMITTER_NAME>\<SCRIPT_NAME_AND_USAGE_ID_IF_NONZERO>

	#jira UE-59767
	#tests auto-tests pass

Change 4100913 by jonathan.lindquist

	changing the pin order

Change 4100932 by jonathan.lindquist

	setting the input pin order on a, b and alpha

Change 4101546 by jonathan.lindquist

	Submitting a dynamic input that returns the exec index as an int

Change 4101734 by Shaun.Kime

	Fixing static analysis errors

	#tests n/a

Change 4101736 by Shaun.Kime

	Creating new last known good for GPU Functional Test auto-test
	#tests n/a

Change 4102305 by Simon.Tovey

	Fix for VM Crash

	#codereivew Frank.Fella, Shaun.Kime, Olaf.Piesche

Change 4102552 by Yannick.Lange

	Tooltip variable types

	#jira UE-59520

Change 4102599 by Yannick.Lange

	New variables in maps or parameter view will get the name Namespace.NewVariable. This is not an actual fix for UE-59633, but gives the user the incentive to rename variables.

	#codereveiw Shaun.Kime

Change 4102752 by Yannick.Lange

	Fix auto expanding all the sections for the niagara parameters list view.

	#jira UE-59121

Change 4102779 by Yannick.Lange

	Fix auto expanding all the sections for the niagara parameters list view. Fix incorrect comment changelist: 4102752

	#jira UE-59121

Change 4103419 by Shaun.Kime

	Fixing build issues

	#tests n/a

Change 4103522 by Damien.Pernuit

	Houdini - Niagara:
	Big renaming pass on the  Houdini CSV Assets  and Data Interface to follow naming conventions:
	Replaced the GetCSVXXX functions by GetXXXX (GetCSVPosition is now GetPosition)
	Always use "row" instead of "line", "Point" instead of "Particle", "PointID" instead of "N" or "ID" etc.

	Houdini Data Interface:
	- Added the GetVectorValueEx and GetPointVectorValueAtTimeEx functions that allow the user to decide how the vector conversion from houdini to unreal's coordinate system is handled.
	- Replaced the GetParticleLifeAtTime function by GetPointLife, that returns the life of a particle at spawn time.
	- Added the GetPointType function returning the type of a given point.

	Houdini CSV Asset:
	- Added the editable SourceTitleRow UProperty.
	Editing this will trigger a reimport of the source CSV file and might be used to fix/modify column titles in the file.
	- Added support for "type" attributes.
	- Removed the unused StringValues buffer and GetCSVStringValues() functions.
	- Added assetTags so the Houdini CSV asset thumbnails show more infos on the CSV data.
	- Added the "FindSourceCSV" asset action to browse to the source CSV file.

Change 4104008 by Shaun.Kime

	Missing header in Monolithic builds

	Fixed indent issues, was using spaces vs tabs

	#jira UE-59705

Change 4105249 by Simon.Tovey

	Fixes in VMM backend and propagation visitors to ensure proper optimization for VM external function calls.

	also adding a visitor to strip empty stats scopes.

Change 4105250 by Simon.Tovey

	Updated windows binaries for hlslcc

Change 4105283 by Yannick.Lange

	Fix creating an input parameter node from an input pin.

	#jira UE-57362

Change 4105509 by Yannick.Lange

	Fix being able to drop parameters in the system view on incorrect execution categories.

Change 4105726 by Wyeth.Johnson

	Fix detection of valid toolchain directories with Visual Studio 2017 desktop (change by Ben.Marsh)

Change 4105727 by Shaun.Kime

	Fixing nightly build due to missing GetAssetTags definition due to mismatches in WITH_EDITORONLY_DATA

	#tests n/a

Change 4106034 by Damien.Pernuit

	Houdini-Niagara:
	Houdini CSV Asset:
	- Fixed build break due to GetAssetRegistryTags()
	- Replaced the different hardcoded ColumnIndexes member variables by an array.

Change 4106254 by Frank.Fella

	Niagara - Fix playback issues where completed systems wouldn't simulate again until you pressed play.

	#jira UE-58616
	#jira UE-58721

Change 4106617 by Frank.Fella

	Niagara - Prevent crash on shutdown.

	#jira UE-59516

Change 4106623 by Frank.Fella

	Niagara - Fix static analysis warning for posible null dereference in UNiagaraScriptItemGroup

Change 4106983 by Shaun.Kime

	Fix to prevent PS4 compiler warning during cook on ambiguous uses of AtomicAdd.

	#tests doesn't cause cook errors now

Change 4106988 by Shaun.Kime

	Resaved test assets with latest non-zero version

	#tests cooking no longer complains about file versions

Change 4106992 by Shaun.Kime

	Now when errors appear in a cook for Niagara GPU shaders, we see them in the same location as the cook log

	#tests n/a

Change 4108852 by Simon.Tovey

	Fix for transforms in emitter scripts.
	Param->Dataset bindings weren't handling structs correctly.

Change 4109260 by Wyeth.Johnson

	Normalize Vector dynamic input

Change 4109748 by Marcus.Wassmer

	olaf.piesche: Fresh build of hlslcc for Mac

Change 4110624 by Rolando.Caloca

	-fresh build of hlslcc for Linux
	-fixed a warning in NiagaraStackModuleItem.cpp

Change 4111103 by Shaun.Kime

	Fixing nightly build issues with redundant left and right side of &&
	CI Issue:
	d:\build\++ue4+dev-niagara+compile\sync\engine\plugins\fx\niagara\source\niagaraeditor\private\viewmodels\niagarasystemviewmodel.cpp(1425): warning V501: There are identical sub-expressions 'bStartedPlaying == false' to the left and to the right of the '&&' operator.

	#tests auto-tests pass

Change 4111104 by Shaun.Kime

	Fix for CI issue:
	d:\build\++ue4+dev-niagara+compile\sync\engine\plugins\fx\niagara\source\niagaraeditor\private\viewmodels\stack\niagarastackscriptitemgroup.cpp(553): warning V595: The 'SourceModuleItem' pointer was utilized before it was verified against nullptr. Check lines: 553, 554.

	#tests auto-tests pass

#ROBOMERGE-SOURCE: CL 4113881 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)

[CL 4114750 by shaun kime in Staging-4.20 branch]
2018-06-05 20:16:37 -04:00
Shaun Kime
0ca45afbd4 Copying //UE4/Dev-Niagara to //UE4/Dev-Main (Source: //UE4/Dev-Niagara @ 4074996)
#lockdown Nick.Penwarden
#rb none
============================
  MAJOR FEATURES & CHANGES
============================

Change 3853627 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse VectorVM

	#tests non-gpu auto tests pass

Change 3853628 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Runtime

	#tests all non-gpu auto tests pass

Change 3853629 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Shaders

	#tests all non-gpu auto tests pass

Change 3853630 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Plugins\FX

	#tests all non-gpu auto tests pass

Change 3853631 by Shaun.Kime

	Jonathan's material function from Orion\DevNiagara

	#tests all non-gpu auto tests pass

Change 3853633 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse EngineTest

	#tests all non-gpu auto tests pass

Change 3853911 by Shaun.Kime

	GPU rendering now works

	#tests GPU tests now pass

Change 3854179 by Shaun.Kime

	Removing dead system

	#tests now just with a warning

Change 3854731 by Shaun.Kime

	Checkpointing current work

	#tests n/a

Change 3855080 by Shaun.Kime

	Fixing not all control paths return a value error

	#tests n/a

Change 3856185 by Bradut.Palas

	MultiStack with pinning support.
	#jira UE-53459

	#tests none

Change 3856615 by Shaun.Kime

	Preventing a null pointer dereference when copying unallocated data

	#tests auto tests pass

Change 3856622 by Shaun.Kime

	Getting rid of the bogus get alias method

	#tests auto tests pass

Change 3856644 by Shaun.Kime

	Adding the ability to query the number of filtered triangles, index those triangles directly, and compute the position, velocity, UV, and NBT of a triangle.

	#tests all auto tests now pass

Change 3856645 by Shaun.Kime

	Added several new auto tests and tweaked existing ones.
	+ PerParticleRandom still had some randomness in it
	+ UserColorCurve has a user color curve defined in 3 different components referencing the same system
	+ BasicSkinnedEmitter has 4 skinning sub-tests, attached as a subcomponent, referencing a world skeletal mesh, using a material filter, and using a bone filter

	+ added a skinning module that spawns based off exec index and a data interface that queries the number of triangles on a skeletal mesh.

	#tests auto tests pass

Change 3856675 by Shaun.Kime

	Fixing crash on delete of an emitter

	#tests removed one and multiple emitters from active multi-emitter. No crash

	#jira UE-54378

Change 3860613 by jonathan.lindquist

	New dynamic input

Change 3862549 by Shaun.Kime

	Missing last known good images

Change 3864525 by Simon.Tovey

	Fix for vm compiler crash when using structs as constants.

	#tests No longer crashes.

Change 3864729 by Frank.Fella

	Sequencer - Fixed a few places which were modifying sequencer data, but not calling the NotifySequencerDataChanged.

Change 3864737 by Frank.Fella

	Niagara - Fix the timeline in the niagara editor plus other fixes.
	+ Turned on looping in the timeline by default.
	+ Added simulation options to control playback in the editor, including turning off auto-play, disabling reset on change, and disabling resimulation when changing while paused.
	+ Added a buttons to the timeline for each renderer an emitter has which shows a renderer specific icon and will allow navigation directly to the renderer with future stack changes.
	+ Fixed issues in the emitter life cycle and spawn rate modules which were preventing delay and looping from working consistently. (includes auto-test)
	+ Added top level metadata for modules.
	+ Added the ability to add metadata to a module and it's inputs to allow it to be edited directly using timed sections in the timeline.  Currently configured for the emitter life cycle module.
	+ Changed the way the "MaxSimTime" on niagara component works so that it now represents the maximum frame time which should be used when seeking the component to the desired age.  This previously was the maximum amount of simulation time to run which would prevent simple effects from simulating quickly, and would also allow more complicated effects to hang the UI while seeking.
	+ Changed the behavior of niagara component when seeking to desired age so that it always uses the exact specified seek delta instead of trying to seek to the exact desired age.
	+ Fixed the component so that systems which are seeking to the desired age in the editor no longer draw in fast forward mode.
	+ Changed the default playback range for effects in the timeline from 1000 seconds to 10 seconds, and fixed the timeline so that the playback range is serialized into the asset which will persist the setting across loads.
	+ Fixed scrubbing in the timeline so that it doesn't immediately reset when scrubbing backwards.
	+ Added a button to the timeline track for enabling and disabling isolation mode for emitters.
	+ Added a checkbox to the timeline to enabled and disable emitters from the timeline.
	+ Fixed PinToNiagaraVariable so that it asserts if bNeedsValue is specified and it can't actually provide a value.
	+ Create a class called FNiagaraStackFunctionInputBinder which allows binding to an input of a function on a stack so that you can easily set and get the value of the input without having to worry about modifying the graph or rapid iteration parameter sets directly.

	#tests Existing auto-tests and 1 new test for life cycle changes.

Change 3867179 by Frank.Fella

	Niagara - Turn off GPU simulation for test assets for Shaun.

Change 3869201 by Simon.Tovey

	Bypassing JonLs issue

	#tests no longer crashes.

Change 3869897 by Frank.Fella

	Niagara - Fix crashes when using the skeletal mesh data interface.  NOTE: The change to the actual skeletal mesh data interface code doesn't seem needed, but without it, it crashes with the stomp allocator on.  We'll have to investigate further.

Change 3870487 by Frank.Fella

	Niagara - Always generate cached skin data immediately, and make sure we're not indexing triangles that don't exist.  This is a temporary fix to avoid a crash when changing the skeletal mesh source on an effect in the level from the details panel.

Change 3877378 by Frank.Fella

	Niagara - Update the burst and lifecycle modules with new metadata for incoming timeline changes.

Change 3877564 by Frank.Fella

	Sequencer - Fix a few more places which were modifying sequencer data without calling NotifyMovieSceneDataChanged.

Change 3877565 by Frank.Fella

	Niagara - Remove old unused burst code from some runtime classes.

Change 3877567 by Frank.Fella

	Niagara - Add support for keying bursts on the timeline which is configured using script metadata.

Change 3877699 by Frank.Fella

	Niagara - Fix a crash in the new timeline code for when you have bursts, but you have inputs on the emitter lifecycle bound, also set lower bound of view range of the timeline to be -.1 so that you can more easily interact with keys at 0.

Change 3877715 by Frank.Fella

	Sequencer - Update the change type when pasting keys from the clipboard from Unknown to TrackValueChanged to avoid unnecessary work.  From code review on last change.

Change 3879285 by Simon.Tovey

	A couple of fixes for using struct constants

	#tests Jon's case now compiles and works correctly.

Change 3879378 by Frank.Fella

	Niagara - Fix a few spots where recursive graph traversal was visiting nodes multiple times because of diamonds in the pin connections.  This reduces a terrible hang in UNiagaraScriptSource::InitializeNewRapidIterationParameters from 5 minutes to 5 seconds but there are futher issues to investigate becasue even 5 seconds it too long.

Change 3879858 by Shaun.Kime

	Moved the VM script compilation to the DDC in order to facilitate better team compilation behavior. Significant changes to the translator and overall compile workflow to make the data behave better for a future multi-threaded compilation path.
	In order to know when to compile, a key is generated that uses the compile id's of the graphs that influence the compilation of our node. In this way, if an end user goes and edits a function or module and checks in, the overall compile id will not match b/c that function is in the dependency list of a system downstream. The system will then know to recompile. However, everyone else on the team will generate the same key because the asset in question was checked in with its local compile id already changed.

	Additionally, we now employ change tracking on traversals from a node graph. These traversals walk through all the nodes leading to a given output node and see if they've been altered. If they have, a new compile id is generated. If not, the old compile id is used. This also means that if you edit a particle update section in the stack, the emitter section won't force the system to recompile.

	GPU scripts now have their own script slot rather than riding alongside particle spawn scripts. This allows us to address them independently in the translator and put them in the DDC as well. Once the text is generated, we then go back out to the DDC to generate the shader associated.

	Known issues:
	+ Emitters are sometimes marked dirty on open
	+ Nodes connected to event writes aren't part of the hashing
	+ DataInterface signature changes don't dirty the compiles
	+ Struct changes don't dirty the compiles
	+ On system loading, we go out to the DDC instead of using existing scripts, which is slower..

	#tests all auto-tests pass, additional tests run to validate proper behavior

Change 3879859 by Shaun.Kime

	Content update post DDC change

Change 3879862 by Shaun.Kime

	Niagara plugin content to ddc

Change 3879958 by Frank.Fella

	Niagara - Actually fix the bad recursion in this function by using the existing traversal method.

Change 3881727 by Damien.Pernuit

	Niagara - Houdini - Created a separate plug-in for the Houdini CSV Data Interface.

Change 3881877 by Simon.Tovey

	Fix for mac compile issue

Change 3882773 by Simon.Tovey

	Actual fix for Mike

Change 3882822 by Shaun.Kime

	Rather than throw a check, I instead emit an error when we can't match up a data interface and instantiate a CDO version. Not perfect, but this will let you recompile.

	#tests allows me to open jonathan's file

Change 3883538 by Shaun.Kime

	Moving particle-level scripts to compile with the emitter named Emitter in their internal scripts. This simplifies the dependencies quite a bit, but causes some complexity on the wiring side (most of which we were already doing anyway).
	Getting rid of some allocations in translation (still more to go).
	Fixed some of the logic for emitters that had modules of the same name to now properly concatenate.

	Compile version bumped, so all scripts will be forced to recompile. Not saving this into the test files for now, as I expect this to happen a bit for the near term.

	#tests all auto-tests pass, creating a new emitter and system on PC works

Change 3883552 by Shaun.Kime

	Fixing renaming to work properly now. It just invalidates the system script compile id's, forcing it to auto-compile.

	#tests auto-tests pass

Change 3884722 by Bradut.Palas

	Added searchbar with basic name search for Niagara stack

	#tests none
	#jira UE-53469

Change 3884793 by Shaun.Kime

	Adding pragma once

	#tests no longer complains about duplicate definition

Change 3885629 by Wyeth.Johnson

	Setting up a transient meshrotation framework pre-integration

Change 3887440 by Wyeth.Johnson

	Custom HLSL failure for Shaun

Change 3888911 by Bradut.Palas

	stack search box now has a minimum width of 300 pixels

	#tests none

Change 3890843 by Shaun.Kime

	Creating a Niagara quaternion type.

	#tests created in editor, saw default was correct, carried through to VM runtime through attribute viewer

Change 3890849 by Shaun.Kime

	Porting over 4.19 fix to Dev-Niagara

	#tests allows creation of valid scripts even when ini is cleared.

Change 3891088 by Frank.Fella

	Sequencer - When getting selected tracks for the external selection api, include tracks if any of their child nodes are selected.  This matches the behavior object guid external selection.

Change 3891114 by Bradut.Palas

	Fixing crash that sometimes happens if a stack tree changes while a stack search is active

	#tests none

Change 3891131 by Frank.Fella

	Sequencer - Move section headers for bool, int, vector, and color to the public directory so they can be used by the niagara level sequence integration.

Change 3891165 by Wyeth.Johnson

	error for shaun

Change 3891354 by Shaun.Kime

	Adding Quat struct to more locations. Now treated like hlsl float4.

	#tests EulerToQuaternion now compiles

Change 3891463 by Bradut.Palas

	Fix crash that sometimes happens when deleting module and hitting Ctrl-Z to undo (the condition for removing the listeners from the rootentry should not be tied to the validity of weak pointers for system and emitter, because sometimes they are out of sync when changing the graph)

	#tests none

Change 3891641 by Wyeth.Johnson

	resave node

Change 3893143 by Shaun.Kime

	Fixing issue where you try to bind a vertex color sampler to a mesh without it. We failthe binding rather than crash due to a check later. Also fixed up error logging to only mention the one that failed.

	#tests can open NiagaraSystem'/Game/FX/SkeletalMeshDissolve/EmittersAndSystems/FightSceneDissolve.FightSceneDissolve' with an error..

Change 3893528 by Bradut.Palas

	fix another crash when search results are invalidated during search

	#tests none

Change 3893830 by Shaun.Kime

	Fix for copy & paste of comment boxes

	#tests can now copy and paste comment boxes

Change 3894012 by Bradut.Palas

	no longer executing search tick if the rootentry is null

	#tests none

Change 3894828 by Frank.Fella

	Niagara - Runtime changes to support sequencer animation
	+ Reset the simulation when force solo is changed on the component.
	+ Invalidate the render data and clear the buffers when resetting to avoid previously rendered particles from drawing.
	+ Automatically sync the override parameters in the component when the source assets exposed parameters change and removed forced syncing from various places.
	+ Remove lots of refresh code from the niagara component details which should not be neccessary anymore.

	#TESTS Ran autotests, tested through the UI while building the sequencer tests asests.

Change 3894832 by Frank.Fella

	Niagara - Level sequence support for spawning and animating system life cycle and select user parameter types.

	#Tests Ran existing tests and added a new test to verify added functionality.

Change 3896944 by Bradut.Palas

	safeguard entries with no search items (it actually can be null)

	#tests none

Change 3896948 by Bradut.Palas

	Fix assert when dereferencing source array (no need for a raw pointer to the array since it's initialized with the content anyway)

	#tests none

Change 3896950 by Bradut.Palas

	fix compile error with previous commit

	#tests none

Change 3897698 by Frank.Fella

	Niagara - Fix some safety issues with parameter initialization on the niagara component.
	+ Kill the current system if we synchronize parameters to avoid issues with data interface lifetime.
	+ Always sync parameters when the asset is set to prevent missing data interfaces in the override list.
	+ Add an enum to control how data interface parameters are handled when calling CopyParametersTo.
	+ When the system instance is copying the asset parameters, have it copy data interfaces by reference so that it's not creating data interfaces copies which will be deleted at the next garbage collection.

	#Tests Auto-tests, also doesn't crash anymore when opeining Jonathan's disolve effect and then opening a level.

Change 3897953 by Frank.Fella

	Niagara - Remove some namespace restrictions from the code that generates the available parameters to read from in the stack UI since it was preventing the use of custom namespaces in modules and it was not clear what issue it was solving since we already prevent scripts from addressing parameters from lower level scripts.  Also move user parameters to their own menu section.

	#Tests Custom namespaces are usable again in the stack.

Change 3898926 by Bradut.Palas

	Fix for crash caused by garbage collection and async search
	#jira UE-55284 (Stack search doesn't work on collapsed entries) now searching through unfiltered children, will need extra fixes on the stack to eliminate "ghost" results"
	Both are still under code review, submitting because they are simple to rollback and harmless to other features.

	#tests none

Change 3899069 by Shaun.Kime

	Parallel compilation

	Major changes:
	Rather than a custom streaming version that we know influences a rebuild, I'm moving away to a guid that you need to regenerate if you change the compiler in any meaningful way
	needed for multiple reasons,
	1) if two people are making changes to the compiler, having something other than a guid as the value makes the content of the ddc ambiguous
	2) when iterating I often need to make multiple changes to get to a working final result, bumping the version number each time that happens gets old fast

	We fully clone the input graph to do the compile in the background. While the translation step is not a huge amount of time, it keeps the main thread responsive.

	We currently have a big critsec around the crosscompiler to bytecode as it isn't threadsafe. Future changes will push this to the ShaderCompilerWorker.

	#tests all tests pass as well as stress tests around saving while compilng, long compile times, etc.

Change 3899071 by Shaun.Kime

	Fixing the availability flags for system and emitter scripts.

	#tests all auto tests pass

Change 3899077 by Shaun.Kime

	Fixing assets to have their wait on compile finished checkbox checked in the editor for testing

	#tests n/a

Change 3899114 by Wyeth.Johnson

	Random bool custom hlsl node

Change 3899184 by Bradut.Palas

	implemented categories for module inputs (now inputs can be assigned a category in the module editor and they will be grouped by those categories in the Niagara stack)

	#tests none

Change 3899329 by Bradut.Palas

	fix broken commit by adding missing new files NiagaraStackInputCategory.cpp and .h

	#tests none

Change 3899439 by Yannick.Lange

	Niagara reroute node.

Change 3899516 by Shaun.Kime

	Official angle conversion modules.

	#tests made a local test emitter that converted back and forth between angles. Results were correct.

Change 3900193 by Shaun.Kime

	Fixing build

	#tests now compiles

Change 3900474 by Shaun.Kime

	Fixes to help Mac compile

	#tests n/a

Change 3901131 by Simon.Tovey

	Warmup feature.

	CPU Sim only.

	Also has ability to advance simulation by tick count or seconds via BP/C++.

	Includes some engine tests.

	#tests editor + autotests

Change 3901455 by Frank.Fella

	Niagara - Add WITH_EDITORONLY_DATA to prevent non-editor compile failures.

Change 3902477 by Frank.Fella

	Niagara - Fix FNiagaraEditorTypeUtilities to be a thread safe TSharedFromThis since it's always created with a thread safe shared pointer, also fix up issues related to this change.  Fixes a crash which occurrs when it's the target object of a delegate binding.

	#Tests adding a curve data interface to a parameter collection no longer crashes.
	#jira UE-55403

Change 3903478 by Shaun.Kime

	No longer doing the check if compiling on load is enabled as this always forces different change ids'

	#tests n/a

Change 3903783 by Shaun.Kime

	Trimming down excess log spew

	#tests auto-tests pass

Change 3905753 by Shaun.Kime

	Made Sine(Degrees), Sine(Radians), and Sine, and the variants thereof for trig functions.

	#tests n/a

Change 3905759 by Shaun.Kime

	Auto tests for mesh orientation

	#tests these now pass

Change 3905762 by Shaun.Kime

	These files needed to be resaved for some reason to keep passing.

Change 3906727 by Bradut.Palas

	Curve UX improvements
	#jira UE-55134

	#tests none

Change 3908177 by Shaun.Kime

	Fixing build due to typo

	#tests now compiles

Change 3908199 by Shaun.Kime

	Trying to fix compilation when destroying objects. We cannot safely attach anything beneath us at this point ,we just need to clear out the queues.

	#tests normal work day-to-day

Change 3908201 by Shaun.Kime

	Working to fix crashes where the component was destroyed out from underneath us due to PIE shutting down and we have a Niagara item editable in Blueprint or world editor.

	#tests n/a

Change 3908985 by Bradut.Palas

	Renaming ColorCurveAsset to CurveAsset to better reflect the actual usage of the variable (fixing copy-paste issue)

	#tests none

Change 3909222 by Yannick.Lange

	Niagara graph connection colors

Change 3909436 by Bradut.Palas

	fix crash in curve ux when importing a linear curve (curve of floats)

	#tests none

Change 3909561 by Bradut.Palas

	Updating LUT before sending NotifyPostChange when editing curves inline (so that LUT will not go out of sync)

	#tests none

Change 3910010 by Yannick.Lange

	Use new Niagara Actor icon

Change 3910191 by Yannick.Lange

	Fix viewport widget showing up in the viewport when pressing W, E or R.
	#jira UE-55142

Change 3910213 by Frank.Fella

	PropertyEditor - PropertyRowGenerator - Added features and fixes to support integration into niagara's stack view.
	+ Added a method to get filter/search strings for an IDetailTreeNode to support external searching and filtering.
	+ Added a delegate to the layout builder for when one of it's owned nodes has it's visibility forcibly changed by a customization.
	+ Changed the filtering so nodes are generated for properties marked as advanced.
	+ Pass the notify hook down to the detail utilities so that change notifications work as expected.
	+ Add layout data for the widgets returned from the IDetailTreeNode to prevent alignment and sizing issues in custom implementations.

Change 3910307 by Frank.Fella

	PropertyEditor - Missed in last checkin.

Change 3910509 by Frank.Fella

	Niagara - Removed nested details panels from the stack and integrate them properly plus other fixes.
	+ Generate rows for nested objects using the details panel property row generator.
	+ Fix the horizontal sizing for niagara parameter editors.
	+ Add an IsValid() method to the base niagara stack entry so that derived classes can know if the associated view models are still valid when processing events.  This is a temporary measure to fix a crash in the user parameter UI.
	+ Set stack entries to be expandable by default and delete usages which were setting it to true.
	+ Highlight the active search result with a border since property rows can't highlight text.

Change 3911653 by Frank.Fella

	Niagara - Fix stack spacer sizing.

Change 3911667 by Frank.Fella

	PropertyEditor - Actually fix the notify hook handling in the property row generator.

Change 3911896 by Yannick.Lange

	Niagara function input context menu.

Change 3911900 by Yannick.Lange

	Project setting for not showing comment bubbles.

Change 3911996 by Yannick.Lange

	Niagara fix if node persistent guids for older nodes. The OutputVarGuids are always synced on PostLoad.

Change 3912221 by Wyeth.Johnson

	Renderer Icons for timeline

Change 3912608 by Bradut.Palas

	stack style refactor
	#jira UE-55399

	#tests none

Change 3913063 by Wyeth.Johnson

	Icons for stack added, including new system param png

Change 3913618 by Shaun.Kime

	Fixing two of the most common Illegal call to StaticFindObject() errors while compiling.

	#tests ran through compilation after changes.

Change 3914369 by Bradut.Palas

	Using new SystemParams.png icon provided by Wyett (instead of the old "Parameters.png")

	#tests none

Change 3914782 by Wyeth.Johnson

	Adjusting icon for update to not indicate "flow"

Change 3915738 by Shaun.Kime

	Moving away from the generic and super-slow EdGraphSchema ShouldAlwaysPurgeOnModification being true to using the same mechanism we use to invalidate the compile to synchronize nodes. This should be substantially faster.

	#jira UE-55463

	#tests ran through a variety of tests creating and wiring nodes

Change 3915739 by Shaun.Kime

	Assignment nodes need to invalidate the graph for compile.

Change 3915741 by Shaun.Kime

	Making default values more accessible and making it possible to route renderers to use different values than the defaults.

	#tests n/a

Change 3915798 by Frank.Fella

	SearchBox - Add options to show the number of search results and an option to show a throbber when a search is active.

Change 3915966 by Shaun.Kime

	Changing the default for velocity to 0,0,0 as requested  by Wyeth

	#tests n/a

Change 3915982 by Shaun.Kime

	Making the default text more readable

	#tests n/a

Change 3916237 by Frank.Fella

	PropertyEditor - Change the DetailCategoryBuilderImpl so that it sets the horizontal alignment to fill for value widgets when generating stand alone widgets so that the behavior in the property row generator matches the behavior of the property grid.

Change 3916240 by Frank.Fella

	Niagara - Should prevent some recent crashes due to stack entry delegates and lifetime.

Change 3916261 by Frank.Fella

	Niagara - Lots of minor stack ui fixes and adjustments
	+ Tweaked padding in a bunch of different places.
	+ Added a dark background behind the stack and stack header to prevent the colors from bleeding together.
	+ Fixed the group text not being white anymore.
	+ Hooked up new features of the search box for showing the search result data and an is searching throbber.
	+ Fixed an issue where the current search result couldn't be interacted with.
	+ Fix some other inconsistencies with searching where you might jump more than one result.
	+ Replace the checkbox for showing curve in the curves tab with an icon based button. (icon is placeholder)

Change 3916833 by Shaun.Kime

	Fixing issue where the system wasn't set to wait for compilation on load, sometimes leading to failures for auto-tests

	#tests this test now passes when forced to recompile

Change 3916846 by Shaun.Kime

	Missed one system in the scene.

	#tests n/a

Change 3917458 by Shaun.Kime

	Fixing another potential race condition on the DDC.

	#tests n/a

Change 3918349 by Frank.Fella

	Niagara - Invalidate the node visuals when reallocating pins.

	#Jira UE-55698

Change 3918783 by Olaf.Piesche

	Correct 'temp' to 'Temp' in map set

Change 3919262 by Shaun.Kime

	We weren't properly updating the default values for user data interface components when tweaked in the editor.

	#tests open skinned mesh auto test system change the preview for the user skinned mesh to be SK_Mannequin_Niagara. It now updates, it didn't before.

Change 3919602 by Shaun.Kime

	Fixing the skeletal mesh to now clamp to the end of the index buffer for safety as well as adding IsValidTriCood. This lets us keep going even when swapping out the skeletal mesh underneath.
	Tested out isvalidtricoord in the test skinning module.

	#tests auto tests pass
	#codereivew simon.tovey

Change 3921701 by Yannick.Lange

	Make Vector2 and Vector4 default blue color to be consistent with blueprints.

Change 3922331 by Damien.Pernuit

	Niagara - Houdini - Added support of CSV File as UAsset (HoudiniCSV)
	Modified the Data Interface to use the CSV asset instead of the imported buffers from the CSV File Path.
	Added some new functions to the DI:
	GetLastParticleIndexAtTime()
	GetCSVPositionAndTime()
	GetCSVVectorValue()
	GetCSVFloatValueByString()

Change 3923118 by Simon.Tovey

	PS4 compile fix.

Change 3924934 by Bradut.Palas

	fix Mac compile issues
	#jira UE-55426

	#tests none

Change 3925168 by Bradut.Palas

	Curve logspamming
	#jira UE-55593

	#tests none
	The UpdateCompiledDataInterfaces would end up comparing LUTs when copying curves and the source LUT was out of date.

Change 3925366 by Frank.Fella

	Slate - SMenuAnchor - Fix the implementation of "BelowRightAnchor" to align the right edge of the menu with the right edge of the anchor.  There aren't any other usages of this in the engine as far as I can tell, hopefully people weren't relying on the broken behavior in a game somwhere.

Change 3925423 by Frank.Fella

	Niagara - Remove the large add buttons from the stack and add smaller add buttons in the group headers.

Change 3925877 by Olaf.Piesche

	New collision modules, separating query, linear and angular impulse; Solve forces and velocity takes care of integrating f->v->p and fA->vA->O; linear impulse module would probably be cleaner by zeroing velocity on collision and calculating a force instead of setting new velocity directly

Change 3926582 by Simon.Tovey

	PS4 compile fix

Change 3927401 by Shaun.Kime

	Fixing events due to added member

	#tests all tests pass as of 3925423 with this change

Change 3927496 by Shaun.Kime

	Getting auto-tests to run
	Questions: Why did I have to recompile the GPU tests... something is missing in their key generation?
	Resaved several files.

	#tests almost all pass now

Change 3927582 by Shaun.Kime

	Fixing last failing auto test

	#tests all tests now pass

Change 3927924 by Simon.Tovey

	Chunk level vm parallelism.
	Any execution processing > batch_size chunks will go wide.

	The batch size is 4 currently but adjsutable via vm.ParallelChunksPerBatch.
	VM parallelism can be disabled by vm.Parallel 0

Change 3927990 by Shaun.Kime

	Submitting redirector

Change 3928426 by Frank.Fella

	Niagara - Always propagate rapid iterations parameters when merging an emitter.

Change 3929823 by Frank.Fella

	Niagara - Fix hlsl generation for system/emitter spawn script so that we read the engine and user parameters from the data set instead of initializing them to 0.

	#Tests Full recompile + auto-tests

Change 3929983 by Simon.Tovey

	Curve LUT Interpolation

	+ updated test altered by it.

Change 3930551 by Frank.Fella

	Niagara - Fix what looks like a copy/paste error in the SNiagaraSelectedEmitterGraph destructor which was preventing clean removal of delegates and causing a crash.

	#Tests closing the "Selected Emitter Graph" tab and then changing the selected emitter no longer crashes.

Change 3932695 by Damien.Pernuit

	Niagara - Houdini:

	Houdini CSV Asset:
	- Packed vector values in the CSV file are now properly supported (not just for Position/Normal) and can be of any size.
	- Added support for reimporting Houdini CSV files.
	- Added an "open in text editor" entry in the context menu.
	- Improved error/warning logging during the parsing of the file

	Houdini Niagara Data Interface:
	- Added GetParticleIndexesToSpawnAtTime():
	New helper functions returning the min index, max index and number of particles to be spawned for a given time value.
	Uses an internal LastSpawnIndex to avoid spawning the same particles twice.
	- Modified GetLastParticleIndexAtTime():
	If the CSV file doesn't have time informations, returns false and set the LastIndex to the last particle
	If desiredTime is smaller than the first particle, LastIndex will be set to -1
	If desiredTime is higher than the last particle in the csv file, LastIndex will be set to the last particle's index

Change 3933425 by Shaun.Kime

	Made the spreadsheet debugger capable of capturing in-world systems as long as they are solo'ed.

	#tests have been running with it for several days, debugging real-world assets stably

Change 3933986 by Frank.Fella

	Niagara - Fixed a bug with merging where added dynamic inputs which changed names could end up with the wrong rapid iteration parameters.  Also fixed an issue where added dynamnic inputs would be renamed when they didn't need to be.

	#Tests Engine tests and fixes custom repro.

Change 3934052 by Frank.Fella

	Niagara - Added a console command to dump rapid iteration parameters for a system or emitter asset.

Change 3934436 by Simon.Tovey

	Fixes for sprite VF depth test failure issue

Change 3934658 by Frank.Fella

	Niagara - Make disabled modules visually distinct.

	#Tests General stack use.

Change 3935383 by Shaun.Kime

	Fixing mac compile errors

	#tests n/a
	#jira UE-55911

Change 3935420 by Yannick.Lange

	Niagara parameter UI first version.

Change 3935482 by Yannick.Lange

	Add missing files for parameters

Change 3935591 by Shaun.Kime

	more macos compile

	#tests na

Change 3935637 by Shaun.Kime

	Reverting to prior behavior

	#tests na

Change 3936541 by Yannick.Lange

	Remove the merge up menu entry for set variables module items.

Change 3936841 by Wyeth.Johnson

	Bool comparison dynamic input

Change 3936895 by Simon.Tovey

	A few perf improvements and fixes to the SetSolo transfering between solo and batched so all lightning sims can run batched after they're warmded up.

Change 3936899 by Simon.Tovey

	Missed a file

Change 3937178 by Krzysztof.Narkowicz

	Fixed bHasSkipOutputVelocityParameter for shaders without PreviousLocalToWorldMatrix (e.g. particles)

	#jira UE-50914

Change 3937222 by Yannick.Lange

	Random event spawn

Change 3937292 by Yannick.Lange

	Fix Adding a new parameter then renaming it the default name deletes the new parameter
	#jira UE-55994

Change 3938472 by Yannick.Lange

	Fix new parameters in emitters saving by using the editable emitter.

Change 3938474 by Yannick.Lange

	- Store graphs as weak object pointers in the parameter UI.
	- Allow right mouse menu on parameters in the system toolkit.
	- Refresh only the parameter actions when deleting an entry instead of refreshing the graphs aswell.

Change 3938525 by Yannick.Lange

	Fix creating an unique FName every tick for parameterstores by using a FString instead.

Change 3938596 by Shaun.Kime

	Macos compile

	#tests n/a

Change 3939362 by jonathan.lindquist

	Adding a new Component Spacing input to the debug value functions. This will allow users to make better use of space when debugging values.

Change 3939365 by Shaun.Kime

	Back out changelist 3936895 and 3936899
	Leaving in some changes around stats as they should be harmless.
	These changes were removed b/c they added poor perf to Jonathan's dissolve effect and also caused multiple tests to fail in engine tests.

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939367 by jonathan.lindquist

	Adding greyscale output

Change 3939368 by jonathan.lindquist

	Changing the pin order

Change 3939377 by Shaun.Kime

	Allows the unnormalized lut table flag to be copied over

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939379 by Yannick.Lange

	Rename FParameterStore Name to DebugName to prevent loading a FName into a FString with existing assets.

Change 3939382 by Shaun.Kime

	Adding the ability to have a default curve index with a custom switch node.

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939383 by Shaun.Kime

	Converting existing curves over to using the new default pin

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939501 by Shaun.Kime

	Submitting missing files

	#tests n/a

Change 3939580 by Wyeth.Johnson

	Default curve indexing to three more DIs

Change 3940122 by Yannick.Lange

	Parameters view: - Jump to new parameter added and request rename for new parameter.
	- Remove adding parameters to the parameterstore when a pin is requested.
	- Only show make new parameters in the dropdown to add a new parameter.
	- Use Sections of UI as types instead of int32.

Change 3940214 by Bradut.Palas

	fix crash when rename skeletal mesh user variable
	#jira UE-55236

	#tests none

Change 3940215 by Bradut.Palas

	undo not working in graph editor
	#jira UE-55466

	#tests none
	Overriding the BreakPinLinks methods to include a transaction

Change 3940250 by Bradut.Palas

	Creating stats tab in module toolkit to show LastOpCount

	#tests none

Change 3940251 by Bradut.Palas

	#jira UE-55684 create inline menus for stack

	#tests none

Change 3940262 by Simon.Tovey

	Back out changelist 3939365 with fixes
	Tests all now pass

Change 3940333 by Shaun.Kime

	Nullptr check

	#tests n/a

Change 3940338 by Krzysztof.Narkowicz

	Niagara sprite particles - implemented get previous position in order to fix sprite particle motion vectors

	#jira UE-52865

Change 3940407 by Yannick.Lange

	Create pin on map get and set node when dragging without recompiling the graph.

Change 3940534 by Shaun.Kime

	Making sure that collision returns defaults of 0 if nothing was found.

	#tests auto-tests that have been passing still pass

Change 3940709 by Simon.Tovey

	Temp hacks for the skeletal mesh painting issues.

Change 3940960 by Yannick.Lange

	Only build parameter menu once when graphchanged is called multiple times in a frame.
	Also use the existing metadata from graph to build the parameter menu, because the metadata already looped through all nodes and pins.

Change 3941019 by Yannick.Lange

	Meta data UI refresh next tick to avoid refreshing multiple times a tick.

Change 3941853 by Simon.Tovey

	Adding more dynamic parameters

Change 3941957 by Frank.Fella

	Property Editor - Fix issues with property row generator to support the niagara stack.
	+ Make the detail tree node name accessible through the interface, and fix the implementations for category group and property item.
	+ Add a temporary fix for passing instance customizations from the property row generator to the detail property row through the detail layout builder.  This should be unified in a nicer way, but this will work for the time being.

Change 3942174 by Frank.Fella

	Niagara - Stack UI Pass
	+ Advanced rows are not handled properly per item.
	+ Expanded and scroll state is now saved in editor data per asset.
	+ Added a "View Options" drop down for showing all advanced rows, and for showing/hiding outputs.
	+ Added an option to collapse all stack items from the emitter header context menu.
	+ Added support for "Edit Conditions" on module and dymaic inputs which will enable and disabled an input based on the value of another input.  This includes showing a checlbox inline for the edit condition toggle input.
	+ Added support for "Visible Conditions" on module and dynamic inputs which will hide and show inputs based on the value of another input.
	+ Removed the pencil icon for locally editable values in the stack.
	+ Fixed issues with invisible search results.  It's still possible for a search result to not highlight the text correctly, but the outline never disappears.
	+ Removed pinning for module inputs.
	+ Fixed the event handler properties so that they use the property row generator instead of an embedded details panel.
	+ Unified indent handling across all stack classes.
	+ Unified stack editor data across all stack classes.

Change 3942427 by Simon.Tovey

	Another hack for vertex painting tool

Change 3942453 by Simon.Tovey

	Some more hacks for skel mesh vertex painting until Jurre's rework is ready.

Change 3942799 by Yannick.Lange

	Rebuild metadata, input and output parameters UI next frame instead of on every graph changed call.

Change 3942833 by Frank.Fella

	Niagara - Fix the visibility of the advanced expander item.

Change 3942923 by Yannick.Lange

	Revert using metadata for parameters to looping through pins to find parameters in maps not connected to anything.
	Temporary fix to remove used parameters if they are found in the graph.

Change 3943094 by Wyeth.Johnson

	Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Location/SphereLocation.uasset to revision 5

Change 3943154 by Wyeth.Johnson

	Metadata to sphere location module

Change 3943256 by Wyeth.Johnson

	Testing out sweet new metadata control

Change 3943374 by Olaf.Piesche

	Fixing mesh motion blur

Change 3943382 by Olaf.Piesche

	Turning on base pass velocities until I can fix separate vel pass for particles

Change 3943471 by Yannick.Lange

	Emitter view stats only show particles count. Use Niagara.EmitterStatsFormat 0 and 1 to switch between all data and only particle count. Default is 1 to only show particle count.

Change 3943497 by Yannick.Lange

	Paramater map remove FTickableEditorObject and use SWidget::Tick

Change 3943589 by Olaf.Piesche

	-Fix for linear impulse (offset by 1/2*velocity*dt instead to avoid distracting bounciness)
	-Collision Rest; add after impulse modules to make particles rest if in collision under threshold velocity magnitude

Change 3943644 by Olaf.Piesche

	Turn shader development mode back off

Change 3943718 by Olaf.Piesche

	Fix vertex factories

Change 3943776 by Olaf.Piesche

	Properly calculate old particle position using dt for velocity rendering

Change 3943780 by Frank.Fella

	Niagara - Fix ensure when removing dynamic inputs due to incorrect logic which would have left unused nodes in the graph.

Change 3943870 by Yannick.Lange

	Parameter drag drop window

Change 3943994 by Frank.Fella

	Niagara - Fix some editor settings not saving across sessions.

Change 3944056 by Shaun.Kime

	Updating to replace values reset when Wyeth resaved files.

	#tests DrawOrderGPU, DrawOrder, and TestDifferentInactiveEmitters now pass

Change 3944068 by Simon.Tovey

	Back out of my changes to vertex painting and replaced with Jurre's fixes.

Change 3944174 by Frank.Fella

	Niagara - Fix stack categories so that they don't freak out when the stack is refreshed, and also remove the uncategorized heading and move uncategorized inputs to the top.

Change 3944313 by Shaun.Kime

	Updated screenshots after motion blur

Change 3944321 by Shaun.Kime

	Fixing error message to be clearer about a disconnected Get node.

	#tests n/a

Change 3944351 by Shaun.Kime

	Making safe against weak pointers going away.
	Track error encountered by Jonathan.

	#tests n/a

Change 3944368 by Yannick.Lange

	Remove automatic adding prefix "particles."  when renaming functioninput.

Change 3944383 by Shaun.Kime

	Just adding some more nullptr check

	#tests n/a

Change 3944384 by Shaun.Kime

	Providing more context for a check that existed previosuly  and was encountered by Wyeth today

	#tests n/a

Change 3944872 by Yannick.Lange

	Remove old material parameter node.

Change 3945209 by Shaun.Kime

	Fixing possible infinite recurson on child array size of zero

	#tests n/a

Change 3945865 by Yannick.Lange

	Spreadsheet filter for output attributes

Change 3946091 by Simon.Tovey

	Per particle sorting for translucent sprites and meshes

Change 3946095 by Simon.Tovey

	Updated screens for dynamic param tests

Change 3946378 by Olaf.Piesche

	Another sprite motion blur fix

Change 3946864 by Shaun.Kime

	SkinnedMesh per-instance data requires 16 byte alignment due to usage of FMatrix. We were not guaranteeing that in our per-instance data system. We are now enforcing that to be true by aligning all memory size requests.

	#tests autotests pass

Change 3946928 by Wyeth.Johnson

	Skeletal mesh location metadata. THIS VERSION ALSO CRASHES ON SAVE FYI

Change 3946934 by Frank.Fella

	Niagara - Clean up rapid iteration parameters on compile.

	#Tests - Fixes the jira below, all auto tests which were currently passing still pass, and GDC effects load and look correct.

	#jira UE-55932

Change 3946936 by Frank.Fella

	Niagara - Fix crash when undoing adding a dynami input.

Change 3947213 by Simon.Tovey

	Fix for thread safety in collision data interface.
	Previously I'd made them thread safe between VM chunks but they already weren't safe between system instances.

Change 3947279 by Simon.Tovey

	Fixed thread safety issue with niagara global dynamic buffer

Change 3947788 by Simon.Tovey

	Fix enum property warnings

Change 3947849 by Olaf.Piesche

	Normalize orientation quats. Safety first.

Change 3947877 by Frank.Fella

	Niagara - Fix a crash when editing meta-data for a module currently open in a system or emitter editor stack.  This updates the FNiagaraStackFunctionInputBinder to track the lifetime of the default pin correctly.

Change 3948445 by jonathan.lindquist

	Inverting alpha output

Change 3948615 by Olaf.Piesche

	Don't access data layouts that are invalid because their bindings don't exist

Change 3949361 by Yannick.Lange

	Command to expand all groups and collapse all items of those groups in the stack.

Change 3949365 by Yannick.Lange

	Missing file for change 3949361

Change 3951123 by Simon.Tovey

	Fix bug with dynamic parameters in Niagara mesh particle VFs

Change 3951199 by Simon.Tovey

	Fix for issues caused by unsafe reads of GT data from RT

Change 3951293 by Olaf.Piesche

	Workaround for jittering particles with collision at rest state; will need to revisit after GDC

Change 3951533 by Yannick.Lange

	Collapse parameter menu by default

Change 3952106 by Frank.Fella

	Niagara - Fix data interface input initialization when inserting modules and dynamic inputs.  We now put all inputs into categories in the stack and this code didn't handle that.

Change 3954809 by Frank.Fella

	HoudiniNiagara - Add include to fix CIS incremental build.

Change 3954857 by Frank.Fella

	Niagara - Accept newer versions of 3 automated tests images as they are stable and still look correct for what they are testing.

Change 3954935 by Frank.Fella

	Niagara - Fix a crash in the skeletal mesh sampling info details customization when a mesh has no skeleton.

Change 3954969 by Simon.Tovey

	Compile fix for gpu emitters

Change 3955012 by Frank.Fella

	Niagara - Fix clang and deprecation warnings.

Change 3955988 by Olaf.Piesche

	Fixing collision queries (separating line query trace direction and velocity, so we can look a frame ahead properly); various fixes to the impulse modules; rest module now allows for color change when particles are set to rest. This checkin should stabilize collision dynamics substantially.

Change 3956730 by Yannick.Lange

	Cleanup parameter

Change 3957065 by Bradut.Palas

	enable/disable mechanism for renderers

	#tests none

Change 3957802 by Olaf.Piesche

	-Removing Velocity parameter from collision query DI, since velocity at query time is known and can just be passed along in temporary parameter; this stops the compiler from falling over in unity builds and also makes the Perform Query function more sane as an actual line check
	-Put some safeguarding against non-collisions (v.n>0) reported as intersections into the collision query module to avoid instances of particles being pushed through geometry
	-Updated modules to use the new function signature

	#tests modular explosion test map, EngineTests

Change 3957804 by Olaf.Piesche

	Updated tests for 3957802

Change 3957859 by Frank.Fella

	Niagara - Add missing #if to fix some of the nightly build errors.

Change 3958065 by Olaf.Piesche

	Fix GPU sim hlsl for the collision data interface; should make GPU collision bounce test run again

Change 3958302 by Olaf.Piesche

	modified test for sane depth bounds; accepting new results; some changes to hlsl for collision data interface

Change 3959007 by Simon.Tovey

	Further defining the barrier between GT and RT data.

	Not finished yet, especially for GPU sims but we're heading in the right direction.

Change 3960004 by Bradut.Palas

	QOL change, now committing search text in the stack (pressing enter) will jump to the next occurrence.

	#tests none

Change 3960019 by Frank.Fella

	Niagara - Preemptively fix up stack related header includes to avoid manual merges.

Change 3964217 by Bradut.Palas

	Fixing compile issue after renderer enable feature(the Isolate features require the WITH_EDITORONLY_DATA preprocessor directive to be enabled)

	#tests none

Change 3964581 by Frank.Fella

	Niagara - Get things compiling again after merge.  Mostly include fixes and commeting out lots of sequencer related stuff that needs to be fixed.

Change 3965057 by Frank.Fella

	Niagara - Fix compile issues in the houdini plugin.  Also add the houdini pluging to EngineTest so that it compiles by default when running tests.

Change 3965075 by Frank.Fella

	Niagara - Fix another include issue that was caught on the build machine.

Change 3965308 by Frank.Fella

	Niagara - One more header fix.  Should fix the win64 build in CIS.

Change 3965313 by Frank.Fella

	Niagara - Fix in editor playback.  The timeline data is still broken.

Change 3965482 by Yannick.Lange

	Stack source taken apart into different files.

Change 3965863 by Shaun.Kime

	Fixes scope level variable definition causing my local build to fail

	#tests n/a

Change 3965866 by Shaun.Kime

	Crash fix when the module is missing. Now show an error message as well as checking for script validity before calling method on it

	#tests n/a

Change 3968174 by Frank.Fella

	Niagara - Fix more merge fallout.  The emitter/system editor timeline now matches the stack data again.

Change 3968183 by Frank.Fella

	Niagara - Delete commented out include from merge.

Change 3972162 by Frank.Fella

	Niagara - Updated level sequence testing assets.

Change 3972880 by Shaun.Kime

	Merging using DevNiagaraToGDC2018
	Allowing disabled modules to still influence parameter maps.

	#tests n/a

Change 3973269 by Shaun.Kime

	Disabling warning about divide by zero as it is often incorrect

	#tests n/a

Change 3973273 by Shaun.Kime

	Forcing all three planes to be GPU

	#tests n/a

Change 3973307 by Shaun.Kime

	Fixing CIS win32 errors

	#tests n/a

Change 3973374 by Shaun.Kime

	Fixing minor static analysis warnings

	#tests n/a

Change 3976107 by Shaun.Kime

	Updating multiple files as they have the unversioned file warning

	#tests auto tests now show green

Change 3976114 by Shaun.Kime

	Taking snapshots after the integration for time control to clear automated tests. Frank was uncertain about the current behavior being correct, but didn't want to hold up integration for that.

	#jira UE-57117

Change 3976119 by Shaun.Kime

	Makiing GPU shaders contain the dependencies and the compile id's and other items so that they update properly.

	#tests auto-tests now pass

Change 3976449 by Shaun.Kime

	Adding additional debugging to logs

	#tests n/a

Change 3977172 by Frank.Fella

	Niagara - Fix issues with the level sequence integration for niagara caused by the integration from main, and accept the new test image.  This code should be updated at some point to use the new channel blending in sequencer.

	NOTE: There is still a timing issue that is evident in the automated test screen shot due to float timing and rounding issues in niagara, but the sequencer code is functioning correctly.

Change 3977362 by Bradut.Palas

	UE-55601 curve snapping not working in Niagara curve editor

	#tests none

Change 3977363 by Bradut.Palas

	exposed added external asset for function input so it would appear in context menu in the Niagara stack.

	#tests none

Change 3977368 by Bradut.Palas

	#jira UE-51052 If you undo an emitter rename we get invalid values
	The CachedUsageInfo got emptied but it didn't get restored by the undo, sending the system in an endless Compile() loop
	Added a Modify() call in the UNiagaraScriptSource::InvalidateCachedCompileIds()

	#tests none

Change 3978716 by Shaun.Kime

	Fixing half of CIS static analysis warnings and localization symbol dupe warnings from Jamie Dale

	#tests auto tests pass other than known level sequence test

Change 3978857 by Shaun.Kime

	The map SpawnTest niagara actor didn't have its wait for compilation flag set, potentially leading to artifacts. Disabling for now as that didn't resolve the issue.

Change 3979594 by Shaun.Kime

	Potential fix for cook on Orion

	#tests n/a

Change 3979713 by Shaun.Kime

	Fixing several more CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale

	#tests n/a

Change 3980017 by Shaun.Kime

	Fixing CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale

	#tests n/a

Change 3981859 by Shaun.Kime

	Fixing crash in Paragon when the normals buffer was not present during startup with just UI screens.

	#jira UE-57188

	#tests got through to paragon main screen, related auto-tests pass

Change 3982685 by Shaun.Kime

	For some reason, when Lightmass is spinning off workers, the render thread is null, causing us to trigger checks that we shouldn't trigger when killing of system instances.
	#jira UE-57214

	#tests all auto-tests pass

Change 3983902 by Simon.Tovey

	Speculative fixes for mac errors regarding niagara vertex decls.

Change 3984023 by Andrew.Rodham

	Sequencer: No longer upgrade bIsInfinite for section types that do not support open ranges

Change 3986727 by Wyeth.Johnson

	Fixed add velocity from point to work in more situations, not cause errors regardless of stack location, made it more programmable with inputs, and added metadata

Change 3988114 by Wyeth.Johnson

	fixed color and inherit parent vel

Change 3989175 by Simon.Tovey

	Improved VM error reporting.

	#tests engine tests

Change 3995007 by Yannick.Lange

	Parameter menu in system layout

Change 3995192 by Yannick.Lange

	Fix niagara script details panel search

Change 3995291 by Yannick.Lange

	Parameter menu tooltip fix

Change 3997804 by shaun.kime

	Lookup table is off for this. Keys are 0,0 and 1,1, so you'd expect normalized age as a sampler to just return the same value from lookup. If LUT is disabled, this is true. If LUT is enabled, it isn't, especially the farther one gets from 0.

Change 3998124 by Simon.Tovey

	Fixed Curve LUT generation

	#tests editor
	#jira UE-57604

Change 3998286 by Wyeth.Johnson

	Fixed normalized execution index to, you know, work.

Change 4000324 by Shaun.Kime

	Replacing a thread-safety issue where we get an enum on an as-needed basis. This was causing crashes in cooking as you cannot find from the global table while serializing.

	#tests have not gotten the crash since

Change 4000428 by Bradut.Palas

	UE-55750 focus curve editor when "show" button is pressed
	UE-55791 user variable curves cannot be shown in the Curve tab
	These issues were related and touched the same area of code, so I fixed them together. UE-55791 is basically just getting curve data from the system exposed variables too.

	#tests none

Change 4001094 by Frank.Fella

	Niagara - Fix slowdown in the metadata editor due to delegate rebinding.

Change 4001098 by Frank.Fella

	Niagara - Remove the tool tip from the additional options drop-down for modules since it covers the drop down menu.

Change 4001133 by Bradut.Palas

	Fix curve editor getting focused each time a curve was changed.
	#jira UE-57708

	#tests none

Change 4001253 by Frank.Fella

	PropertyEditor - Fix issues with external root handling.
	+ Fix external nodes not being cleaned up correctly when custom node builders rebuild children.
	+ Fix expanded state being trampled when processing external nodes due to the expanded nodes list being emptied every time RestoreExpandedItems was called.
	+ Fix performance issues with refreshing during tick by moving all calls to RestoreExpandedItems to UpdateFilteredDetails, and then only calling UpdateFilteredDetails once per tick as needed instead of per root property node and per root external node.

Change 4003365 by Shaun.Kime

	If the physical material has gone away, make sure to set value values. Note that if this data interface is going to go on in parallel to the game thread, we'll need something more sophisticated.

	#tests Win64 tests pass

Change 4003367 by Shaun.Kime

	Making sure that the system has finished compiling before we begin cooking.

	#tests n/a

Change 4003374 by Frank.Fella

	Niagara - Fix a crash when adding and removing modules and dynamic inputs with data interfaces.

	#jira UE-57749

Change 4003696 by Shaun.Kime

	Getting rid of whitelist, now open on all platforms.

	#tests n/a

Change 4005368 by Shaun.Kime

	Fixing compile error on Linux

	#tests n/a

Change 4013779 by Shaun.Kime

	Interpolated spawn on GPU does not yet work but checkpointing work.
	+ Added AdditionalDefines to the VMCompileId, switched interpoalted spawn to use that
	+ Added rough interpolated spawn support to translator by refactoring away from specific calls and hard-coded update/spawn somewhat... could improve for events
	+ Revised shader variables away from Phase0/Phase1 terminology to the true Update/Spawn meaning. Leaving the phase numbers as an implementation detail within the usf.
	+ Added ToString to ParameterStores for debugging
	+ Changed GPU ExecIndex() logic to actually work similar to the VM

	#tests collision gpu fails

Change 4015355 by Simon.Tovey

	Persistent IDs final.

	Still need to change the compile ID parts over to use the new additional defines but the core functionality is in.

	#tests editor + engine tests

Change 4018445 by Simon.Tovey

	Some missing assets

Change 4021647 by shaun.kime

	Moving jonathan's DebugParticleData to Niagara Extras

Change 4024809 by Yannick.Lange

	Parameter map hover text using metadata description.

Change 4025042 by Wyeth.Johnson

	Dogfooding the skeletal Mesh location module w/ comments, reroute pins, map gets and sets, metadata, tooltips, etc.

Change 4025236 by Shaun.Kime

	Working on getting interpolated spawning working. Submitting to get assistance from Simon.

	... PLEASE DON'T SYNC UNLESS YOU'VE SPOKEN TO ME...

	#tests collision test on GPU is better, but not yet right.. ribbon id emitter is ensuring on LUT table generation

Change 4025372 by Shaun.Kime

	Making the debug particle data stay the same size as the base particle for easier debugging.

	#tests n/a

Change 4025701 by Shaun.Kime

	Debug asset for Simon

	#tests n/a

Change 4027865 by Shaun.Kime

	Fixing parameter map stores to properly handle reset. Previously was leaving around padding info from previous version of the script which could be totally wrong.

	#tests now don't crash

Change 4029638 by Wyeth.Johnson

	Refactor Skeletal mesh location module to test some ideas on coding standards and shake out workflow issues

Change 4030135 by Shaun.Kime

	Interpolated spawning now works on the GPU.

	#tests collision gpu has stray collisions and the GenerateLocationEvent was recently updated that broke . will fix in a later update

Change 4030197 by Wyeth.Johnson

	Refactor static mesh location module

Change 4033437 by Simon.Tovey

	Adding a few simple new functions for direct access to vertex positions for cannabis.cod3r.

Change 4033937 by Shaun.Kime

	Setting the wait for compilation flag

	#tests now pass consistently

Change 4034391 by Shaun.Kime

	Created a parameter map default node to start default call chains.Updated standard modules and dynamic inputs.

	#tests all previoulsy passing tests pass

Change 4035002 by Shaun.Kime

	Updated to work with latest main integration

	#tests n/a

Change 4035523 by Wyeth.Johnson

	Refactor Cone stuff to coding standards, replace some things with functions

Change 4035672 by Shaun.Kime

	Fixing build warnings

	#tests n/a

Change 4036887 by Wyeth.Johnson

	Some metadata, some optimization, some additional refactoring and swapping in functions. Straight Dogfoodin'

Change 4037132 by Shaun.Kime

	Adding GPU test versions of several assets

Change 4037241 by Wyeth.Johnson

	Optimizing, metadata, and making some coding standards changes

Change 4037436 by Wyeth.Johnson

	Fixing a pointless module to make it... pointful?

Change 4037629 by Frank.Fella

	Niagara - Fix issues with data interfaces as parameters
	+ Collect data interface reads and writes from parameter maps during compilation so they can be hooked up a runtime.
	+ Add new runtime parameter stores for systems and emitters at runtime which bind the exposed data interfaces into the execution contexts.
	+ Fix the editor code which updates the compiled data interfaces so that it updates the correct ones regardless of where they are defined.
	+ Fix an issue where failed compiles weren't being propgated to the UI correctly.

Change 4037832 by Shaun.Kime

	Properly handling nullptr references

	#tests deleting a module from the stack after it was recently refreshed now doesn't crash

Change 4037917 by Wyeth.Johnson

	Fix add velocity from point (needed begin defaults), reorg, comment and metadata

Change 4038250 by Wyeth.Johnson

	Big refactor of spawn per unit

Change 4038665 by Shaun.Kime

	Events now take parameter map in/out pins

	#tests now the events auto-tests should pass

Change 4038723 by Shaun.Kime

	Now renderers can say if they are compatible with the SimTarget mode.

	#tests now changing to GPU doesn't crash a light renderer

Change 4038731 by Shaun.Kime

	Missing file from prior checkin

	#tests n/a

Change 4038742 by Shaun.Kime

	Attempting to fix editor build, which is unfortunately fine on my machine

	#tests n/a

Change 4040069 by Wyeth.Johnson

	Refactor of Event Generator and Event Receiver, new coding standards for events

Change 4040377 by Wyeth.Johnson

	Refactor the solver to adhere to coding standards (and remove some reroute pins, sorry Shaun)

Change 4040639 by Wyeth.Johnson

	Vector Noise Force refactor and optimization

Change 4041031 by Shaun.Kime

	Making the modulo functions on the gpu return a value.

	#tests passes cook on PS4 and gets past this in compile on Mac

Change 4041254 by Wyeth.Johnson

	Refactor Point Attraction, change some behavior also

Change 4041999 by Yannick.Lange

	Parameters refactor:
	- Find parameters and references in graph
	- Renaming parameters, includes renaming all pins in the graph
	- Removing parameters
	- Find metadata when finding parameters, so we are not looping through all nodes/pins twice
	- Parameters list supports multiple emitters in systems

Change 4042058 by Simon.Tovey

	Refactored GPU parameters.

	- Shader now uses the DI default object to create the correct parameters struct.
	All parameter and buffer management now being handled inside this parameter struct.
	This allows far more encapsulated code for each DI.
	Allows us to reamove the GPU buffers from and the Scene texture refs that were in the base DataInterface class.
	Simplifies the API and process of implementing DI's on the GPU considerably.

	- Removed all existing GPU buffer support code and usage. All DIs now use a parameters struct.

	- Have moved tons of curve code into the base class, simplifying the child implementation classes.

	- Implemented GPU curve interpolation.

	- Removed bAllowUnnormalizedLUT. Confusing and now unnessessary. All curves do this by default.

	- Modified FNiagaraShaderMapId to use the latest FNiagaraCustomVersion::LatestScriptCompileVersion and bumped it.

	- Created NiagaraCore module and moved a few classes into it. Anything needed by both the shaders and runtime should be here.
	- Refactored DI hierarchy to base from a new UNiagaraDataInterfaceBase which is inside NiagaraCore.

	- Removed constness from many UStruct/UEnum/UClass pointers. Technically we don't ever need these to be non const so initialy coded as const. Some existing engine code however requires these be non const so had to propagate that back through our code.

Change 4043427 by jonathan.lindquist

	Submitting a material function that will allow users to reproduce mesh surfaces.

Change 4043448 by Olaf.Piesche

	Async GPU buffer readbacks and updates

Change 4043679 by Shaun.Kime

	Fixing Mac compile issue. Not sure if correct, but unused code so good for now.

	#tests n/a

Change 4044000 by Simon.Tovey

	static analysis fix

Change 4044001 by Simon.Tovey

	Fix for gpu scripts with multiple curves.

Change 4044124 by Yannick.Lange

	Fix persistent guid for parameter map set pins.

Change 4044230 by Simon.Tovey

	I didn't forget to check these in. Nothing to see here.... *whistling*....

Change 4044584 by Bradut.Palas

	Module dependency properties are now available (to be used by technical artists before the functionality is done and submitted)
	#jira UE-58200

	#tests none

Change 4044663 by Wyeth.Johnson

	Jitter position needed begin defaults, got a refactor which I was in there

Change 4044894 by Yannick.Lange

	Rename parameter and all referenced pin when renaming a pin on a map set or get.
	Also fixes renaming a pin not deleting the old metadata.

Change 4045383 by Wyeth.Johnson

	Fix up and comment/tooltip on mesh rotation, look at, and rot rate

Change 4045488 by Wyeth.Johnson

	Update Age reorg just for readability

Change 4045799 by Shaun.Kime

	Reworking test art to get rid of known issues and put known issues into their own assets.

Change 4046328 by Wyeth.Johnson

	Some optimizations, options to polar/cartesian, starting in on Dynamic Inputs

Change 4046728 by Shaun.Kime

	Fixed error where we were writing to Loca.Module.EventVelocity instead of Local.Module.EventVelocity.

Change 4047423 by Frank.Fella

	Niagara - Fix post load code for the assignment node which was not conditionally post loading another object it was using which now has a custom post load.  This resulted in strange pin renaming which was breaking merging and automated tests.

Change 4047425 by Frank.Fella

	Niagara - Make the merge manager a little more resistant to malformed stacks.

Change 4047788 by Bradut.Palas

	#jira UE-57902 Module input sort priority

	#tests none

Change 4048063 by Yannick.Lange

	Fix don't show context menu on parameter view categories.
	#jira UE-57196

Change 4048068 by Yannick.Lange

	Fix create system from emitter
	#jira UE-57186

Change 4048132 by Yannick.Lange

	Add missing includes.

Change 4048269 by Shaun.Kime

	Removing ensure that we log later

	#tests n/a

Change 4048273 by Shaun.Kime

	Really doing it this time

	#tests n/a

Change 4048595 by Yannick.Lange

	Fix niagara if node input disconnect on output pin rename.
	#jira UE-58095

Change 4049640 by Simon.Tovey

	Daft mistake in curve hlsl gen.

Change 4050270 by jonathan.lindquist

	Submitting a module that lerps each of a particle system's intrinsic particle values. Each variable set utilizes an opt-in bool.

Change 4050282 by jonathan.lindquist

	Submitting newly formated Mesh Reproduction modules. They now contain documentation, be fully generalized and meet our updated coding standards.

Change 4050566 by Olaf.Piesche

	-More fixes and changes for async gpu buffer readback
	-removed more CPU intervention; spawning and death now happen largely without CPU direction, other than determining the number of particles to spawn
	-Added piping number of vert indices per instance from the renderer down to the GPU context and CS; as a result, GPU simulated mesh emitters are working again; this will need a bit of additional work to handle multiple renderers (will need multiple DrawIndirect parameter buffers reflecting the different renderers)
	-General cleanup and prettification

Change 4050907 by Frank.Fella

	Niagara - Add support for default dynamic inputs on modules and dynamic inputs.

Change 4051436 by Simon.Tovey

	Forcing a refresh of curve LUTs on assets with old versions.

Change 4051463 by Simon.Tovey

	Compile fix

Change 4051900 by Frank.Fella

	Niagara - Fix linux warning.

Change 4052253 by Olaf.Piesche

	GPU sim interpolated spawn fixes - Look Ma, no gaps!

Change 4052321 by Frank.Fella

	Niagara - Enable the level sequence test.

Change 4052353 by Shaun.Kime

	Renamed variable after Wyeth's change

	#tests MeshOrientationTests now pass

Change 4052627 by jonathan.lindquist

	Submitting a new spline function.

Change 4052648 by Shaun.Kime

	PS4 development builds don't seem to be able to remove generated data for structs like this even though it is in a non-editor build.

	#tests n/a

Change 4052661 by Olaf.Piesche

	-Avoid branching on every OutputData operation by allocating a scratch instance at the buffer end and setting the default index from AcquireIndex to that.
	-bit of shader code cleanup

Change 4052706 by jonathan.lindquist

	Adding a module that supports a single segment spline

Change 4052712 by jonathan.lindquist

	Adding a below threshold output to the direction and length safe function

Change 4052786 by jonathan.lindquist

	Submitting a new height lerp function

Change 4053126 by jonathan.lindquist

	Submiting a function that calculates a triangle's surface area.

Change 4053132 by jonathan.lindquist

	Changing the category to geometry

Change 4053141 by jonathan.lindquist

	Moving the asset back to a generic math category

Change 4053166 by jonathan.lindquist

	Submitting a new threshold function that removes threshold downtime.

Change 4053564 by Shaun.Kime

	Added staging to ini as requested by cook

	#tests n/a

Change 4053619 by Shaun.Kime

	Fixing defaults

	#tests used by Orion art

Change 4054171 by Yannick.Lange

	Remove bold font for parameters.

Change 4054183 by Yannick.Lange

	Syncing system exposed parameters and parameters list. Includes adding, removing and renaming parameters.

Change 4054313 by Wyeth.Johnson

	Refactor spawnrate to (mostly, other than a bug) conform to coding standards, and set begin defaults on a few things.

Change 4054840 by Shaun.Kime

	Fixing redundant branch for CI

	#tests n/a

Change 4055492 by Shaun.Kime

	Updating compile version since I changed the usf

	#tests n/a

Change 4055550 by Shaun.Kime

	Disabling rendering of middle module as it differs between machines.

	#tests LevelSequenceTestsNiagara now passes

Change 4056256 by Shaun.Kime

	Disabling the ensure and turning into log statements for curve copying

	#tests n/a

Change 4056287 by Shaun.Kime

	Now using GLobalCompileShader. There are still issues with cooking as there is sometimes a runtime streaming error that we didn't read in the correct amount of data. I think the logic for when/if we stream out the compiled shader might still need TLC.

	#tests n/a

Change 4056381 by jonathan.lindquist

	A new quat to angle axis and angle axis to quat conversion mat function

Change 4056513 by Frank.Fella

	Niagara - Fix crashes for default data interfaces where the pin default was empty or the data interface wasn't initialized.

	#jira UE-58789

Change 4056734 by Frank.Fella

	Niagara - Drag and drop for modules.

Change 4056880 by Simon.Tovey

	Replacing engine tests shots for RibbonID test.
	Some slight changes introduced, likely curve or recent module changes.

Change 4056894 by Bradut.Palas

	UNiagaraStackEntry Error refactoring + Module dependency warning feature.
	#jira UE-58199, UE-58200

	#tests none

Change 4056916 by Bradut.Palas

	Add missing files from shelved changelist.

	#tests none

Change 4056937 by Bradut.Palas

	#jira UE-54678 The skeletal mesh customisation did not update when the mesh was changed through the data interface or mesh editor

	#tests none

Change 4057014 by Frank.Fella

	Niagara - Fix cis initializer order warning.

Change 4057542 by Bradut.Palas

	#jira UE-58554 Remove Refresh UI button from Niagara script editor
	#jira UE-58555 Remove Numeric Output Type Selection Mode from Niagara script UI

	#tests none

Change 4057702 by Bradut.Palas

	The stack editor priority in the variable metadata now properly has zero as default value.
	#jira UE-58740

Change 4057758 by Frank.Fella

	Niagara - Fix text wrapping for error items.

Change 4057990 by Bradut.Palas

	Stack error tweaks (added error count to the stack errors button and also updating icon according to highest severity issue in the subtree)

	#tests none

Change 4057996 by Shaun.Kime

	Trying to fix the static analysis header tool error in CIS

	#tests n/a

Change 4058027 by Shaun.Kime

	Fixing compilation on other platforms

	#tests compiles on playstation

Change 4058356 by Frank.Fella

	Niagara - Fix an assert that happens when adding a module or dynamic input with a boolean or enum input.

Change 4058428 by Frank.Fella

	Niagara - Fix a crash when removing an input from a set variables node in the stack which was caused by the function losing an input without the stack being refreshed.  This also fixes an issue where add and remove actions on a set variables module wouldn't take affect until the graph was compiled.

Change 4059924 by Wyeth.Johnson

	Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Velocity/AddVelocity.uasset to revision 5

Change 4060256 by Wyeth.Johnson

	Forces are now dependent on a solver

Change 4060430 by Wyeth.Johnson

	Velocity modules depend on a solver

Change 4060949 by Shaun.Kime

	Fixing pragma once definition as well as a possible null deref

	#tests n/a

Change 4060955 by Shaun.Kime

	Fixing due to changes in defaults

	#tests all now pass PC

Change 4061000 by jonathan.lindquist

	Debug particle material improvements which includes comments in the shader, rearranged layout with a vector 2 input for particle id, new texture, a new instance that includes "focus masking"

Change 4061804 by Wyeth.Johnson

	Optimized out a couple unnecessary bits of math from some axis alignment stuff, solver dependencies

Change 4061974 by Simon.Tovey

	Fixed GPU cooking.

	- Removing check for emitter SimTarget in CanBeRunOnGpu() and relying only on the script usage having been loaded already.
	We can't rely on properties in the emitter being loaded before the call to UNiagaraScript::PostLoad() so this is unsafe.

	- Adding some dummy gpu buffers to bypass validation ensures in rhi when we need to set params for SRVs that have not been allocated yet.

	- Fixed bug in RHI that was returning FGPUFenceRHIParamRef and so the created fence was immediately freed and boom.

Change 4062269 by Shaun.Kime

	Re-enabling most of the tests.

	#test n/a

Change 4062414 by tim.gautier

	QAGame: Updated QA-Effects for mobile compatibility
	- Removed Atmospheric Fog (not supported on Mobile)
	- Added SkySphere (resolved lighting issues)

Change 4062651 by Shaun.Kime

	Saving with versions

Change 4062673 by Shaun.Kime

	Making emitter names without spaces so that they can be blacklisted if need be

Change 4062686 by Shaun.Kime

	Getting ready for CI for 4.20

Change 4062687 by Shaun.Kime

	Updating mac images

Change 4063298 by Shaun.Kime

	Disabling collision test gpu for now. Need to investigate what broke it tomorrow.

	#tests  CollisionBounceGPU

Change 4063373 by Shaun.Kime

	Blacklisting mac tests that still need work

Change 4063434 by Shaun.Kime

	Cleaning out previous debug code

	#tests n/a

Change 4063618 by Yannick.Lange

	Fix dragging an input pin to the add pin of an if node

	#jira UE-58600

Change 4063847 by Frank.Fella

	Niagara - Rename RibbonSortKey to RibbonLinkOrder, change it from an int32 to a float, and disable uv age offset when using link order instead of normalized age to order particles in the ribbon.  This should fix the issues preventing beams from being implemented nicely.

	#tests Auto-tests

Change 4064150 by tim.gautier

	QAGame: Removing floating NewWidgetBP from /Content

Change 4064237 by Shaun.Kime

	Disabling the level sequence test for now

Change 4064902 by Shaun.Kime

	Fixing compile errors on linux editor build
	#jira UE-58620

	#tests n/a

Change 4065167 by tim.gautier

	QAGame: Submitting temporary update to TM-ShaderModels, adding Niagara station

Change 4065400 by tim.gautier

	QAGame: Submitting updated (temp) TM-ShaderModels. Set NewNiagaraEmitter to Local Space by default

Change 4065540 by Frank.Fella

	Niagara - Temporarily disable the module dependencies until they can be fixed.

Change 4065570 by Shaun.Kime

	Fixing linux build

	#tests n/a
	#jira UE-58979

Change 4066753 by Shaun.Kime

	Updating custom version after previous change to shader includes

	#tests autotests pass

Change 4067981 by Frank.Fella

	Niagara - Fix potential null dereference found by CIS

	#jira UE-59013

Change 4067998 by Shaun.Kime

	Nullpointer checks on shutdown

	#jira UE-59000

Change 4068104 by Frank.Fella

	Niagara - Change the prefix for the previous parameter values from PREV__ to PREV_ since the cross compiler reserves all symbols with double underscores for opengl.

Change 4068118 by Frank.Fella

	Niagara - Fix an open GL crash where we weren't passing the correct buffer index when setting parameters for compute shaders.

Change 4069299 by Olaf.Piesche

	Async GPU readback/update mobile platform fixes

	CPU particles should work on Android

	#jira UE-58986

Change 4069603 by Shaun.Kime

	Making it possible to see the debug output if the console variables are set for shaders.

	#tests auto-tests pass

Change 4069628 by Shaun.Kime

	OpenGL is very picky about shutting down its texture buffers. We were improperly holding onto static resources and leaking OpenGLShaderResourceViews until module shutdown. Unfortunately, this is *after* the renderer has been shut down and the corresponding OpenGL managers have been deleted, causing us to call into deleted memory. By making several classes FRendererResources, we now register at the appropriate times. In several cases, since the buffers are special purpose fallbacks I moved them into helper locations that are build on demand.

	Removed FNiagaraVertexFactoryBase::DummyBuffer
	Created FNiagaraDummyRWBufferInt and FNiagaraDummyRWBufferFloat so that I could wrap several dummy RW buffers in RendererResources and TGlobalResource.
	Removed NiagaraEmitterInstanceBatcher::DummyWriteIndexBuffer

	#tests all auto-tests pass on PC and OpenGL and we can open and close OpenGL after using Niagara assets

	#jira UE-59000

Change 4069646 by Shaun.Kime

	Disabling Niagara component activation on Switch. This is an attempt to bypass a crash after the assets have been loaded on Switch.

	#tests auto-tests on PC still pass

	#jira UE-59048

Change 4069660 by Shaun.Kime

	Updated Niagara version

	#tests Auto tests pass

Change 4069714 by Shaun.Kime

	Fixing Olaf's checkin prior adding offset to the base readback call

	#tests autotests pc pass

Change 4070785 by Olaf.Piesche

	Make RWBuffer available on Metal, Vulkan, and ES3.1 with SRVs

Change 4070888 by Olaf.Piesche

	#jira UE-57657

	Reenable ribbon custom facing mode

Change 4071570 by Shaun.Kime

	Removing thread pool size log item as it comes up thousands of times in a cook and is purely for debugging.

	#tests n/a

Change 4071926 by Shaun.Kime

	Disabling Olaf's change from earlier in the day as it doesn't work on PS4.

	#tests Ribbon test now works again


Change 4073700 by Shaun.Kime

	Fixing compiler warning about float4 being used as a float.

	#tests pc auto tests pass

	#jira UE-59157

[CL 4075457 by Shaun Kime in Main branch]
2018-05-16 12:53:39 -04:00
projectgheist
27ae5afdcb PR #4726: Update copyright notices to 2018. (Contributed by projectgheist)
#rb none
#lockdown Nick.Penwarden

[CL 4070389 by Ben Marsh in Main branch]
2018-05-14 07:48:19 -04:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3805828 by Gil.Gribb

	UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.

Change 3806784 by Ben.Marsh

	UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.

Change 3807549 by Graeme.Thornton

	Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

	When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet

Change 3808221 by Steve.Robb

	GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()

	^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.

Change 3809233 by Graeme.Thornton

	TBA: Misc changes to text asset commandlet
	 - Rename mode to "loadsave"
	 - Add -outputFormat option which can be assigned "text" or "binary"
	 - When saving binary, use a differentiated filename so that source assets aren't overwritten

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

	GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value

	#jira UE-53037

Change 3809862 by Steve.Robb

	GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

	Minor updates to output formatting and timing for the text asset commandlet

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

	Incorrect semi-colon search removed after discussion with author.
	Test added.

	#jira UE-48242

Change 3812864 by Steve.Robb

	Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.

	See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html

	#jira UE-53089

Change 3820358 by Ben.Marsh

	PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

	- Always create log files in the final location, rather than writing to a temp directory and copying in later.
	- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
	- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
	- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.

Change 3823695 by Ben.Marsh

	UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).

	Now always queries changes up to the last change for which zipped binaries are available.

Change 3823845 by Ben.Marsh

	UBT: Exclude C# projects for unsupported platforms when generating project files.

Change 3824180 by Ben.Marsh

	UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

	Optimized PIE lazy pointer fixup. Should be up to 8x faster now.

Change 3826734 by Ben.Marsh

	Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.

Change 3827730 by Steve.Robb

	Try to avoid decltype(auto) if it's not supported.

	See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

	GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()

	#jira UE-53813

Change 3829189 by Ben.Marsh

	UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.

Change 3830444 by Steve.Robb

	BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
	This should be revisited when Core has its own JSON library.

Change 3830718 by Ben.Marsh

	Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.

	The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.

	For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.

	When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

	UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.

Change 3832680 by Ben.Marsh

	UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.

Change 3832695 by Ben.Marsh

	UGS: Invert the options in the 'Show Changes' submenu for simplicity.

Change 3833528 by Ben.Marsh

	UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].

Change 3833543 by Ben.Marsh

	UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.

Change 3834354 by Robert.Manuszewski

	Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

	Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.

	#jira UE-52035

Change 3834947 by Steve.Robb

	USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.

Change 3835004 by Ben.Marsh

	Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.

Change 3835340 by Ben.Marsh

	Fix errors making installed build from directories with spaces in the name.

Change 3835972 by Ben.Marsh

	UBT: Improved diagnostic message for targets which don't need a version file.

Change 3836019 by Ben.Marsh

	UBT: Fix warnings caused by defining linkage macros for third party libraries.

Change 3836269 by Ben.Marsh

	Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.

Change 3836543 by Ben.Marsh

	Enable SoundMod plugin on Linux, since it's already supported through the editor.

Change 3836546 by Ben.Marsh

	PR #4412: fix type mismatch (Contributed by nakapon)


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

Change 3837036 by Ben.Marsh

	UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.

Change 3837037 by Ben.Marsh

	UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).

Change 3837040 by Ben.Marsh

	UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.

Change 3837247 by Ben.Marsh

	UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).

	Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.

Change 3837262 by Ben.Marsh

	UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.

	Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.

Change 3837343 by Ben.Marsh

	UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

	UnrealPak: KeyGenerator: Only generate prime table when required, not all the time

Change 3837823 by Ben.Marsh

	UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.

Change 3837831 by Graeme.Thornton

	UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives

Change 3837857 by Robert.Manuszewski

	PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

	UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.

	#jira UE-53996

Change 3839519 by Ben.Marsh

	UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

	Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.

	Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.

	#jira UE-54157

Change 3845796 by Ben.Marsh

	Workaround for slow performance of String.EndsWith() on Mono.

Change 3845823 by Ben.Marsh

	Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.

	#jira UE-54123

Change 3845901 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

	Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.

	Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

	UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.

Change 3816986 by Ben.Marsh

	UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.

Change 3816991 by Ben.Marsh

	UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

	- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
	- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
	- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
	- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.

Change 3826082 by Ben.Marsh

	UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.

Change 3827025 by Ben.Marsh

	UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3835826 by Ben.Marsh

	UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.

Change 3835969 by Ben.Marsh

	UBT: Fix cases where text is being written directly to the console rather than via logging functions.

Change 3837777 by Steve.Robb

	Format string type checking added to FOutputDevice::Logf.
	Fixes for those.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00