Commit Graph

103 Commits

Author SHA1 Message Date
zach bethel
29f735f4a3 Modified scene proxy GetDynamicMeshElements calls to take a local command list instead of relying on the immediate command list and defer uniform expression cache invalidations.
- Calls to FRHICommandListImmediate::Get() replaced with Collector.GetRHICommandList()

#jira UE-194426

[CL 27813729 by zach bethel in ue5-main branch]
2023-09-12 18:32:22 -04:00
zach bethel
61a256b156 More command list conversions. Streaming buffers, vertex factories, and TUniformBufferRef.
[CL 26217320 by zach bethel in ue5-main branch]
2023-06-23 16:03:17 -04:00
zach bethel
aa1b0c680f Deprecated non-command list RHI methods.
- RHICreate{Vertex, Index, Structured}Buffer
 - RHICreate{ShaderResource, UnorderedAccess}View
 - RHIUpdateUniformBuffer
 - Various initialization / locking methods for helper buffer types in RHIUtilities.h

The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.

#rb christopher.waters

[CL 26183242 by zach bethel in ue5-main branch]
2023-06-22 11:08:27 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
christopher fiala
3c60313f53 Fix LWC float truncation warnings for VREditor, AugmentedReality, and MRMesh modules.
Primarily float casts or FVector2f conversions for calculations that are taking place in local space or screen space anyway.

#jira UE-166461
#rb jeff.fisher

[CL 25963198 by christopher fiala in ue5-main branch]
2023-06-13 16:49:58 -04:00
zach bethel
a9a5fa39db Deprecated non-command list variant of InitResource and UpdateResource. Patched the engine to pass command lists through. Follow-up CL's will refactor individual locations to thread command lists through the various callstacks, but that was done very judiciously in this CL to reduce risk.
#rb mihnea.balta, christopher.waters

[CL 25953623 by zach bethel in ue5-main branch]
2023-06-13 11:46:40 -04:00
bryan sefcik
da92084a12 Optimized out more private modules includes and dependencies.
#preflight 64627c382965f6ea8ea83bd6

[CL 25479683 by bryan sefcik in ue5-main branch]
2023-05-15 16:26:12 -04:00
christopher waters
a523c67334 Removing unnecessary uses of Engine/Private
[CL 24253417 by christopher waters in ue5-main branch]
2023-02-16 04:17:28 -05:00
christopher waters
f0b834540e Cleaning up a number of direct module includes.
[CL 24253328 by christopher waters in ue5-main branch]
2023-02-16 04:13:28 -05:00
christopher waters
8fd10b0e13 Dependency cleanup around some Rendering headers.
#preflight 63b893e547321b9d895924b0

[CL 23605570 by christopher waters in ue5-main branch]
2023-01-06 18:57:09 -05:00
christopher waters
7215f7d4ec Fully moving MaterialDomain to its own header.
#jira none
#preflight 639b4dc335203bc7aa695078

[CL 23531533 by christopher waters in ue5-main branch]
2022-12-15 16:01:51 -05:00
christopher waters
6e30ddb01e Dependency cleanup around DataDrivenShaderPlatformInfo and a few other headers.
#preflight 63921e6a67018b14b5925197

[CL 23454104 by christopher waters in ue5-main branch]
2022-12-08 15:35:35 -05:00
jeff fisher
cdc71432e3 UE-168661 //UE5/Release-5.1 - UE.EditorAutomation(RunTest=Project.Maps.AllInPIE) Win64 Development EditorGame - QAEntry test fails due to Unhandled Exception in MockDataMeshTrackerComponent.cpp
-Fixed a bug where we would hold a pointer to the component beyond its lifetime and then try to use it.  Now we clear that pointer in the component's BeginDestroy.
#jira UE-168661
#rb Arciel.Rekman
#preflight https://horde.devtools.epicgames.com/job/635c488ba27fb703be682525

robomerge[FN_EngineMerge] -UE5-RES

[CL 23228113 by jeff fisher in ue5-main branch]
2022-11-21 17:20:59 -05:00
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
Jeremy Moore
ff967b1163 Remove PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY and only use PRIMITIVE_SCENE_DATA_FLAG_OUTPUT_VELOCITY.
Tidy up use of FPrimitiveSceneProxy velocity getters.
Now DrawsVelocity() is only for velocity relevance.
And HasDynamicTransform() is for determining if we need to store previous transform state.
VSM caching was using PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY so replaced that with PRIMITIVE_SCENE_DATA_FLAG_SHOULD_CACHE_SHADOW which should use the old behavior and can be tweaked in future using ShouldCacheShadow().

A common pattern for determining whether to output velocity now is to check if a previous transform exists, and to OR in AlwaysHasVelocity().
I found some proxy types that don't check for previous transform.
Also I found that the debug physics aggregate types *never* check for previous transform.
These are pre-existing potential bugs for fixing in another pass.

Also I found some proxies that don't currently fill out velocity relevance.
These are pre-existing potential bugs for fixing in another pass.

#preflight 62863f789016c6dd897f1cd2
#fyi andrew.lauritzen

[CL 20279797 by Jeremy Moore in ue5-main branch]
2022-05-19 10:08:15 -04:00
danny couture
6c39082623 Add support for bodysetup trimesh estimates for all implementation of IInterface_CollisionDataProvider
#rnx
#rb Francis.Hurteau
#preflight 6262f0e0cf17922036d8c942

[CL 19876901 by danny couture in ue5-main branch]
2022-04-22 19:20:37 -04:00
andrew davidson
692c7957c1 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
Runtime files
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ushell-cherrypick of 18817999 by Fred.Kimberley
#preflight 62441346f73c316f68db20c0

#ROBOMERGE-OWNER: andrew.davidson
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 19554852 via CL 19555052 via CL 19555055
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19561417 by andrew davidson in ue5-main branch]
2022-03-30 14:37:45 -04:00
Michael Lentine
3c9dfe96d1 Delete PhysX.
#rb Benn.Gallagher
#preflight 62292a4bcc09078bab64d667

[CL 19337868 by Michael Lentine in ue5-main branch]
2022-03-10 12:26:39 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
jeff fisher
28bc3ffa05 UE-91500 Hololens generated mesh work once PIE with TP_HolloensBP Template
-Fixed world mesh with hololens on WMR plugin.  WMR interop writes floats UE side was assuming doubles.  Now we assume floats in the affected buffers.
#rb Steve.Smith
#jira UE-91500
#preflight

#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18811641 in //UE5/Release-5.0/... via CL 18811651 via CL 18822718
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823655 by jeff fisher in ue5-main branch]
2022-02-02 05:56:18 -05:00
jeff fisher
30e56345d0 UE-91500 Hololens generated mesh work once PIE with TP_HolloensBP Template
-Fixing async cooking of collision with chaos.  MockDataMeshTrackerComponent generated geometry can now have functional collision.
-Also improved test level and MockDataMeshTrackerComponent to help test this.
-Added method to cause a navmesh update only if collision has changed.  Fixed a couple cases where navigation would not have generated after a collision change.
#rb Steve.Smith
#jira UE-91500
#preflight

#ROBOMERGE-OWNER: jeff.fisher
#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18799957 in //UE5/Release-5.0/... via CL 18801965 via CL 18802565
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
#ROBOMERGE-CONFLICT from-shelf
#preflight 61f96250a2514ba12f05c24c

[CL 18809960 by jeff fisher in ue5-main branch]
2022-02-01 11:57:55 -05:00