Commit Graph

11694 Commits

Author SHA1 Message Date
bryan sefcik
892629fe83 Fixed some paths that got updated to include the full "ThirdParty" path.
#jira
#preflight 6320877bbc40358fa2995069

[CL 21997782 by bryan sefcik in ue5-main branch]
2022-09-13 21:48:33 -04:00
jason walter
26117b5d31 Rename IniKeyBlacklist to IniKeyDenylist and IniSectionBlacklist to IniSectionDenyList
#jira UE-131078
#rb josh.adams
#preflight 6320c90f47741a7dbd237e5f

[CL 21997756 by jason walter in ue5-main branch]
2022-09-13 21:47:24 -04:00
josh adams
882d771a9c Unshelved from pending changelist '21985878':
- Fixed an assert with -makebinaryconfig
#jira UE-161112
#rb trivial
#preflight skip

[CL 21990880 by josh adams in ue5-main branch]
2022-09-13 15:56:41 -04:00
chris constantinescu
08fee9ccbf Low level tests quality of life changes:
- bump "Started test case" log messages to Display when --debug is used
- additional duration log messages. Catch2 durations were never printed in sync with --debug log messages
- ability to specify a device and attach to a debugger when running the LowLevelTests script; ability to specify configuration type
#rb Devin.Doucette, Jerome.Dellatre
#preflight 631f554d705bdbceb5b91b82

[CL 21989658 by chris constantinescu in ue5-main branch]
2022-09-13 15:06:34 -04:00
sara schvartzman
21b5d128f9 Control Rig: Revert fix for incorrect array default values when connected to reroute node
#jira UE-163540
#rb na

[CL 21989560 by sara schvartzman in ue5-main branch]
2022-09-13 15:02:02 -04:00
rune stubbe
76a529066f Nanite Hi-Res mesh is now built with the LOD0 build settings instead of the default ones
Gray out Fallback Triangle Percent and Fallback Relative Error when a model is specified in Source Import Filename

#preflight 631f5ed412092e9faa846d86
#rb graham.wihlidal
[FYI] Ryan.Schmidt

[CL 21989542 by rune stubbe in ue5-main branch]
2022-09-13 15:01:31 -04:00
jason nadro
2b91bffc97 Fix bug where we were not blocking on shader compilation before executing a material update context.
- Depending on timing could cause issues with missing shaders where we would update the component before its shaders were complete.
- By default just make the function that submits jobs always block.
- Renable some tests, which this change should fix.

#rb Arciel.Rekman, Chris.Kulla
#jira UE-155888
#preflight 631f7368f927bf0cbaf4e378

[CL 21989440 by jason nadro in ue5-main branch]
2022-09-13 14:57:34 -04:00
jeannoe morissette
0d54854d1f VulkanRHI: Add implementation of bindless samplers using VK_EXT_descriptor_indexing.
#fyi dmitri.dyomin, carl.lloyd, robert.srinivasiah, yuriy.odonnell, aleksander.netzel
#rb christopher.waters
#jira UE-139618
#preflight 6319f6482b7fe03eb6aab931

[CL 21988350 by jeannoe morissette in ue5-main branch]
2022-09-13 14:16:19 -04:00
Dan Thompson
1648e152b4 Fix passing -WriteBackMetadataToAssetRegistry via RunUAT. Now you can pass this in ushell after the -- when doing .stage game.
#rb martin.ridgers
#preflight 6320b01c506f1a33e05a6765

[CL 21986745 by Dan Thompson in ue5-main branch]
2022-09-13 13:21:49 -04:00
devin doucette
abd22903b7 Fixed forwarding of -DDC=<Graph> to avoid initializing DDC and only forward non-default graph names
#preflight 631f926c1e6887c4a6d4c30d
#rb Zousar.Shaker

[CL 21984731 by devin doucette in ue5-main branch]
2022-09-13 12:12:58 -04:00
Patrick Boutot
0704fc41ce Fix bad alignment with the AutomationWindow. It was not using the base constructor.
#jira UE-162678
#rb none
#preflight 6320847da514fd1e37c5879b
#preflight 63209d839677b738f493afc7

[CL 21983532 by Patrick Boutot in ue5-main branch]
2022-09-13 11:31:16 -04:00
charles bloom
1db99db5b7 fix astcenc swapping RB in TextureFormatASTC
also new cvars to run the decoder and leave temp files :
cook.ASTCDebugLeaveTempFiles=1
cook.ASTCDebugWriteDecodedImage=1

#preflight 631f61f822433f4f5c69f181
#rb none

[CL 21982673 by charles bloom in ue5-main branch]
2022-09-13 10:45:34 -04:00
Martin Ridgers
43d162234f Allow a small amount of tracing when allocating memory for trace buffers
Previously any events traced while Trace allocates memory to trace events into were dropped because there was nowhere to write these events. This change
splits memory allocation into two functions, one that will capture and send events when safe to do so, and one that doesn't capture events at all. For that latter, the capture is moved out to where allocating trace buffers happens so that captured events can be added to the buffer just allocated. This ensure order is maintained and that serials are ascending on a thread.

Partial buffers; prior to this change, aux-data that was larger than available space in a buffer would be fragmented across multiple buffers. Buffers that started in the middle of aux-data were marked partial as there was no way for analysis to interpret the stream from this point. As it is now possible that allocation-traced events will be written into the buffer before it's made available, each fragment is preceded with a aux-data header. This makes the stream recoverable from any buffer and negates the need for having partial buffers at all. As aux-data can now be constructed of two or more aux-data events for a single field of an event, analysis needs to be aware of this and defragment these events.

Late connect; analysis of a stream can now start with aux-data/terminal events with no corresponding owning event. This is fine; they get skipped over in DispatchEvents().

It is a deliberate choice to have a limited amount of redirected-buffer space to capture allocation-traced events. There needs to be enough space remaining in the new buffer to trace the outer event. Some platforms also have a limited amount of stack per thread.

The Writer_AddPageToPool() in Writer_InitializePool() didn't do anything and was removed.

GInitialized was set to early and subvert the reliance on static initialisation guarantees

#rnx
#jira UE-157559
#jira UE-161280
#preflight 632057f3bc40358fa290f403

[CL 21980603 by Martin Ridgers in ue5-main branch]
2022-09-13 06:42:08 -04:00
Jurre deBaare
ff0db16d0b Reintroducing AnimationDataModel refactor with additional memory and cooktime optimizations.
**Animation Data Model load/cook time and memory optimizations**
- Added SetKeysOnly to FMovieSceneFloatChannel, allowing to only set value/frames values and skip allocating key handles
- Added EvaluateWithCache to TMovieSceneCurveChannelImpl, allowing to evaluate multiple curves using a caching data structure holding the frame-indices resulting from the FrameTime -> indexes calculationg
- UFKControlRig::GetControlName/GetControlTargetName, added thread_local mapping cache and optimized FName generation
- Made the sequencer bone curve keys 'sparse' again, if constant it just sets the default value for the curve otherwise it is still uniform
- Only resample keys when compressing, and clear them on any significant model changes and when save-during-cook has been completed
- Routed ::Presave for AnimSequencerDataModel directly through to UMovieSceneSignedObject to skip compiling cooked sequencer that that will/should never cooked and packaged
- Added some significant pass-by-reference changes to AnimSequencerModel APIs (passing large arrays by value previously) :doh:
- Optimized GenerateLegacyBoneData

Original CL description:

**New**
- Engine
	- IAnimationDataModel interface
- AnimationData plugin
	- AnimSequencerDataModel, sequencer based implementation of IAnimationDataModel
	- AnimSequencerDataController, controller for above (implementation of IAnimationDataController)
- Added FCompressedRichCurve::PopulateCurve, allowing users to convert back to a FRichCurve for validation/debugging
- Added DefaultFrameRate to AnimationSettings, this replaces the hardcoded 30FPS in code
- Added ::GetKeyIndicesFromTime which takes FFrameRate
- Added AnimSequenceBase::OnAnimModelLoaded, this is required for correct postloading behaviour of data model (specifically AnimSequencerDataModel, as it depends on data from its outer ? anim sequence)
- Added IAnimationDataModel ::Evaluate which now takes responsibility for evaluating raw animation bone, curve and attribute data. And moved all trackbased evaluation code into AnimDataModel.cpp
- Added a.ForceEvalRawData allowing to force evaluation of source data
- Added a.SkipDDC to force compressing animation data locally

**Changed**
- Reparent UAnimDataModel to IAnimationDataModel interface, and rejig behaviour
- AnimSequenceBase now reference AnimDataModel as IAnimationDataModel
- Upgrade path for legacy to IAnimationDataModel and existing UAnimDataModel to IAnimationDataModel through IAnimationDataController::PopulateWithExisting
- IAnimationDataModel data is now frame(number/rate/time) based rather than seconds/keyindices. This enforces frameborder aligned data from now on.
- Moved RichCurve evaluation code from RichCurve.cpp to separate file and consolidated all instances of copy-pasta behaviour
- Updated/removed deprecated EngineTests around AnimSequences
- Changed many instances to use a FFrameTime together with a known FFrameRate versus seconds and sequencelength in float involving frame \/ time calculations (including instances of FAnimKeyHelper)
- Switched anim sequence evaluation to use double in Extraction context for time value and patched up places with static\_cast\<double\>
- FRichCurve::Eval
	- Make sure we always evaluate keys when T >= Key0.Time and T <= KeyN.Time to deal with crazy userweighted tangents
- Fixed WeightedKeyDataAdapter::GetKeyInterpMode/GetKeyTangentWeightMode retrieving invalid values, as it was indexing according to KeyIndex rather than KeyIndex\*2. This made it so that values were misinterpreted.
- Fixed WeightedEvalForTwoKeys for compressed data retrieving GetKeyInterpMode and GetKeyTangentWeightMode using the wrong index value. As they are not indexed using KeyDataHandle type.
- Fixed issue where compression could crash when containing zero-key scale additivebase track (tries to retrieve)
- Replaced instances of NULL with nullptr
- Moved required decompression information into FAnimSequenceDecompressionContext and reimplemented decompression within UE::Anim::Decompression namespace and new file
- Deprecated ::GetRawDataGuid and replaced with GetDataModel()->GenerateGuid()
- Fixed UAnimStreamable evaluation/compression (previously broken with MVC refactor)
- Updated Animation exporting pipeline to be frame-based rather than seconds
- Deprecated RetargetPose, replaced with FRetargetingScope (used within AnimModel::Evaluate)
- Fixed BaseAdditiveAnimation array become invalid/incorrect when removing zero-additve tracks during compression
- Updated EngineTest animation sequence related tests to new APIs (while maintaining deprecated path testing as well for now)
- AnimDataController / Animation Sequence tests now generate a USkeleton for the transient animation sequence (used to perform the test on)

**Removed**
- Unused file/class AnimData/AnimDataNotifyCollector.h

#rb Thomas.Sarkanen, Mike.Zyracki
#jira UE-131296
#preflight 631f6897a9331c69c3a34d1e

[CL 21980597 by Jurre deBaare in ue5-main branch]
2022-09-13 06:41:15 -04:00
robert millar
f278cf318f FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for AssetTools.

#jira UE-161932
#rb none
#preflight 631f7fce5f25b56420615fc1

[CL 21976429 by robert millar in ue5-main branch]
2022-09-12 19:54:11 -04:00
robert millar
0491bcc13c FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for misc developer dir files.

#jira UE-161932
#rb none
#preflight 631f8070fd6da68d68b56472

[CL 21976423 by robert millar in ue5-main branch]
2022-09-12 19:53:59 -04:00
devin doucette
6a0aa068b2 LowLevelTests: Restored previous indentation in TestRunner.cpp
#jira none
#preflight skip
#rb none
#rnx

[CL 21975739 by devin doucette in ue5-main branch]
2022-09-12 19:26:01 -04:00
dominik peacock
2d65dac58e Fix transaction activity details missing on server
#jira UE-151597
#rb Jason.Walter
#preflight 631f5e681d4c60f46298b359

[CL 21974181 by dominik peacock in ue5-main branch]
2022-09-12 18:25:14 -04:00
carl lloyd
54f349c2e5 Added support to reduce array size by converting to structs and allowing OpenGLShaderCompiler to pack
Fixed bug with SpvOpPhi

#jira UE-160089
#rb Laura.Hermanns
#preflight 631f555712092e9faa809684

[CL 21974093 by carl lloyd in ue5-main branch]
2022-09-12 18:18:54 -04:00
Yuriy ODonnell
e741d25317 Add CVar r.RayTracing.RequireSM6 (default=0) to explicitly control when ray tracing shaders/features should be available, instead of relying on project target platform shader model settings. This is required because target platform settings are not available when running a packaged game.
The engine uses GRayTracingPlaformMask to compute ShouldCompilePermutation() for shaders. This is filled based on platform settings and capabilities when running the editor. When running a standalone game, the mask is filled purely based on whether ray tracing is enabled for the project (r.RayTracing) and the current runtime environment supports it (GRHISupportsRayTracing).

The new CVar is meant to be consistent between the cook time and run time. This is achieved by setting GRHISupportsRayTracing=false when running on SM5 if r.RayTracing.RequireSM6 is 1.

#rb christopher.waters
#preflight 631f8c8680642a7fa783ca18
#jira UE-163012

[CL 21971785 by Yuriy ODonnell in ue5-main branch]
2022-09-12 16:27:08 -04:00
sara schvartzman
283f87f1b7 Control Rig: Fix incorrect array default values when connected to reroute node
#jira UE-162826
#rb jack.cai
#preflight 631b5b15967ffc68fb21883d

[CL 21962237 by sara schvartzman in ue5-main branch]
2022-09-12 06:17:43 -04:00
axel riffard
c64aa2de93 Catalina, iOS 14 removal
Metal 2.3 removed, Metal 3.0 added for Mac

#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668

[CL 21960671 by axel riffard in ue5-main branch]
2022-09-11 23:47:08 -04:00
bryan sefcik
010300bcc6 Possible compile fix for OutputLog found on the release line.
#jira
#preflight 631e854acb1bdb7ecb5ac3c6

[CL 21960633 by bryan sefcik in ue5-main branch]
2022-09-11 23:22:42 -04:00
charles bloom
094f1c9b0f fix for merge in TextureCompressorModule
[CL 21960090 by charles bloom in ue5-main branch]
2022-09-11 18:33:41 -04:00
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00